{"version":3,"file":"main.js","mappings":"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IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,EAAE,IAAI,E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;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAAjL;QAAAkL;QAAAC;QAAAC;QAAAC;QAAAC;QAAAC;MAAA;MAAA;IAAA;IAAA;MAAAP;QAAAC;MAAA;MAAA;MAA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","sources":["./projects/borrower-app/src/app/agent-portal/services/agent-portal.service.ts","./projects/borrower-app/src/app/app-routing.module.ts","./projects/borrower-app/src/app/app.component.ts","./projects/borrower-app/src/app/app.component.html","./projects/borrower-app/src/app/app.module.ts","./projects/borrower-app/src/app/auth/existing-user-action-selection-dialog/existing-user-action-selection-dialog.component.ts","./projects/borrower-app/src/app/auth/existing-user-action-selection-dialog/existing-user-action-selection-dialog.component.html","./projects/borrower-app/src/app/auth/forgot-password/forgot-password.component.ts","./projects/borrower-app/src/app/auth/forgot-password/forgot-password.component.html","./projects/borrower-app/src/app/auth/password-reset-email-notice/password-reset-email-notice.component.ts","./projects/borrower-app/src/app/auth/password-reset-email-notice/password-reset-email-notice.component.html","./projects/borrower-app/src/app/auth/password-reset-send-code-dialog/password-reset-send-code-dialog.component.ts","./projects/borrower-app/src/app/auth/password-reset-send-code-dialog/password-reset-send-code-dialog.component.html","./projects/borrower-app/src/app/auth/reset-password-dialog/reset-password-dialog.component.ts","./projects/borrower-app/src/app/auth/reset-password-dialog/reset-password-dialog.component.html","./projects/borrower-app/src/app/auth/reset-password/reset-password.component.ts","./projects/borrower-app/src/app/auth/reset-password/reset-password.component.html","./projects/borrower-app/src/app/borrower-portal-entry/borrower-portal-entry.component.ts","./projects/borrower-app/src/app/borrower-portal/e-consent/e-consent.component.ts","./projects/borrower-app/src/app/borrower-portal/e-consent/e-consent.component.html","./projects/borrower-app/src/app/borrower-portal/e-consent/e-consent.module.ts","./projects/borrower-app/src/app/borrower-portal/services/borrower-portal.service.ts","./projects/borrower-app/src/app/borrower-portal/submit-app-redirect/submit-app-redirect.component.ts","./projects/borrower-app/src/app/check-email-notice/check-email-notice.component.ts","./projects/borrower-app/src/app/check-email-notice/check-email-notice.component.html","./projects/borrower-app/src/app/co-mortgage-application/co-mortgage-application.component.ts","./projects/borrower-app/src/app/wizard/wizard-main/wizard-main.component.html","./projects/borrower-app/src/app/confirm-account/confirm-account.component.ts","./projects/borrower-app/src/app/confirm-account/confirm-account.component.html","./projects/borrower-app/src/app/create-account-external-auth/create-account-external-auth.component.ts","./projects/borrower-app/src/app/create-account-external-auth/create-account-external-auth.component.html","./projects/borrower-app/src/app/error/error.component.ts","./projects/borrower-app/src/app/error/error.component.html","./projects/borrower-app/src/app/external-auth-online-app-redirect/external-auth-online-app-redirect.component.ts","./projects/borrower-app/src/app/flow-editor/create-step/create-step.component.ts","./projects/borrower-app/src/app/flow-editor/create-step/create-step.component.html","./projects/borrower-app/src/app/flow-editor/expression-editor/expression-editor.component.ts","./projects/borrower-app/src/app/flow-editor/expression-editor/expression-editor.component.html","./projects/borrower-app/src/app/flow-editor/expression-next-step-decider-editor/expression-next-step-decider-editor.component.ts","./projects/borrower-app/src/app/flow-editor/expression-next-step-decider-editor/expression-next-step-decider-editor.component.html","./projects/borrower-app/src/app/flow-editor/flow-editor-main-v2/flow-editor-main-v2.component.ts","./projects/borrower-app/src/app/flow-editor/flow-editor-main-v2/flow-editor-main-v2.component.html","./projects/borrower-app/src/app/flow-editor/flow-step-editor/flow-step-editor.component.ts","./projects/borrower-app/src/app/flow-editor/flow-step-editor/flow-step-editor.component.html","./projects/borrower-app/src/app/flow-editor/flow-step-placeholder/flow-step-placeholder.component.ts","./projects/borrower-app/src/app/flow-editor/flow-step-placeholder/flow-step-placeholder.component.html","./projects/borrower-app/src/app/flow-editor/flow-step/flow-step.component.ts","./projects/borrower-app/src/app/flow-editor/flow-step/flow-step.component.html","./projects/borrower-app/src/app/flow-editor/flow-summary/flow-summary.component.ts","./projects/borrower-app/src/app/flow-editor/flow-summary/flow-summary.component.html","./projects/borrower-app/src/app/flow-editor/step-card/step-card.component.ts","./projects/borrower-app/src/app/flow-editor/step-card/step-card.component.html","./projects/borrower-app/src/app/flow-editor/step-group-colors.ts","./projects/borrower-app/src/app/flow-editor/step-preview/step-preview.directive.ts","./projects/borrower-app/src/app/flow-editor/step-selector/step-selector.component.ts","./projects/borrower-app/src/app/flow-editor/step-selector/step-selector.component.html","./projects/borrower-app/src/app/flow-editor/step-type-card/step-type-card.component.ts","./projects/borrower-app/src/app/flow-editor/step-type-card/step-type-card.component.html","./projects/borrower-app/src/app/login/login.component.ts","./projects/borrower-app/src/app/login/login.component.html","./projects/borrower-app/src/app/models/address-history-model.ts","./projects/borrower-app/src/app/models/address-model.ts","./projects/borrower-app/src/app/models/application-context.model.ts","./projects/borrower-app/src/app/models/asset-item-model.ts","./projects/borrower-app/src/app/models/asset.model.ts","./projects/borrower-app/src/app/models/auth/auth-request.model.ts","./projects/borrower-app/src/app/models/auth/login-status.enum.ts","./projects/borrower-app/src/app/models/auth/reset-password-request.model.ts","./projects/borrower-app/src/app/models/auth/reset-password-result.model.ts","./projects/borrower-app/src/app/models/borrower-app-status-details.model.ts","./projects/borrower-app/src/app/models/borrower-app-status.model.ts","./projects/borrower-app/src/app/models/borrower-counseling-event.model.ts","./projects/borrower-app/src/app/models/borrower-credit-scores.model.ts","./projects/borrower-app/src/app/models/borrower-model.ts","./projects/borrower-app/src/app/models/borrower-portal/agent-request-a-call.model.ts","./projects/borrower-app/src/app/models/borrower-portal/application-detail-model.ts","./projects/borrower-app/src/app/models/borrower-portal/application-for-user-model.ts","./projects/borrower-app/src/app/models/borrower-portal/application-task-model.ts","./projects/borrower-app/src/app/models/borrower-portal/application-tasks-model.ts","./projects/borrower-app/src/app/models/borrower-portal/borrower-and-agent-message-model.ts","./projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model.ts","./projects/borrower-app/src/app/models/borrower-portal/portal-content-model-model.ts","./projects/borrower-app/src/app/models/borrower-portal/refer-a-friend-request.model.ts","./projects/borrower-app/src/app/models/borrower-step-status.model.ts","./projects/borrower-app/src/app/models/borrower-verification-order-history.model.ts","./projects/borrower-app/src/app/models/characteristics/borrower-characteristic.model.ts","./projects/borrower-app/src/app/models/characteristics/characteristic-merge-value.model.ts","./projects/borrower-app/src/app/models/characteristics/loan-characteristic.model.ts","./projects/borrower-app/src/app/models/checklists/config/checklist-config.model.ts","./projects/borrower-app/src/app/models/credit-inquiry-details.model.ts","./projects/borrower-app/src/app/models/declarations-model.ts","./projects/borrower-app/src/app/models/demographics-model.ts","./projects/borrower-app/src/app/models/e-sign/document-signing-recipient.model.ts","./projects/borrower-app/src/app/models/employment-model.ts","./projects/borrower-app/src/app/models/enums/asset-type-enum.ts","./projects/borrower-app/src/app/models/enums/category-of-income.enum.ts","./projects/borrower-app/src/app/models/enums/loan-purpose.enum.ts","./projects/borrower-app/src/app/models/enums/marital-status.enum.ts","./projects/borrower-app/src/app/models/enums/residency-basis.enum.ts","./projects/borrower-app/src/app/models/enums/residency-type.enum.ts","./projects/borrower-app/src/app/models/enums/spouse-txn-involvement.enum.ts","./projects/borrower-app/src/app/models/enums/type-of-income.enum.ts","./projects/borrower-app/src/app/models/enums/wizard-group-enum.ts","./projects/borrower-app/src/app/models/error-message.model.ts","./projects/borrower-app/src/app/models/existing-account-login-result.model.ts","./projects/borrower-app/src/app/models/fee/fee-section.enum.ts","./projects/borrower-app/src/app/models/housing-expense.model.ts","./projects/borrower-app/src/app/models/income-item-model.ts","./projects/borrower-app/src/app/models/income-model.ts","./projects/borrower-app/src/app/models/loan-type-model.ts","./projects/borrower-app/src/app/models/mortgage-app.model.ts","./projects/borrower-app/src/app/models/mortgage-term.model.ts","./projects/borrower-app/src/app/models/mortgage.model.ts","./projects/borrower-app/src/app/models/open-signer-view-request.model.ts","./projects/borrower-app/src/app/models/originator.model.ts","./projects/borrower-app/src/app/models/payment-information.model.ts","./projects/borrower-app/src/app/models/pricing/pricing-response.model.ts","./projects/borrower-app/src/app/models/purchase-credit.model.ts","./projects/borrower-app/src/app/models/real-estate-owned-item-model.ts","./projects/borrower-app/src/app/models/residency-address.model.ts","./projects/borrower-app/src/app/models/subject-property.model.ts","./projects/borrower-app/src/app/models/transaction-detail.model.ts","./projects/borrower-app/src/app/models/turbo-insurance/get-quote-request.model.ts","./projects/borrower-app/src/app/models/urla-mortgage.model.ts","./projects/borrower-app/src/app/models/user/user-type.enum.ts","./projects/borrower-app/src/app/models/wizard-flow-context.model.ts","./projects/borrower-app/src/app/models/wizard-flow-customer-preferences.model.ts","./projects/borrower-app/src/app/models/wizard-flow-decision-context.model.ts","./projects/borrower-app/src/app/models/wizard/address-fields.model.ts","./projects/borrower-app/src/app/models/wizard/address-history-step.model.ts","./projects/borrower-app/src/app/models/wizard/address-step.model.ts","./projects/borrower-app/src/app/models/wizard/assets-step.model.ts","./projects/borrower-app/src/app/models/wizard/borrower-characteristics-step.model.ts","./projects/borrower-app/src/app/models/wizard/checklists-step.model.ts","./projects/borrower-app/src/app/models/wizard/config/address-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/checklists-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/context-injector.ts","./projects/borrower-app/src/app/models/wizard/config/context-type.enum.ts","./projects/borrower-app/src/app/models/wizard/config/create-account-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/credit-scores-step.config.model.ts","./projects/borrower-app/src/app/models/wizard/config/demographics-step.config.model.ts","./projects/borrower-app/src/app/models/wizard/config/expression-next-step-decider-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/factories/address-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/assets-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/checklists-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/create-account-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/create-multiple-coborrowers-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/credit-scores-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/demographics-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/digital-assets-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/digital-income-verification-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/expression-next-step-decider.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/gather-lead-source-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/generic-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/income-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/my-info-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/next-step-decider.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/own-rent-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/pricing-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/purchase-credits-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/reo-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/review-application-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/simple-next-step.decider.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/single-choice-question-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/step-config.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/step-factory-base.ts","./projects/borrower-app/src/app/models/wizard/config/factories/step-type-config.factory.ts","./projects/borrower-app/src/app/models/wizard/config/factories/verify-credit-step.factory.ts","./projects/borrower-app/src/app/models/wizard/config/field-config-model.ts","./projects/borrower-app/src/app/models/wizard/config/field-config-utils.ts","./projects/borrower-app/src/app/models/wizard/config/flow-settings.model.ts","./projects/borrower-app/src/app/models/wizard/config/flow-type.enum.ts","./projects/borrower-app/src/app/models/wizard/config/gather-lead-source-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/graph.model.ts","./projects/borrower-app/src/app/models/wizard/config/my-info-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/nav-type.enum.ts","./projects/borrower-app/src/app/models/wizard/config/next-step-decider-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/next-step-decider-type.enum.ts","./projects/borrower-app/src/app/models/wizard/config/node.model.ts","./projects/borrower-app/src/app/models/wizard/config/options-providers/default-property-type-options-provider.ts","./projects/borrower-app/src/app/models/wizard/config/options-providers/loan-purpose-options-provider.ts","./projects/borrower-app/src/app/models/wizard/config/options-providers/loan-purpose-options-providerv2.ts","./projects/borrower-app/src/app/models/wizard/config/options-providers/options-provider.factory.ts","./projects/borrower-app/src/app/models/wizard/config/pricing-step.config.model.ts","./projects/borrower-app/src/app/models/wizard/config/simple-next-step-decider-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/single-choice-question-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/step-config.model.ts","./projects/borrower-app/src/app/models/wizard/config/step-type.config.ts","./projects/borrower-app/src/app/models/wizard/config/step-type.enum.ts","./projects/borrower-app/src/app/models/wizard/config/wizard-flow-config.model.ts","./projects/borrower-app/src/app/models/wizard/configurable-field-host.model.ts","./projects/borrower-app/src/app/models/wizard/consent-authorization-step-model.ts","./projects/borrower-app/src/app/models/wizard/context-bound-step-properties.model.ts","./projects/borrower-app/src/app/models/wizard/create-account-step.model.ts","./projects/borrower-app/src/app/models/wizard/create-multiple-coborrowers-step.model.ts","./projects/borrower-app/src/app/models/wizard/credit-inquiry-step.model.ts","./projects/borrower-app/src/app/models/wizard/credit-scores-step.model.ts","./projects/borrower-app/src/app/models/wizard/current-address-step.model.ts","./projects/borrower-app/src/app/models/wizard/declarations-step.model.ts","./projects/borrower-app/src/app/models/wizard/demographics-step.model.ts","./projects/borrower-app/src/app/models/wizard/digital-assets-step.model.ts","./projects/borrower-app/src/app/models/wizard/digital-income-verification-step.model.ts","./projects/borrower-app/src/app/models/wizard/gather-lead-source-step.model.ts","./projects/borrower-app/src/app/models/wizard/generic-step-config.model.ts","./projects/borrower-app/src/app/models/wizard/hoi-step.model.ts","./projects/borrower-app/src/app/models/wizard/homeownership-education-step.model.ts","./projects/borrower-app/src/app/models/wizard/income-step.model.ts","./projects/borrower-app/src/app/models/wizard/link-liabilities-to-reo-step.model.ts","./projects/borrower-app/src/app/models/wizard/loan-characteristics-step.model.ts","./projects/borrower-app/src/app/models/wizard/military-service-step.model.ts","./projects/borrower-app/src/app/models/wizard/multiborrowers-address-history-step.model.ts","./projects/borrower-app/src/app/models/wizard/my-info-step.model.ts","./projects/borrower-app/src/app/models/wizard/number-of-borrowers-step.model.ts","./projects/borrower-app/src/app/models/wizard/option.model.ts","./projects/borrower-app/src/app/models/wizard/own-rent-step-model.ts","./projects/borrower-app/src/app/models/wizard/pricing-step.model.ts","./projects/borrower-app/src/app/models/wizard/pull-existing-application-step.model.ts","./projects/borrower-app/src/app/models/wizard/purchase-credits-step.model.ts","./projects/borrower-app/src/app/models/wizard/reo-step.model.ts","./projects/borrower-app/src/app/models/wizard/review-application.model.ts","./projects/borrower-app/src/app/models/wizard/review-credit-step.model.ts","./projects/borrower-app/src/app/models/wizard/select-originator-step.model.ts","./projects/borrower-app/src/app/models/wizard/single-choice-question-step.model.ts","./projects/borrower-app/src/app/models/wizard/single-choice-question.model.ts","./projects/borrower-app/src/app/models/wizard/step-expression.model.ts","./projects/borrower-app/src/app/models/wizard/submit-application-step.model.ts","./projects/borrower-app/src/app/models/wizard/type-of-loan-step.model.ts","./projects/borrower-app/src/app/models/wizard/verify-credit-step.model.ts","./projects/borrower-app/src/app/models/wizard/wizard-flow.model.ts","./projects/borrower-app/src/app/models/wizard/wizard-nav-group.model.ts","./projects/borrower-app/src/app/models/wizard/wizard-step-base.model.ts","./projects/borrower-app/src/app/mortgage-application/mortgage-application.component.ts","./projects/borrower-app/src/app/portals-common/about/about.component.ts","./projects/borrower-app/src/app/portals-common/about/about.component.html","./projects/borrower-app/src/app/portals-common/agent-contact-info/agent-contact-info.component.ts","./projects/borrower-app/src/app/portals-common/agent-contact-info/agent-contact-info.component.html","./projects/borrower-app/src/app/portals-common/confirm-e-signer/confirm-e-signer.component.ts","./projects/borrower-app/src/app/portals-common/confirm-e-signer/confirm-e-signer.component.html","./projects/borrower-app/src/app/portals-common/confirm-registration/confirm-registration.component.ts","./projects/borrower-app/src/app/portals-common/digital-assets-verification/digital-assets-verification.component.ts","./projects/borrower-app/src/app/portals-common/digital-assets-verification/digital-assets-verification.component.html","./projects/borrower-app/src/app/portals-common/digital-income-employment-verification/digital-income-employment-verification.component.ts","./projects/borrower-app/src/app/portals-common/digital-income-employment-verification/digital-income-employment-verification.component.html","./projects/borrower-app/src/app/portals-common/e-sign-via-token-confirmation/e-sign-via-token-confirmation.component.ts","./projects/borrower-app/src/app/portals-common/e-sign-via-token-confirmation/e-sign-via-token-confirmation.component.html","./projects/borrower-app/src/app/portals-common/e-sign-via-token/e-sign-via-token.component.ts","./projects/borrower-app/src/app/portals-common/e-sign-via-token/e-sign-via-token.component.html","./projects/borrower-app/src/app/portals-common/e-sign/e-sign.component.ts","./projects/borrower-app/src/app/portals-common/e-sign/e-sign.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/add-documents-to-loan-dialog/add-documents-to-loan-dialog.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/add-documents-to-loan-dialog/add-documents-to-loan-dialog.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/generate-prequal-letter-dialog.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/generate-prequal-letter-dialog.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-additional-options/wizard-additional-options.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-additional-options/wizard-additional-options.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-down-payment/prequal-letter-wizard-down-payment.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-down-payment/prequal-letter-wizard-down-payment.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-get-started/prequal-letter-wizard-get-started.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-get-started/prequal-letter-wizard-get-started.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-property-address/prequal-letter-wizard-property-address.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-property-address/prequal-letter-wizard-property-address.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-purchase-price/prequal-letter-wizard-purchase-price.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-purchase-price/prequal-letter-wizard-purchase-price.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-review-information/prequal-letter-wizard-review-information.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/generate-prequal-letter-dialog/wizard-review-information/prequal-letter-wizard-review-information.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/loan-actions.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/loan-actions.component.html","./projects/borrower-app/src/app/portals-common/loan-actions/mortgage-calculator-dialog/mortgage-calculator-dialog.component.ts","./projects/borrower-app/src/app/portals-common/loan-actions/mortgage-calculator-dialog/mortgage-calculator-dialog.component.html","./projects/borrower-app/src/app/portals-common/loan-borrowers/loan-borrowers.component.ts","./projects/borrower-app/src/app/portals-common/loan-borrowers/loan-borrowers.component.html","./projects/borrower-app/src/app/portals-common/loan-contacts/loan-contacts.component.ts","./projects/borrower-app/src/app/portals-common/loan-contacts/loan-contacts.component.html","./projects/borrower-app/src/app/portals-common/loan-details/loan-details.component.ts","./projects/borrower-app/src/app/portals-common/loan-details/loan-details.component.html","./projects/borrower-app/src/app/portals-common/loan-info/loan-info.component.ts","./projects/borrower-app/src/app/portals-common/loan-info/loan-info.component.html","./projects/borrower-app/src/app/portals-common/loan-messages/loan-messages.component.ts","./projects/borrower-app/src/app/portals-common/loan-messages/loan-messages.component.html","./projects/borrower-app/src/app/portals-common/loans/loans.component.ts","./projects/borrower-app/src/app/portals-common/loans/loans.component.html","./projects/borrower-app/src/app/portals-common/open-from-admin/open-from-admin.component.ts","./projects/borrower-app/src/app/portals-common/open-from-admin/open-from-admin.component.html","./projects/borrower-app/src/app/portals-common/portal-base.component.ts","./projects/borrower-app/src/app/portals-common/portals-common.module.ts","./projects/borrower-app/src/app/portals-common/refer-a-friend/refer-a-friend.component.ts","./projects/borrower-app/src/app/portals-common/refer-a-friend/refer-a-friend.component.html","./projects/borrower-app/src/app/portals-common/request-a-call/borrower-portal-request-a-call.component.ts","./projects/borrower-app/src/app/portals-common/request-a-call/borrower-portal-request-a-call.component.html","./projects/borrower-app/src/app/portals-common/task-information/add-files-to-task-dialog/add-files-to-task-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/add-files-to-task-dialog/add-files-to-task-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/assets-verification-dialog/assets-verification-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/assets-verification-dialog/assets-verification-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/attached-documents-dialog/attached-documents-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/attached-documents-dialog/attached-documents-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/document-locker-table/document-locker-table.component.ts","./projects/borrower-app/src/app/portals-common/task-information/document-locker-table/document-locker-table.component.html","./projects/borrower-app/src/app/portals-common/task-information/e-consent-dialog/e-consent-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/e-consent-dialog/e-consent-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/income-employment-verification-dialog/income-employment-verification-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/income-employment-verification-dialog/income-employment-verification-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/other-tasks-table/other-tasks-table.component.ts","./projects/borrower-app/src/app/portals-common/task-information/other-tasks-table/other-tasks-table.component.html","./projects/borrower-app/src/app/portals-common/task-information/outstanding-table/outstanding-table.component.ts","./projects/borrower-app/src/app/portals-common/task-information/outstanding-table/outstanding-table.component.html","./projects/borrower-app/src/app/portals-common/task-information/payment-info-dialog/payment-info-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/payment-info-dialog/payment-info-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/payment-info-dialog/payment-order-details/payment-order-details.component.ts","./projects/borrower-app/src/app/portals-common/task-information/payment-info-dialog/payment-order-details/payment-order-details.component.html","./projects/borrower-app/src/app/portals-common/task-information/pinned-scenario-card/scenario-card.component.ts","./projects/borrower-app/src/app/portals-common/task-information/pinned-scenario-card/scenario-card.component.html","./projects/borrower-app/src/app/portals-common/task-information/pinned-scenario-card/scenario-taxes-editor/scenario-taxes-editor.component.ts","./projects/borrower-app/src/app/portals-common/task-information/pinned-scenario-card/scenario-taxes-editor/scenario-taxes-editor.component.html","./projects/borrower-app/src/app/portals-common/task-information/scenarios/scenarios.component.ts","./projects/borrower-app/src/app/portals-common/task-information/scenarios/scenarios.component.html","./projects/borrower-app/src/app/portals-common/task-information/task-answer-question-dialog/task-answer-question-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/task-answer-question-dialog/task-answer-question-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/task-borrower-picker-dialog/task-borrower-picker-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/task-borrower-picker-dialog/task-borrower-picker-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/task-information.component.ts","./projects/borrower-app/src/app/portals-common/task-information/task-information.component.html","./projects/borrower-app/src/app/portals-common/task-information/task-not-applicable-dialog/task-not-applicable-dialog.component.ts","./projects/borrower-app/src/app/portals-common/task-information/task-not-applicable-dialog/task-not-applicable-dialog.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-answer-question/tasks-answer-question.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-answer-question/tasks-answer-question.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-assets/tasks-assets.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-assets/tasks-assets.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-hoi/tasks-hoi.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-hoi/tasks-hoi.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-income-employment/tasks-income-employment.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-income-employment/tasks-income-employment.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-normal/tasks-normal.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-normal/tasks-normal.component.html","./projects/borrower-app/src/app/portals-common/task-information/tasks-online-app/tasks-online-app.component.ts","./projects/borrower-app/src/app/portals-common/task-information/tasks-online-app/tasks-online-app.component.html","./projects/borrower-app/src/app/portals-common/task-information/view-document/view-document.component.ts","./projects/borrower-app/src/app/portals-common/task-information/view-document/view-document.component.html","./projects/borrower-app/src/app/registration/registration.component.ts","./projects/borrower-app/src/app/services/admin/checklists.service.ts","./projects/borrower-app/src/app/services/agent.service.ts","./projects/borrower-app/src/app/services/application-context.service.ts","./projects/borrower-app/src/app/services/asset-service.ts","./projects/borrower-app/src/app/services/auth.service.ts","./projects/borrower-app/src/app/services/base-portal.service.ts","./projects/borrower-app/src/app/services/borrower-verification.service.ts","./projects/borrower-app/src/app/services/channel.service.ts","./projects/borrower-app/src/app/services/characteristics.service.ts","./projects/borrower-app/src/app/services/constants.ts","./projects/borrower-app/src/app/services/context-extractor.ts","./projects/borrower-app/src/app/services/credit.service.ts","./projects/borrower-app/src/app/services/data.service.ts","./projects/borrower-app/src/app/services/drawer.service.ts","./projects/borrower-app/src/app/services/enums.service.ts","./projects/borrower-app/src/app/services/file.service.ts","./projects/borrower-app/src/app/services/flow-builder.service.ts","./projects/borrower-app/src/app/services/form-view.provider.ts","./projects/borrower-app/src/app/services/global-config.service.ts","./projects/borrower-app/src/app/services/income-service.ts","./projects/borrower-app/src/app/services/internal-contacts.service.ts","./projects/borrower-app/src/app/services/loan.service.ts","./projects/borrower-app/src/app/services/local-storage.service.ts","./projects/borrower-app/src/app/services/merge-fields.service.ts","./projects/borrower-app/src/app/services/mortgage-application.service.ts","./projects/borrower-app/src/app/services/mortgage-calculations.service.ts","./projects/borrower-app/src/app/services/mortgage.service.ts","./projects/borrower-app/src/app/services/navigation.service.ts","./projects/borrower-app/src/app/services/notification.service.ts","./projects/borrower-app/src/app/services/portal-service.factory.ts","./projects/borrower-app/src/app/services/short-link.service.ts","./projects/borrower-app/src/app/services/timer.service.ts","./projects/borrower-app/src/app/services/turbo-insurance.service.ts","./projects/borrower-app/src/app/services/user.service.ts","./projects/borrower-app/src/app/services/utils.service.ts","./projects/borrower-app/src/app/services/utils.ts","./projects/borrower-app/src/app/services/wizard/browser-navigation-deactivate-guard.ts","./projects/borrower-app/src/app/services/wizard/next-step-decider/expression-next-step.decider.ts","./projects/borrower-app/src/app/services/wizard/next-step-decider/simple-next-step-decider.ts","./projects/borrower-app/src/app/services/wizard/wizard-flow-config-service.base.ts","./projects/borrower-app/src/app/services/wizard/wizard-flow-config.service.ts","./projects/borrower-app/src/app/services/wizard/wizard-flow-service.base.ts","./projects/borrower-app/src/app/services/wizard/wizard-flow.service.ts","./projects/borrower-app/src/app/services/zip-code.service.ts","./projects/borrower-app/src/app/short-link-redirect/short-link-redirect.component.ts","./projects/borrower-app/src/app/terms-and-conditions/terms-and-conditions.component.ts","./projects/borrower-app/src/app/terms-and-conditions/terms-and-conditions.component.html","./projects/borrower-app/src/app/user-account-template/user-account-template.component.ts","./projects/borrower-app/src/app/user-account-template/user-account-template.component.html","./projects/borrower-app/src/app/wizard/abstract-value-accessor.ts","./projects/borrower-app/src/app/wizard/address-history-card/address-history-card.component.ts","./projects/borrower-app/src/app/wizard/address-history-card/address-history-card.component.html","./projects/borrower-app/src/app/wizard/address-history-dialog/address-history-dialog.component.ts","./projects/borrower-app/src/app/wizard/address-history-dialog/address-history-dialog.component.html","./projects/borrower-app/src/app/wizard/address/address.component.ts","./projects/borrower-app/src/app/wizard/address/address.component.html","./projects/borrower-app/src/app/wizard/application-submitted/application-submitted.component.ts","./projects/borrower-app/src/app/wizard/application-submitted/application-submitted.component.html","./projects/borrower-app/src/app/wizard/asset-card/asset-card.component.ts","./projects/borrower-app/src/app/wizard/asset-card/asset-card.component.html","./projects/borrower-app/src/app/wizard/borrower-address-history/borrower-address-history.component.ts","./projects/borrower-app/src/app/wizard/borrower-address-history/borrower-address-history.component.html","./projects/borrower-app/src/app/wizard/borrower-credit-inquiry/borrower-credit-inquiry.component.ts","./projects/borrower-app/src/app/wizard/borrower-credit-inquiry/borrower-credit-inquiry.component.html","./projects/borrower-app/src/app/wizard/borrower-declarations/borrower-declarations.component.ts","./projects/borrower-app/src/app/wizard/borrower-declarations/borrower-declarations.component.html","./projects/borrower-app/src/app/wizard/borrower-demographics/borrower-demographics.component.ts","./projects/borrower-app/src/app/wizard/borrower-demographics/borrower-demographics.component.html","./projects/borrower-app/src/app/wizard/borrower-details/borrower-details.component.ts","./projects/borrower-app/src/app/wizard/borrower-details/borrower-details.component.html","./projects/borrower-app/src/app/wizard/borrower-homeownership-education/borrower-counseling-event/borrower-counseling-event.component.ts","./projects/borrower-app/src/app/wizard/borrower-homeownership-education/borrower-counseling-event/borrower-counseling-event.component.html","./projects/borrower-app/src/app/wizard/borrower-homeownership-education/borrower-homeownership-education.component.ts","./projects/borrower-app/src/app/wizard/borrower-homeownership-education/borrower-homeownership-education.component.html","./projects/borrower-app/src/app/wizard/borrower-income/borrower-income.component.ts","./projects/borrower-app/src/app/wizard/borrower-income/borrower-income.component.html","./projects/borrower-app/src/app/wizard/borrower-info-mini/borrower-info-mini.component.ts","./projects/borrower-app/src/app/wizard/borrower-info-mini/borrower-info-mini.component.html","./projects/borrower-app/src/app/wizard/borrower-info/borrower-info.component.ts","./projects/borrower-app/src/app/wizard/borrower-info/borrower-info.component.html","./projects/borrower-app/src/app/wizard/borrower-military-service/borrower-military-service.component.ts","./projects/borrower-app/src/app/wizard/borrower-military-service/borrower-military-service.component.html","./projects/borrower-app/src/app/wizard/borrower-picker/borrower-picker.component.ts","./projects/borrower-app/src/app/wizard/borrower-picker/borrower-picker.component.html","./projects/borrower-app/src/app/wizard/borrower-summary/borrower-summary.component.ts","./projects/borrower-app/src/app/wizard/borrower-summary/borrower-summary.component.html","./projects/borrower-app/src/app/wizard/characteristics-quantities-dialog/borrower-characteristics.factory.ts","./projects/borrower-app/src/app/wizard/characteristics-quantities-dialog/characteristics-quantities-dialog.component.ts","./projects/borrower-app/src/app/wizard/characteristics-quantities-dialog/characteristics-quantities-dialog.component.html","./projects/borrower-app/src/app/wizard/characteristics-quantities-dialog/loan-characteristic.factory.ts","./projects/borrower-app/src/app/wizard/configurable-field-host.component.ts","./projects/borrower-app/src/app/wizard/credit-check-consent-dialog/credit-check-consent-dialog.component.ts","./projects/borrower-app/src/app/wizard/credit-check-consent-dialog/credit-check-consent-dialog.component.html","./projects/borrower-app/src/app/wizard/credit-score-indicator/credit-score-indicator.component.ts","./projects/borrower-app/src/app/wizard/credit-score-indicator/credit-score-indicator.component.html","./projects/borrower-app/src/app/wizard/dependents/dependents-dialog.component.ts","./projects/borrower-app/src/app/wizard/dependents/dependents-dialog.component.html","./projects/borrower-app/src/app/wizard/employment-history-card/employment-history-card.component.ts","./projects/borrower-app/src/app/wizard/employment-history-card/employment-history-card.component.html","./projects/borrower-app/src/app/wizard/employment-history-dialog/employment-history-dialog.component.ts","./projects/borrower-app/src/app/wizard/employment-history-dialog/employment-history-dialog.component.html","./projects/borrower-app/src/app/wizard/liability-reo/liability-reo.component.ts","./projects/borrower-app/src/app/wizard/liability-reo/liability-reo.component.html","./projects/borrower-app/src/app/wizard/loading-indicator/loading-indicator.component.ts","./projects/borrower-app/src/app/wizard/loading-indicator/loading-indicator.component.html","./projects/borrower-app/src/app/wizard/loan-summary-dialog/loan-summary-dialog.component.ts","./projects/borrower-app/src/app/wizard/loan-summary-dialog/loan-summary-dialog.component.html","./projects/borrower-app/src/app/wizard/loan-summary/loan-summary.component.ts","./projects/borrower-app/src/app/wizard/loan-summary/loan-summary.component.html","./projects/borrower-app/src/app/wizard/military-service-step/military-service-step.component.ts","./projects/borrower-app/src/app/wizard/military-service-step/military-service-step.component.html","./projects/borrower-app/src/app/wizard/personal-info-card/personal-info-card.component.ts","./projects/borrower-app/src/app/wizard/personal-info-card/personal-info-card.component.html","./projects/borrower-app/src/app/wizard/personal-info-dialog/personal-info-dialog.component.ts","./projects/borrower-app/src/app/wizard/personal-info-dialog/personal-info-dialog.component.html","./projects/borrower-app/src/app/wizard/subject-property-summary-dialog/subject-property-summary-dialog.component.ts","./projects/borrower-app/src/app/wizard/subject-property-summary-dialog/subject-property-summary-dialog.component.html","./projects/borrower-app/src/app/wizard/subject-property-summary/subject-property-summary.component.ts","./projects/borrower-app/src/app/wizard/subject-property-summary/subject-property-summary.component.html","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-dialog/turbo-insurance-property-info-editor/turbo-insurance-property-info-editor.component.ts","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-dialog/turbo-insurance-property-info-editor/turbo-insurance-property-info-editor.component.html","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-dialog/turbo-insurance-quote-dialog.component.ts","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-dialog/turbo-insurance-quote-dialog.component.html","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-status-dialog/turbo-insurance-quote-status-dialog.component.ts","./projects/borrower-app/src/app/wizard/turbo-insurance-quote-status-dialog/turbo-insurance-quote-status-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-button-group/wizard-button-group.component.ts","./projects/borrower-app/src/app/wizard/wizard-button-group/wizard-button-group.component.html","./projects/borrower-app/src/app/wizard/wizard-horizontal-nav/wizard-horizontal-nav-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-horizontal-nav/wizard-horizontal-nav.component.ts","./projects/borrower-app/src/app/wizard/wizard-horizontal-nav/wizard-horizontal-nav.component.html","./projects/borrower-app/src/app/wizard/wizard-main/wizard-main-base.component.ts","./projects/borrower-app/src/app/wizard/wizard-navigation/wizard-navigation-base.component.ts","./projects/borrower-app/src/app/wizard/wizard-navigation/wizard-navigation.component.ts","./projects/borrower-app/src/app/wizard/wizard-navigation/wizard-navigation.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/address-history2/address-history2.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/address-history2/address-history2.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/address-history/address-history.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/address-history/address-history.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/address-step/address-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/address-step/address-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/answer-option/answer-option.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/answer-option/answer-option.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/asset-dialog/asset-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/asset-dialog/asset-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/asset-item/asset-item.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/asset-item/asset-item.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/asset-list/asset-list.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/asset-list/asset-list.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/asset-pending-net-sale-proceeds/asset-pending-net-sale-proceeds.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/asset-pending-net-sale-proceeds/asset-pending-net-sale-proceeds.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/assets-step/assets-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/assets-step/assets-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-characteristics-step/borrower-characteristics-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-characteristics-step/borrower-characteristics-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-characteristics-step/characteristics-per-borrower/characteristics-per-borrower.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-characteristics-step/characteristics-per-borrower/characteristics-per-borrower.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-credit-mini/borrower-credit-mini.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-credit-mini/borrower-credit-mini.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-credit-scores/borrower-credit-scores.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-credit-scores/borrower-credit-scores.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-digital-income/borrower-digital-income.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-digital-income/borrower-digital-income.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-review-application/borrower-review-application.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/borrower-review-application/borrower-review-application.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/characteristics-preview-dialog/characteristics-preview-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/characteristics-preview-dialog/characteristics-preview-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/ask-question/ask-question.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/ask-question/ask-question.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/borrower-checklist/borrower-checklists.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/borrower-checklist/borrower-checklists.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/checklist-picker/checklist-picker.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/checklist-picker/checklist-picker.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/checklists-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/checklists-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/coborrowers-address-history/coborrowers-address-history.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/coborrowers-address-history/coborrowers-address-history.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/config/config-save-dialog/flow-config-save-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/config/config-save-dialog/flow-config-save-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/config/field-config-editor/field-config-editor.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/config/field-config-editor/field-config-editor.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/config/flow-list-dialog/flow-list-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/config/flow-list-dialog/flow-list-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/config/my-info-step-editor/my-info-step-editor.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/config/my-info-step-editor/my-info-step-editor.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/consent-authorization-step/consent-authorization-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/consent-authorization-step/consent-authorization-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/create-account-step/create-account-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/create-account-step/create-account-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/create-coborrower-account/create-coborrower-account.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/create-coborrower-account/create-coborrower-account.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/create-multiple-coborrowers/create-multiple-coborrowers-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/create-multiple-coborrowers/create-multiple-coborrowers-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/credit-inquiry-step/credit-inquiry-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/credit-inquiry-step/credit-inquiry-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/credit-scores-step/credit-scores-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/credit-scores-step/credit-scores-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/current-address-history/current-address-history-old.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/current-address-history/current-address-history-old.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/current-address-history/current-address-history.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/current-address-history/current-address-history.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/current-address/current-address.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/current-address/current-address.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/declarations-step/declarations-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/declarations-step/declarations-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/demographics-step/demographics-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/demographics-step/demographics-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/digital-assets-step/digital-assets-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/digital-assets-step/digital-assets-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/digital-income-verification-step/digital-income-verification-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/digital-income-verification-step/digital-income-verification-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/employment-dialog/employment-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/employment-dialog/employment-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/employment-income-dialog/employment-income-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/employment-income-dialog/employment-income-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/file-coborrower-application/file-coborrower-application.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/file-coborrower-application/file-coborrower-application.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/gather-lead-source-step/gather-lead-source-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/gather-lead-source-step/gather-lead-source-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/hoi-step/hoi-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/hoi-step/hoi-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/homeownership-education-step/homeownership-education-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/homeownership-education-step/homeownership-education-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/income-item/income-item.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/income-item/income-item.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/income-step/income-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/income-step/income-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/liabilities-step/liabilities-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/liabilities-step/liabilities-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/liability-editor/liability-editor.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/liability-editor/liability-editor.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/link-liabilities-to-reo-step/link-liabilities-to-reo-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/link-liabilities-to-reo-step/link-liabilities-to-reo-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/loan-characteristics-step/loan-characteristics-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/loan-characteristics-step/loan-characteristics-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/marital-status/marital-status.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/marital-status/marital-status.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/multiborrowers-address-history-step/multiborrowers-address-history-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/multiborrowers-address-history-step/multiborrowers-address-history-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/my-info-step/my-info-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/my-info-step/my-info-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/number-of-borrowers/number-of-borrowers.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/number-of-borrowers/number-of-borrowers.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/originator-info/originator-info.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/originator-info/originator-info.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/own-rent/own-rent.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/own-rent/own-rent.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pre-approval-property-address/pre-approval-property-address.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pre-approval-property-address/pre-approval-property-address.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/benefits/benefits.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/benefits/benefits.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/liability-card/liability-card.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/liability-card/liability-card.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/price-option-card/price-option-card.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/price-option-card/price-option-card.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/price-options-dialog/price-options-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/price-options-dialog/price-options-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/pricing-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/pricing-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/product-price-card/product-price-card.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/product-price-card/product-price-card.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/pull-existing-application-step/pull-existing-application-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/pull-existing-application-step/pull-existing-application-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/purchase-credits-step/purchase-credits-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/purchase-credits-step/purchase-credits-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/purchase-property-address/purchase-property-address.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/purchase-property-address/purchase-property-address.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/reo-dialog/reo-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/reo-dialog/reo-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/reo-expense-breakdown/reo-expense-breakdown.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/reo-expense-breakdown/reo-expense-breakdown.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/reo-item/reo-item.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/reo-item/reo-item.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/reo-properties/reo-properties.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/reo-properties/reo-properties.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/reo-step/reo-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/reo-step/reo-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/review-application-step/review-application-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/review-application-step/review-application-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/review-credit-step/review-credit-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/review-credit-step/review-credit-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/select-originator-step/select-originator-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/select-originator-step/select-originator-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/simple-income-dialog/simple-income-dialog.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/simple-income-dialog/simple-income-dialog.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/simple-message-step/simple-message-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/simple-message-step/simple-message-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/spouse-transaction-involvement/spouse-transaction-involvement.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/spouse-transaction-involvement/spouse-transaction-involvement.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/submit-application-step/submit-application-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/submit-application-step/submit-application-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/type-of-loan-step/type-of-loan-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/type-of-loan-step/type-of-loan-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/verify-credit-step/verify-credit-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/verify-credit-step/verify-credit-step.component.html","./projects/borrower-app/src/app/wizard/wizard-steps/wizard-step-base.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/wizard-step-template/wizard-step-template.component.ts","./projects/borrower-app/src/app/wizard/wizard-steps/wizard-step-template/wizard-step-template.component.html","./projects/borrower-app/src/app/wizard/wizard-vertical-nav/wizard-vertical-nav-step.component.ts","./projects/borrower-app/src/app/wizard/wizard-vertical-nav/wizard-vertical-nav.component.ts","./projects/borrower-app/src/app/wizard/wizard-vertical-nav/wizard-vertical-nav.component.html","./projects/borrower-app/src/app/wizard/wizard.component.ts","./projects/borrower-app/src/app/wizard/wizard.component.html","./projects/borrower-app/src/environments/environment.loda-borrower-portal-pr.ts","./projects/borrower-app/src/main.ts","./projects/shared/abstract-value-accessor.ts","./projects/shared/address-autocomplete/address-autocomplete.component.ts","./projects/shared/address-autocomplete/address-autocomplete.component.html","./projects/shared/alert/alert.component.ts","./projects/shared/alert/alert.component.html","./projects/shared/checkbox-flags/checkbox-flags.component.ts","./projects/shared/checkbox-flags/checkbox-flags.component.html","./projects/shared/currency-input/currency-input.component.ts","./projects/shared/currency-input/currency-input.component.html","./projects/shared/date-picker/date-picker.directive.ts","./projects/shared/directives/numeric.directive.ts","./projects/shared/directives/trim-input.directive.ts","./projects/shared/directives/validators/case-validator.directive.ts","./projects/shared/directives/validators/index.ts","./projects/shared/directives/validators/max-time-validator.directive.ts","./projects/shared/directives/validators/min-time-validator.directive.ts","./projects/shared/directives/validators/min-value-validator.directive.ts","./projects/shared/directives/validators/require-digit-validator.directive.ts","./projects/shared/directives/validators/require-non-alphanumeric-validator.directive.ts","./projects/shared/drawer/drawer.component.ts","./projects/shared/drawer/drawer.component.html","./projects/shared/dynamically-rendered-component/dynamically-rendered.component.ts","./projects/shared/equal-validator.directive.ts","./projects/shared/favicon-loader/favicon-loader.component.ts","./projects/shared/favicon-loader/favicon-loader.component.html","./projects/shared/file-upload/directives/dnd.directive.ts","./projects/shared/file-upload/file-list/file-list.component.ts","./projects/shared/file-upload/file-list/file-list.component.html","./projects/shared/file-upload/file-upload.component.ts","./projects/shared/file-upload/file-upload.component.html","./projects/shared/file-upload/progress/progress.component.ts","./projects/shared/file-upload/progress/progress.component.html","./projects/shared/footer/footer.component.ts","./projects/shared/footer/footer.component.html","./projects/shared/header/header.component.ts","./projects/shared/header/header.component.html","./projects/shared/html-viewer-dialog/html-viewer-dialog.component.ts","./projects/shared/html-viewer-dialog/html-viewer-dialog.component.html","./projects/shared/loan-image/loan-image.component.ts","./projects/shared/loan-image/loan-image.component.html","./projects/shared/logo/logo.component.ts","./projects/shared/logo/logo.component.html","./projects/shared/mentions.utils.ts","./projects/shared/message-editor-with-mentions/message-editor-with-mentions.component.ts","./projects/shared/message-editor-with-mentions/message-editor-with-mentions.component.html","./projects/shared/modal/modal.service.ts","./projects/shared/models/alert-type.enum.ts","./projects/shared/models/alert.model.ts","./projects/shared/models/enumeration-item.model.ts","./projects/shared/models/user-info.model.ts","./projects/shared/multi-checkbox-picker/multi-checkbox-picker.component.ts","./projects/shared/multi-checkbox-picker/multi-checkbox-picker.component.html","./projects/shared/multi-checkbox/multi-checkbox.component.ts","./projects/shared/multi-checkbox/multi-checkbox.component.html","./projects/shared/person-circle-image/person-circle-image.component.ts","./projects/shared/person-circle-image/person-circle-image.component.html","./projects/shared/pipes/date-ago.pipe.ts","./projects/shared/pipes/filter.pipe.ts","./projects/shared/pipes/group-by.pipe.ts","./projects/shared/pipes/months-to-years-and-months.pipe.ts","./projects/shared/pipes/phone.pipe.ts","./projects/shared/pipes/safe-url.pipe.ts","./projects/shared/pipes/shared-html.pipe.ts","./projects/shared/pipes/sort.pipe.ts","./projects/shared/progress-indicator/progress-indicator.component.ts","./projects/shared/progress-indicator/progress-indicator.component.html","./projects/shared/remove-wrapper.directive.ts","./projects/shared/services/alert.service.ts","./projects/shared/services/auth-interceptor.ts","./projects/shared/services/environment.interface.ts","./projects/shared/services/environment.service.ts","./projects/shared/services/http-interceptors.ts","./projects/shared/services/notification.service.ts","./projects/shared/shared.module.ts","./projects/shared/svg-icons.module.ts","./projects/shared/svg-icons/duotone/bank/duotone-bank-svg-icon.component.ts","./projects/shared/svg-icons/duotone/bank/duotone-bank-svg-icon.component.html","./projects/shared/svg-icons/duotone/building/duotone-building-svg-icon.component.ts","./projects/shared/svg-icons/duotone/building/duotone-building-svg-icon.component.html","./projects/shared/svg-icons/duotone/building_/duotone-building2-svg-icon.component.ts","./projects/shared/svg-icons/duotone/building_/duotone-building2-svg-icon.component.html","./projects/shared/svg-icons/duotone/business/briefcase/duotone-briefcase-svg-icon.component.ts","./projects/shared/svg-icons/duotone/clipboard-check/duotone-clipboard-check-svg-icon.component.ts","./projects/shared/svg-icons/duotone/clipboard-check/duotone-clipboard-check-svg-icon.component.html","./projects/shared/svg-icons/duotone/coins/duotone-coins-svg-icon.component.ts","./projects/shared/svg-icons/duotone/coins/duotone-coins-svg-icon.component.html","./projects/shared/svg-icons/duotone/coupon-discount/duotone-coupon-discount-svg-icon.component.ts","./projects/shared/svg-icons/duotone/coupon-discount/duotone-coupon-discount-svg-icon.component.html","./projects/shared/svg-icons/duotone/dollar/duotone-dollar-svg-icon.component.ts","./projects/shared/svg-icons/duotone/dollar/duotone-dollar-svg-icon.component.html","./projects/shared/svg-icons/duotone/done-circle/duotone-done-circle-svg-icon.component.ts","./projects/shared/svg-icons/duotone/envelope/duotone-envelope-svg-icon.component.ts","./projects/shared/svg-icons/duotone/home/duotone-home-svg-icon.component.ts","./projects/shared/svg-icons/duotone/home/duotone-home-svg-icon.component.html","./projects/shared/svg-icons/duotone/mail/duotone-mail-svg-icon.component.ts","./projects/shared/svg-icons/duotone/map-marker/duotone-map-marker-svg-icon.component.ts","./projects/shared/svg-icons/duotone/navigation-left/duotone-navigation-left-svg-icon.component.ts","./projects/shared/svg-icons/duotone/navigation-right/duotone-navigation-right-svg-icon.component.ts","./projects/shared/svg-icons/duotone/navigation-up/duotone-navigation-up-svg-icon.component.ts","./projects/shared/svg-icons/duotone/navigation/duotone-angle-right-svg-icon.component.ts","./projects/shared/svg-icons/duotone/pencil_/duotone-pencil-svg-icon.component.ts","./projects/shared/svg-icons/duotone/safe/duotone-safe-svg-icon.component.ts","./projects/shared/svg-icons/duotone/safe/duotone-safe-svg-icon.component.html","./projects/shared/svg-icons/duotone/shield-check/duotone-shield-check-svg-icon.component.ts","./projects/shared/svg-icons/duotone/shirt/duotone-shirt-svg-icon.component.ts","./projects/shared/svg-icons/duotone/shirt/duotone-shirt-svg-icon.component.html","./projects/shared/svg-icons/duotone/star/duotone-star-svg-icon.component.ts","./projects/shared/svg-icons/duotone/star/duotone-star-svg-icon.component.html","./projects/shared/svg-icons/duotone/tools/duotone-tools-svg-icon.component.ts","./projects/shared/svg-icons/duotone/tools/duotone-tools-svg-icon.component.html","./projects/shared/svg-icons/duotone/trash/duotone-trash-svg-icon.component.ts","./projects/shared/svg-icons/duotone/trash/duotone-trash-svg-icon.component.html","./projects/shared/svg-icons/duotone/wallet/duotone-wallet-svg-icon.component.ts","./projects/shared/svg-icons/duotone/wallet/duotone-wallet-svg-icon.component.html","./projects/shared/svg-icons/duotone/warning-circle/duotone-warning-circle-svg-icon.component.ts","./projects/shared/svg-icons/duotone/write/duotone-write-svg-icon.component.ts","./projects/shared/svg-icons/duotone/write/duotone-write-svg-icon.component.html","./projects/shared/svg-icons/general/clipboard-svg-icon-component.ts","./projects/shared/svg-icons/general/close-x-svg-icon.component.ts","./projects/shared/svg-icons/general/compass.svg-icon.component.ts","./projects/shared/svg-icons/general/laptop-svg-icon.component.ts","./projects/shared/svg-icons/general/navigation-arrow-right-svg-icon.component.ts","./projects/shared/svg-icons/general/user-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/bank/stockholm-bank-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/bank/stockholm-bank-svg-icon.component.html","./projects/shared/svg-icons/stockholm/check/stockholm-check-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/check/stockholm-check-svg-icon.component.html","./projects/shared/svg-icons/stockholm/close/stockholm-close-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/close/stockholm-close-svg-icon.component.html","./projects/shared/svg-icons/stockholm/home-heart/stockholm-home-heart-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/home-heart/stockholm-home-heart-svg-icon.component.html","./projects/shared/svg-icons/stockholm/shield-disabled/stockholm-shield-disabled-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/sun/stockholm-sun-svg-icon.component.ts","./projects/shared/svg-icons/stockholm/sun/stockholm-sun-svg-icon.component.html","./projects/shared/svg-icons/svg-icon-component-factory.ts","./projects/shared/svg-icons/svg-icon-host.directive.ts","./projects/shared/svg-icons/svg-utils.service.ts","./projects/shared/tasks.utils.ts","./projects/shared/utils/diff-checker.ts","./projects/shared/utils/error.utils.ts","./projects/shared/utils/page.utils.ts","ClassicEditor/webpack/universalModuleDefinition"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ContactInfoModel } from \"../../models/borrower-portal/contact-info-model\";\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\n\r\n@Injectable()\r\nexport class AgentPortalService extends BasePortalService {\r\n\r\n protected get baseUrl(): string {\r\n return \"AgentPortal\";\r\n }\r\n\r\n public getContactInfoForApplication(appId: number): Observable {\r\n return this._dataService.get(`api/${this.baseUrl}/GetAgentContactInfoForApplication/${appId}`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ForgotPasswordComponent } from './auth/forgot-password/forgot-password.component';\r\nimport { PasswordResetEmailNoticeComponent } from './auth/password-reset-email-notice/password-reset-email-notice.component';\r\nimport { ResetPasswordComponent } from './auth/reset-password/reset-password.component';\r\nimport { BorrowerPortalEntryComponent } from './borrower-portal-entry/borrower-portal-entry.component';\r\nimport { CheckEmailNoticeComponent } from './check-email-notice/check-email-notice.component';\r\nimport { CoMortgageApplicationComponent } from './co-mortgage-application/co-mortgage-application.component';\r\nimport { ConfirmAccountComponent } from './confirm-account/confirm-account.component';\r\nimport { ErrorComponent } from './error/error.component';\r\nimport { FlowEditorV2Component } from './flow-editor/flow-editor-main-v2/flow-editor-main-v2.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { MortgageApplicationComponent } from './mortgage-application/mortgage-application.component';\r\nimport { ConfirmESignerComponent } from './portals-common/confirm-e-signer/confirm-e-signer.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\nimport { Constants } from './services/constants';\r\nimport { TermsAndConditionsComponent } from './terms-and-conditions/terms-and-conditions.component';\r\nimport { ApplicationSubmittedComponent } from './wizard/application-submitted/application-submitted.component';\r\nimport { ChecklistsStepComponent } from './wizard/wizard-steps/checklists-step/checklists-step.component';\r\nimport { EConsentComponent } from './borrower-portal/e-consent/e-consent.component';\r\nimport { ESignViaTokenComponent } from './portals-common/e-sign-via-token/e-sign-via-token.component';\r\nimport { ESignViaTokenConfirmationComponent } from './portals-common/e-sign-via-token-confirmation/e-sign-via-token-confirmation.component';\r\nimport { ShortLinkRedirectComponent } from './short-link-redirect/short-link-redirect.component';\r\nimport { CreateAccountExtAuthComponent } from './create-account-external-auth/create-account-external-auth.component';\r\nimport { ExternalAuthOnlineAppRedirectComponent } from './external-auth-online-app-redirect/external-auth-online-app-redirect.component';\r\nimport { OpenFromAdminComponent } from './portals-common/open-from-admin/open-from-admin.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'sl/:shortCode', component: ShortLinkRedirectComponent},\r\n { path: 'forgot-password', component: ForgotPasswordComponent },\r\n { path: 'reset-password', component: ResetPasswordComponent },\r\n { path: 'already-submitted', component: ApplicationSubmittedComponent },\r\n { path: 'error', component: ErrorComponent },\r\n { path: 'flow-editor-v2', component: FlowEditorV2Component },\r\n { path: 'checklists', component: ChecklistsStepComponent },\r\n { path: 'check-email-notice', component: CheckEmailNoticeComponent },\r\n { path: 'check-email-password-reset-notice', component: PasswordResetEmailNoticeComponent },\r\n { path: 'confirm-account', component: ConfirmAccountComponent },\r\n { path: 'create-account-ext-auth', component: CreateAccountExtAuthComponent },\r\n { path: 'ext-auth-oap-redirect', component: ExternalAuthOnlineAppRedirectComponent },\r\n { path: 'confirm-registration', component: ConfirmAccountComponent },\r\n { path: 'terms-and-conditions', component: TermsAndConditionsComponent },\r\n { path: 'e-consent', component: EConsentComponent },\r\n { path: 'open-from-admin', component: OpenFromAdminComponent },\r\n { path: 'borrower-portal/esign-via-token', component: ESignViaTokenComponent },\r\n { path: 'borrower-portal/esign-via-token/:loanDocTaskId', component: ESignViaTokenComponent },\r\n { path: 'borrower-portal/esign-confirmation/:token/:taskNumber/:allTasksCount/:orderId', component: ESignViaTokenConfirmationComponent },\r\n { path: 'agent-portal/esign-confirmation/:token', component: ESignViaTokenConfirmationComponent },\r\n { path: 'agent-portal/esign-via-token/:loanDocTaskId', component: ESignViaTokenComponent },\r\n { path: Constants.flowEndpoints.borrowerPortalEntry, component: BorrowerPortalEntryComponent },\r\n {\r\n path: 'register',\r\n component: RegistrationComponent,\r\n children: [\r\n ]\r\n },\r\n {\r\n path: 'apply',\r\n component: MortgageApplicationComponent,\r\n children: [\r\n ]\r\n },\r\n {\r\n path: 'co-apply',\r\n component: CoMortgageApplicationComponent,\r\n children: [\r\n ]\r\n },\r\n {\r\n path: 'borrower-portal',\r\n loadChildren: () => import('./borrower-portal/borrower-portal.module').then((m) => m.BorrowerPortalModule)\r\n },\r\n {\r\n path: 'agent-portal',\r\n loadChildren: () => import('./agent-portal/agent-portal.module').then((m) => m.AgentPortalModule)\r\n },\r\n {\r\n path: 'e-sign-confirmation/:id',\r\n component: ConfirmESignerComponent\r\n },\r\n { path: '', redirectTo: '/login', pathMatch: 'full' },\r\n { path: '**', redirectTo: '/login' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n // imports: [ RouterModule.forRoot(routes, { enableTracing: true }) ],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnDestroy, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Subscription } from 'rxjs/internal/Subscription';\r\nimport { AuthService } from './services/auth.service';\r\nimport { Constants, ThirdPartyTrackingScriptConfig } from './services/constants';\r\nimport { GlobalConfigService } from './services/global-config.service';\r\nimport { NavigationService } from './services/navigation.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { TimerService } from './services/timer.service';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { PortalScope } from './login/login.component';\r\nimport { PageUtils } from 'projects/shared/utils/page.utils';\r\n\r\ndeclare const KTApp: any;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('template', { static: true }) _template: any;\r\n\r\n protected faviconUrl: string = '/assets/images/favicon.ico';\r\n protected companyGuid: string | undefined = undefined;\r\n\r\n private _contextSubscription: Subscription;\r\n private _activatedRouteSubscription: Subscription;\r\n private _timerSubscription: Subscription;\r\n\r\n constructor(private readonly _viewContainerRef: ViewContainerRef,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _configService: GlobalConfigService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _timerService: TimerService,\r\n private readonly _authService: AuthService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _notifyService: NotificationService\r\n ) {\r\n\r\n let autoLogoutTimerName = \"auto-logout-timer\";\r\n\r\n const timer = this._timerService.createTimer(autoLogoutTimerName);\r\n this._timerSubscription = timer.expired.subscribe(() => {\r\n this._authService.logout();\r\n this._navigationService.navigateToLogin();\r\n this._timerService.remove(autoLogoutTimerName);\r\n this._notifyService.showInfo(\"You have been logged out.\", \"Good Bye!\")\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this._viewContainerRef.createEmbeddedView(this._template);\r\n this._configService.getClientIp().subscribe(res => {\r\n localStorage.setItem(Constants.clientIpKey, res ? JSON.stringify(res) : null);\r\n });\r\n this._activatedRouteSubscription = this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n const companyGuid = queryParams.companyGuid;\r\n if (companyGuid) {\r\n if (this._environment.production) {\r\n this.injectThirdPartyTrackingScripts(companyGuid);\r\n }\r\n }\r\n this.companyGuid = companyGuid;\r\n const userScope = this.getUserScope();\r\n PageUtils.fixLayoutMarkerBasedOnScope(userScope);\r\n this.faviconUrl = this._environment.faviconUrl + (companyGuid || '');\r\n this.setPageTitle(userScope);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._contextSubscription?.unsubscribe();\r\n this._timerSubscription?.unsubscribe();\r\n this._activatedRouteSubscription?.unsubscribe();\r\n }\r\n\r\n private setPageTitle = (userScope: PortalScope) => {\r\n if (userScope) {\r\n document.title = userScope == 'Borrower' ? \"Borrower Portal\" : \"Agent Portal\";\r\n }\r\n }\r\n\r\n private injectThirdPartyTrackingScripts = (companyGuid: string) => {\r\n this._configService.getThirPartTrackingCodes(companyGuid).subscribe(codes => {\r\n if (codes.facebookTrackingCode) {\r\n this.injectTrackingCodeScripts(codes.facebookTrackingCode, Constants.thirdPartyTrackingScripts.facebook);\r\n }\r\n if (codes.googleTrackingCode) {\r\n this.injectTrackingCodeScripts(codes.googleTrackingCode, Constants.thirdPartyTrackingScripts.google);\r\n }\r\n if (codes.hubspotTrackingCode) {\r\n this.injectTrackingCodeScripts(codes.hubspotTrackingCode, Constants.thirdPartyTrackingScripts.hubSpot);\r\n }\r\n }, error => {\r\n // swallow\r\n });\r\n }\r\n\r\n private getUserScope = (): PortalScope => {\r\n let userScope = this._environment.scope as PortalScope;\r\n if (!userScope) {\r\n const authData = JSON.parse(localStorage.getItem(Constants.authorization.authorizationDataKey));\r\n if (authData) {\r\n userScope = authData.scope;\r\n }\r\n }\r\n return userScope;\r\n }\r\n\r\n private injectTrackingCodeScripts = (trackingCode: string, trackingScripts: ThirdPartyTrackingScriptConfig) => {\r\n if (trackingScripts.scriptLinks) {\r\n trackingScripts.scriptLinks.forEach(scriptLink => {\r\n const source = scriptLink.source.replace(trackingScripts.key, trackingCode);\r\n this._utilsService.injectJavaScriptAsLink(source, scriptLink.async, scriptLink.defer, scriptLink.id);\r\n });\r\n }\r\n if (trackingScripts.codeScripts) {\r\n trackingScripts.codeScripts.forEach(codeScript => {\r\n const code = codeScript.replace(trackingScripts.key, trackingCode);\r\n this._utilsService.injectJavaScriptAsCode(code);\r\n });\r\n }\r\n if (trackingScripts.noscriptPixelTrackers) {\r\n trackingScripts.noscriptPixelTrackers.forEach(source => {\r\n const noscriptToInject = source.replace(trackingScripts.key, trackingCode);\r\n this._utilsService.injectNoScriptPixelTracker(noscriptToInject);\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 wait...

\r\n
\r\n","import { LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FooterComponent } from 'projects/shared/footer/footer.component';\r\nimport { HeaderComponent } from 'projects/shared/header/header.component';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { WizardNavigationComponent } from './wizard/wizard-navigation/wizard-navigation.component';\r\nimport { WizardComponent } from './wizard/wizard.component';\r\n\r\nimport { AnswerOptionComponent } from './wizard/wizard-steps/answer-option/answer-option.component';\r\nimport { SingleChoiceQuestionStepComponent } from './wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component';\r\n\r\nimport { PreApprovalPropertyAddressComponent } from './wizard/wizard-steps/pre-approval-property-address/pre-approval-property-address.component';\r\nimport { PurchasePropertyAddressComponent } from './wizard/wizard-steps/purchase-property-address/purchase-property-address.component';\r\n\r\nimport { EnumsService } from './services/enums.service';\r\nimport { MortgageApplicationService } from './services/mortgage-application.service';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { NgbActiveModal, NgbCarouselModule, NgbModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { SharedModule } from 'projects/shared/shared.module';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\nimport { BrowserNavigationDeactivateGuard } from './services/wizard/browser-navigation-deactivate-guard';\r\nimport { WizardFlowServiceBase } from './services/wizard/wizard-flow-service.base';\r\nimport { WizardFlowService } from './services/wizard/wizard-flow.service';\r\nimport { AddressComponent } from './wizard/address/address.component';\r\nimport { BorrowerInfoMiniComponent } from './wizard/borrower-info-mini/borrower-info-mini.component';\r\nimport { BorrowerInfoComponent } from './wizard/borrower-info/borrower-info.component';\r\nimport { WizardButtonGroupComponent } from './wizard/wizard-button-group/wizard-button-group.component';\r\nimport { AddressHistoryComponent } from './wizard/wizard-steps/address-history/address-history.component';\r\nimport { AddressStepComponent } from './wizard/wizard-steps/address-step/address-step.component';\r\nimport { CreateAccountStepComponent } from './wizard/wizard-steps/create-account-step/create-account-step.component';\r\nimport { CreateCoborrowerComponent } from './wizard/wizard-steps/create-coborrower-account/create-coborrower-account.component';\r\nimport { CreateMultipleCoBorrowersStepComponent } from './wizard/wizard-steps/create-multiple-coborrowers/create-multiple-coborrowers-step.component';\r\nimport { CurrentAddressHistoryComponent } from './wizard/wizard-steps/current-address-history/current-address-history.component';\r\nimport { CurrentAddressComponent } from './wizard/wizard-steps/current-address/current-address.component';\r\nimport { DeclarationsStepComponent } from './wizard/wizard-steps/declarations-step/declarations-step.component';\r\nimport { EmploymentDialogComponent } from './wizard/wizard-steps/employment-dialog/employment-dialog.component';\r\nimport { FileCoborrowerApplicationComponent } from './wizard/wizard-steps/file-coborrower-application/file-coborrower-application.component';\r\nimport { IncomeItemComponent } from './wizard/wizard-steps/income-item/income-item.component';\r\nimport { IncomeStepComponent } from './wizard/wizard-steps/income-step/income-step.component';\r\nimport { MaritalStatusComponent } from './wizard/wizard-steps/marital-status/marital-status.component';\r\nimport { NumberOfBorrowersComponent } from './wizard/wizard-steps/number-of-borrowers/number-of-borrowers.component';\r\nimport { OwnRentComponent } from './wizard/wizard-steps/own-rent/own-rent.component';\r\nimport { SimpleIncomeDialogComponent } from './wizard/wizard-steps/simple-income-dialog/simple-income-dialog.component';\r\nimport { SimpleMessageStepComponent } from './wizard/wizard-steps/simple-message-step/simple-message-step.component';\r\nimport { SpouseTransactionInvolvementComponent } from './wizard/wizard-steps/spouse-transaction-involvement/spouse-transaction-involvement.component';\r\n\r\nimport { IConfig, NgxMaskModule } from 'ngx-mask';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { DependentsDialogComponent } from './wizard/dependents/dependents-dialog.component';\r\nimport { WizardHorizontalNavComponent } from './wizard/wizard-horizontal-nav/wizard-horizontal-nav.component';\r\nimport { AddressHistory2Component } from './wizard/wizard-steps/address-history2/address-history2.component';\r\nimport { AssetDialogComponent } from './wizard/wizard-steps/asset-dialog/asset-dialog.component';\r\nimport { AssetItemComponent } from './wizard/wizard-steps/asset-item/asset-item.component';\r\nimport { AssetPendingNetSaleProceedsComponent } from './wizard/wizard-steps/asset-pending-net-sale-proceeds/asset-pending-net-sale-proceeds.component';\r\nimport { AssetsStepComponent } from './wizard/wizard-steps/assets-step/assets-step.component';\r\nimport { BorrowerCreditMiniComponent } from './wizard/wizard-steps/borrower-credit-mini/borrower-credit-mini.component';\r\nimport { ConsentAuthorizationStepComponent } from './wizard/wizard-steps/consent-authorization-step/consent-authorization-step.component';\r\nimport { DemographicsStepComponent } from './wizard/wizard-steps/demographics-step/demographics-step.component';\r\nimport { LiabilitiesStepComponent } from './wizard/wizard-steps/liabilities-step/liabilities-step.component';\r\nimport { LiabilityEditorComponent } from './wizard/wizard-steps/liability-editor/liability-editor.component';\r\nimport { MyInfoStepComponent } from './wizard/wizard-steps/my-info-step/my-info-step.component';\r\nimport { RealEstateOwnedDialogComponent } from './wizard/wizard-steps/reo-dialog/reo-dialog.component';\r\nimport { RealEstateOwnedItemComponent } from './wizard/wizard-steps/reo-item/reo-item.component';\r\nimport { RealEstateOwnedStepComponent } from './wizard/wizard-steps/reo-step/reo-step.component';\r\nimport { VerifyCreditStepComponent } from './wizard/wizard-steps/verify-credit-step/verify-credit-step.component';\r\nimport { WizardStepTemplateComponent } from './wizard/wizard-steps/wizard-step-template/wizard-step-template.component';\r\nimport { WizardVerticalNavComponent } from './wizard/wizard-vertical-nav/wizard-vertical-nav.component';\r\n\r\nimport { CheckEmailNoticeComponent } from './check-email-notice/check-email-notice.component';\r\nimport { ConfirmAccountComponent } from './confirm-account/confirm-account.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { MortgageApplicationComponent } from './mortgage-application/mortgage-application.component';\r\nimport { RegistrationComponent } from './registration/registration.component';\r\nimport { AuthService } from './services/auth.service';\r\nimport { DataService } from './services/data.service';\r\nimport { NavigationService } from './services/navigation.service';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { AddressHistoryCardComponent } from './wizard/address-history-card/address-history-card.component';\r\nimport { AssetCardComponent } from './wizard/asset-card/asset-card.component';\r\nimport { BorrowerCreditInquiryComponent } from './wizard/borrower-credit-inquiry/borrower-credit-inquiry.component';\r\nimport { BorrowerDetailsComponent } from './wizard/borrower-details/borrower-details.component';\r\nimport { BorrowerSummaryComponent } from './wizard/borrower-summary/borrower-summary.component';\r\nimport { LiabilityReoComponent } from './wizard/liability-reo/liability-reo.component';\r\nimport { PersonalInfoComponent } from './wizard/personal-info-card/personal-info-card.component';\r\nimport { WizardHorizontalNavStepComponent } from './wizard/wizard-horizontal-nav/wizard-horizontal-nav-step.component';\r\nimport { CreditInquiryStepComponent } from './wizard/wizard-steps/credit-inquiry-step/credit-inquiry-step.component';\r\nimport { ReviewApplicationStepComponent } from './wizard/wizard-steps/review-application-step/review-application-step.component';\r\nimport { ReviewCreditStepComponent } from './wizard/wizard-steps/review-credit-step/review-credit-step.component';\r\nimport { TypeOfLoanStepComponent } from './wizard/wizard-steps/type-of-loan-step/type-of-loan-step.component';\r\nimport { WizardVerticalNavStepComponent } from './wizard/wizard-vertical-nav/wizard-vertical-nav-step.component';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TextInputAutocompleteModule } from 'angular-text-input-autocomplete';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { GroupByPipe } from 'projects/shared/pipes/group-by.pipe';\r\nimport { SvgIconsModule } from 'projects/shared/svg-icons.module';\r\nimport { SvgUtilsService } from 'projects/shared/svg-icons/svg-utils.service';\r\nimport { ExistingUserActionSelectionDialogComponent } from './auth/existing-user-action-selection-dialog/existing-user-action-selection-dialog.component';\r\nimport { ForgotPasswordComponent } from './auth/forgot-password/forgot-password.component';\r\nimport { PasswordResetEmailNoticeComponent } from './auth/password-reset-email-notice/password-reset-email-notice.component';\r\nimport { PasswordResetSendCodeDialogComponent } from './auth/password-reset-send-code-dialog/password-reset-send-code-dialog.component';\r\nimport { ResetPasswordDialogComponent } from './auth/reset-password-dialog/reset-password-dialog.component';\r\nimport { ResetPasswordComponent } from './auth/reset-password/reset-password.component';\r\nimport { BorrowerPortalEntryComponent } from './borrower-portal-entry/borrower-portal-entry.component';\r\nimport { CoMortgageApplicationComponent } from './co-mortgage-application/co-mortgage-application.component';\r\nimport { ErrorComponent } from './error/error.component';\r\nimport { CreateStepComponent } from './flow-editor/create-step/create-step.component';\r\nimport { ExpressionEditorComponent } from './flow-editor/expression-editor/expression-editor.component';\r\nimport { ExpressionNextStepDeciderEditorComponent } from './flow-editor/expression-next-step-decider-editor/expression-next-step-decider-editor.component';\r\nimport { FlowEditorV2Component } from './flow-editor/flow-editor-main-v2/flow-editor-main-v2.component';\r\nimport { FlowStepEditorComponent } from './flow-editor/flow-step-editor/flow-step-editor.component';\r\nimport { FlowStepPlaceholderComponent } from './flow-editor/flow-step-placeholder/flow-step-placeholder.component';\r\nimport { FlowStepComponent } from './flow-editor/flow-step/flow-step.component';\r\nimport { FlowSummaryComponent } from './flow-editor/flow-summary/flow-summary.component';\r\nimport { StepCardComponent } from './flow-editor/step-card/step-card.component';\r\nimport { StepPreviewDirective } from './flow-editor/step-preview/step-preview.directive';\r\nimport { StepSelectorComponent } from './flow-editor/step-selector/step-selector.component';\r\nimport { StepTypeCardComponent } from './flow-editor/step-type-card/step-type-card.component';\r\nimport { AddressStepFactory } from './models/wizard/config/factories/address-step.factory';\r\nimport { ChecklistsStepFactory } from './models/wizard/config/factories/checklists-step.factory';\r\nimport { CreateAccountStepFactory } from './models/wizard/config/factories/create-account-step.factory';\r\nimport { CreditScoresStepFactory } from './models/wizard/config/factories/credit-scores-step.factory';\r\nimport { ExpressionNextStepDeciderFactory } from './models/wizard/config/factories/expression-next-step-decider.factory';\r\nimport { MyInfoStepFactory } from './models/wizard/config/factories/my-info-step.factory';\r\nimport { NextStepDeciderFactory } from './models/wizard/config/factories/next-step-decider.factory';\r\nimport { SimpleNextStepDeciderFactory } from './models/wizard/config/factories/simple-next-step.decider.factory';\r\nimport { SingleChoiceQuestionStepFactory } from './models/wizard/config/factories/single-choice-question-step.factory';\r\nimport { StepConfigFactory } from './models/wizard/config/factories/step-config.factory';\r\nimport { StepTypeConfigFactory } from './models/wizard/config/factories/step-type-config.factory';\r\nimport { ChecklistsService } from './services/admin/checklists.service';\r\nimport { AssetService } from './services/asset-service';\r\nimport { CharacteristicsService } from './services/characteristics.service';\r\nimport { CreditService } from './services/credit.service';\r\nimport { FlowBuilderService } from './services/flow-builder.service';\r\nimport { GlobalConfigService } from './services/global-config.service';\r\nimport { IncomeService } from './services/income-service';\r\nimport { TurboInsuranceService } from './services/turbo-insurance.service';\r\nimport { WizardFlowConfigServiceBase } from './services/wizard/wizard-flow-config-service.base';\r\nimport { WizardFlowConfigService } from './services/wizard/wizard-flow-config.service';\r\nimport { TermsAndConditionsComponent } from './terms-and-conditions/terms-and-conditions.component';\r\nimport { AddressHistoryDialogComponent } from './wizard/address-history-dialog/address-history-dialog.component';\r\nimport { ApplicationSubmittedComponent } from './wizard/application-submitted/application-submitted.component';\r\nimport { BorrowerAddressHistoryComponent } from './wizard/borrower-address-history/borrower-address-history.component';\r\nimport { BorrowerDeclarationsComponent } from './wizard/borrower-declarations/borrower-declarations.component';\r\nimport { BorrowerDemographicsComponent } from './wizard/borrower-demographics/borrower-demographics.component';\r\nimport { BorrowerIncomeComponent } from './wizard/borrower-income/borrower-income.component';\r\nimport { BorrowerMilitaryServiceComponent } from './wizard/borrower-military-service/borrower-military-service.component';\r\nimport { BorrowerPicker } from './wizard/borrower-picker/borrower-picker.component';\r\nimport { CharacteristicsQuantitiesDialogComponent } from './wizard/characteristics-quantities-dialog/characteristics-quantities-dialog.component';\r\nimport { CreditCheckConsentDialogComponent } from './wizard/credit-check-consent-dialog/credit-check-consent-dialog.component';\r\nimport { CreditScoreIndicatorComponent } from './wizard/credit-score-indicator/credit-score-indicator.component';\r\nimport { EmploymentHistoryCardComponent } from './wizard/employment-history-card/employment-history-card.component';\r\nimport { EmploymentHistoryDialogComponent } from './wizard/employment-history-dialog/employment-history-dialog.component';\r\nimport { LoanSummaryDialogComponent } from './wizard/loan-summary-dialog/loan-summary-dialog.component';\r\nimport { LoanSummaryComponent } from './wizard/loan-summary/loan-summary.component';\r\nimport { MilitaryServiceStepComponent } from './wizard/military-service-step/military-service-step.component';\r\nimport { PersonalInfoDialogComponent } from './wizard/personal-info-dialog/personal-info-dialog.component';\r\nimport { SubjectPropertySummaryDialogComponent } from './wizard/subject-property-summary-dialog/subject-property-summary-dialog.component';\r\nimport { SubjectPropertySummaryComponent } from './wizard/subject-property-summary/subject-property-summary.component';\r\nimport { TurboInsurancePropertyInfoEditorComponent } from './wizard/turbo-insurance-quote-dialog/turbo-insurance-property-info-editor/turbo-insurance-property-info-editor.component';\r\nimport { TurboInsuranceQuoteDialogComponent } from './wizard/turbo-insurance-quote-dialog/turbo-insurance-quote-dialog.component';\r\nimport { TurboInsuranceQuoteStatusDialogComponent } from \"./wizard/turbo-insurance-quote-status-dialog/turbo-insurance-quote-status-dialog.component\";\r\nimport { AssetListComponent } from './wizard/wizard-steps/asset-list/asset-list.component';\r\nimport { BorrowerCharacteristicsStepComponent } from './wizard/wizard-steps/borrower-characteristics-step/borrower-characteristics-step.component';\r\nimport { CharacteristicsPerBorrowerComponent } from './wizard/wizard-steps/borrower-characteristics-step/characteristics-per-borrower/characteristics-per-borrower.component';\r\nimport { BorrowerCreditScoresComponent } from './wizard/wizard-steps/borrower-credit-scores/borrower-credit-scores.component';\r\nimport { BorrowerDigitalIncomeComponent } from './wizard/wizard-steps/borrower-digital-income/borrower-digital-income.component';\r\nimport { BorrowerReviewApplicationComponent } from './wizard/wizard-steps/borrower-review-application/borrower-review-application.component';\r\nimport { CharacteristicsPreviewDialogComponent } from './wizard/wizard-steps/characteristics-preview-dialog/characteristics-preview-dialog.component';\r\nimport { AskQuestionComponent } from './wizard/wizard-steps/checklists-step/ask-question/ask-question.component';\r\nimport { BorrowerChecklistsComponent } from './wizard/wizard-steps/checklists-step/borrower-checklist/borrower-checklists.component';\r\nimport { ChecklistPickerComponent } from './wizard/wizard-steps/checklists-step/checklist-picker/checklist-picker.component';\r\nimport { ChecklistsStepComponent } from './wizard/wizard-steps/checklists-step/checklists-step.component';\r\nimport { CoborrowersAdressHistoryComponent } from './wizard/wizard-steps/coborrowers-address-history/coborrowers-address-history.component';\r\nimport { FlowConfigSaveDialogComponent } from './wizard/wizard-steps/config/config-save-dialog/flow-config-save-dialog.component';\r\nimport { FieldConfigEditorComponent } from './wizard/wizard-steps/config/field-config-editor/field-config-editor.component';\r\nimport { FlowListDialogComponent } from './wizard/wizard-steps/config/flow-list-dialog/flow-list-dialog.component';\r\nimport { MyInfoStepEditorComponent } from './wizard/wizard-steps/config/my-info-step-editor/my-info-step-editor.component';\r\nimport { CreditScoresStepComponent } from './wizard/wizard-steps/credit-scores-step/credit-scores-step.component';\r\nimport { CurrentAddressHistoryComponentOld } from './wizard/wizard-steps/current-address-history/current-address-history-old.component';\r\nimport { DigitalAssetsStepComponent } from './wizard/wizard-steps/digital-assets-step/digital-assets-step.component';\r\nimport { DigitalIncomeVerificationStepComponent } from './wizard/wizard-steps/digital-income-verification-step/digital-income-verification-step.component';\r\nimport { HoiStepComponent } from './wizard/wizard-steps/hoi-step/hoi-step.component';\r\nimport { LoanCharacteristicsStepComponent } from './wizard/wizard-steps/loan-characteristics-step/loan-characteristics-step.component';\r\nimport { MultiBorrowersAddressHistoryComponent } from './wizard/wizard-steps/multiborrowers-address-history-step/multiborrowers-address-history-step.component';\r\nimport { OriginatorInfoComponent } from './wizard/wizard-steps/originator-info/originator-info.component';\r\nimport { PurchaseCreditsStepComponent } from './wizard/wizard-steps/purchase-credits-step/purchase-credits-step.component';\r\nimport { ReoPropertiesComponent } from './wizard/wizard-steps/reo-properties/reo-properties.component';\r\nimport { SelectOriginatorStepComponent } from './wizard/wizard-steps/select-originator-step/select-originator-step.component';\r\nimport { SubmitApplicationStepComponent } from './wizard/wizard-steps/submit-application-step/submit-application-step.component';\r\n\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { FaviconLoaderComponent } from 'projects/shared/favicon-loader/favicon-loader.component';\r\nimport { MonthsToYearsAndMonthsPipe } from 'projects/shared/pipes/months-to-years-and-months.pipe';\r\nimport { httpInterceptorProviders } from 'projects/shared/services/http-interceptors';\r\nimport { EConsentModule } from './borrower-portal/e-consent/e-consent.module';\r\nimport { SubmitAppRedirectComponent } from './borrower-portal/submit-app-redirect/submit-app-redirect.component';\r\nimport { CreateAccountExtAuthComponent } from './create-account-external-auth/create-account-external-auth.component';\r\nimport { ExternalAuthOnlineAppRedirectComponent } from './external-auth-online-app-redirect/external-auth-online-app-redirect.component';\r\nimport { AssetsStepFactory } from './models/wizard/config/factories/assets-step.factory';\r\nimport { DemographicsStepFactory } from './models/wizard/config/factories/demographics-step.factory';\r\nimport { GatherLeadSourceStepFactory } from './models/wizard/config/factories/gather-lead-source-step.factory';\r\nimport { IncomeStepFactory } from './models/wizard/config/factories/income-step.factory';\r\nimport { OwnRentStepFactory } from './models/wizard/config/factories/own-rent-step.factory';\r\nimport { PricingStepFactory } from './models/wizard/config/factories/pricing-step.factory';\r\nimport { PurchaseCreditsStepFactory } from './models/wizard/config/factories/purchase-credits-step.factory';\r\nimport { ReoStepFactory } from './models/wizard/config/factories/reo-step.factory';\r\nimport { ReviewApplicationStepFactory } from './models/wizard/config/factories/review-application-step.factory';\r\nimport { VerifyCreditStepFactory } from './models/wizard/config/factories/verify-credit-step.factory';\r\nimport { LoanPurposeOptionsProvider } from './models/wizard/config/options-providers/loan-purpose-options-provider';\r\nimport { LoanPurposeOptionsProviderV2 } from './models/wizard/config/options-providers/loan-purpose-options-providerv2';\r\nimport { OptionsProviderFactory } from './models/wizard/config/options-providers/options-provider.factory';\r\nimport { PortalsCommonModule } from './portals-common/portals-common.module';\r\nimport { AgentService } from './services/agent.service';\r\nimport { ChannelService } from './services/channel.service';\r\nimport { DrawerService } from './services/drawer.service';\r\nimport { InternalContactsService } from './services/internal-contacts.service';\r\nimport { LoanService } from './services/loan.service';\r\nimport { LocalStorageService } from './services/local-storage.service';\r\nimport { MergeFieldsService } from './services/merge-fields.service';\r\nimport { MortgageService } from './services/mortgage.service';\r\nimport { NotificationService } from './services/notification.service';\r\nimport { PortalServiceFactory } from './services/portal-service.factory';\r\nimport { UserService } from './services/user.service';\r\nimport { ZipCodeService } from './services/zip-code.service';\r\nimport { ShortLinkRedirectComponent } from './short-link-redirect/short-link-redirect.component';\r\nimport { BorrowerCounselingEventComponent } from './wizard/borrower-homeownership-education/borrower-counseling-event/borrower-counseling-event.component';\r\nimport { BorrowerHomeownershipEducationComponent } from './wizard/borrower-homeownership-education/borrower-homeownership-education.component';\r\nimport { GatherLeadSourceStepComponent } from './wizard/wizard-steps/gather-lead-source-step/gather-lead-source-step.component';\r\nimport { HomeownershipEducationStepComponent } from './wizard/wizard-steps/homeownership-education-step/homeownership-education-step.component';\r\nimport { LinkLiabilitiesToReoStepComponent } from './wizard/wizard-steps/link-liabilities-to-reo-step/link-liabilities-to-reo-step.component';\r\nimport { BenefitsComponent } from './wizard/wizard-steps/pricing-step/benefits/benefits.component';\r\nimport { LiabilityCardComponent } from './wizard/wizard-steps/pricing-step/liability-card/liability-card.component';\r\nimport { PriceOptionCardComponent } from './wizard/wizard-steps/pricing-step/price-option-card/price-option-card.component';\r\nimport { PriceOptionsDialogComponent } from './wizard/wizard-steps/pricing-step/price-options-dialog/price-options-dialog.component';\r\nimport { PricingStepComponent } from './wizard/wizard-steps/pricing-step/pricing-step.component';\r\nimport { ProductPriceCardComponent } from './wizard/wizard-steps/pricing-step/product-price-card/product-price-card.component';\r\nimport { PullExistingApplicationStepComponent } from './wizard/wizard-steps/pull-existing-application-step/pull-existing-application-step.component';\r\nimport { DigitalAssetsStepFactory } from './models/wizard/config/factories/digital-assets-step.factory';\r\nimport { DigitalIncomeVerificationStepFactory } from './models/wizard/config/factories/digital-income-verification-step.factory';\r\nimport { BorrowerVerificationService } from './services/borrower-verification.service';\r\nimport { EmploymentIncomeDialogComponent } from './wizard/wizard-steps/employment-income-dialog/employment-income-dialog.component';\r\nimport { DefaultPropertyTypeOptionsProvider } from './models/wizard/config/options-providers/default-property-type-options-provider';\r\nimport { CreateMultipleCoBorrowersStepFactory } from './models/wizard/config/factories/create-multiple-coborrowers-step.factory';\r\nimport { OpenFromAdminComponent } from './portals-common/open-from-admin/open-from-admin.component';\r\nimport { ReoExpenseBreakdownComponent } from './wizard/wizard-steps/reo-expense-breakdown/reo-expense-breakdown.component';\r\n\r\nexport const options: Partial | (() => Partial) | null = null;\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n FooterComponent,\r\n HeaderComponent,\r\n WizardComponent,\r\n WizardNavigationComponent,\r\n WizardButtonGroupComponent,\r\n\r\n SingleChoiceQuestionStepComponent,\r\n SimpleMessageStepComponent,\r\n AnswerOptionComponent,\r\n AddressStepComponent,\r\n //AddressAutocompleteComponent,\r\n AddressComponent,\r\n\r\n PreApprovalPropertyAddressComponent,\r\n PurchasePropertyAddressComponent,\r\n\r\n MaritalStatusComponent,\r\n SpouseTransactionInvolvementComponent,\r\n NumberOfBorrowersComponent,\r\n CreateAccountStepComponent,\r\n FileCoborrowerApplicationComponent,\r\n BorrowerInfoComponent,\r\n BorrowerInfoMiniComponent,\r\n BorrowerDeclarationsComponent,\r\n BorrowerHomeownershipEducationComponent,\r\n CreateCoborrowerComponent,\r\n CreateMultipleCoBorrowersStepComponent,\r\n CoborrowersAdressHistoryComponent,\r\n CurrentAddressComponent,\r\n AddressComponent,\r\n OwnRentComponent,\r\n DeclarationsStepComponent,\r\n DemographicsStepComponent,\r\n LoanCharacteristicsStepComponent,\r\n BorrowerCharacteristicsStepComponent,\r\n CharacteristicsPerBorrowerComponent,\r\n CharacteristicsPreviewDialogComponent,\r\n ConsentAuthorizationStepComponent,\r\n CurrentAddressHistoryComponent,\r\n CurrentAddressHistoryComponentOld,\r\n AddressHistoryComponent,\r\n AddressHistory2Component,\r\n MultiBorrowersAddressHistoryComponent,\r\n IncomeStepComponent,\r\n AssetsStepComponent,\r\n AssetItemComponent,\r\n RealEstateOwnedStepComponent,\r\n RealEstateOwnedDialogComponent,\r\n ReoExpenseBreakdownComponent,\r\n RealEstateOwnedItemComponent,\r\n ReoPropertiesComponent,\r\n EmploymentDialogComponent,\r\n MyInfoStepComponent,\r\n DependentsDialogComponent,\r\n LiabilitiesStepComponent,\r\n WizardStepTemplateComponent,\r\n LiabilityEditorComponent,\r\n BorrowerCreditMiniComponent,\r\n AssetDialogComponent,\r\n AssetListComponent,\r\n AssetPendingNetSaleProceedsComponent,\r\n IncomeItemComponent,\r\n SimpleIncomeDialogComponent,\r\n SvgIconHostDirective,\r\n LiabilityReoComponent,\r\n CreditInquiryStepComponent,\r\n BorrowerCreditInquiryComponent,\r\n TypeOfLoanStepComponent,\r\n PricingStepComponent,\r\n PullExistingApplicationStepComponent,\r\n ReviewApplicationStepComponent,\r\n PersonalInfoComponent,\r\n AddressHistoryCardComponent,\r\n AssetCardComponent,\r\n EmploymentHistoryCardComponent,\r\n PersonalInfoDialogComponent,\r\n LoanSummaryDialogComponent,\r\n SubjectPropertySummaryDialogComponent,\r\n AddressHistoryDialogComponent,\r\n SubmitApplicationStepComponent,\r\n EmploymentHistoryDialogComponent,\r\n DigitalAssetsStepComponent,\r\n BorrowerReviewApplicationComponent,\r\n CreditScoresStepComponent,\r\n BorrowerCreditScoresComponent,\r\n CreditScoreIndicatorComponent,\r\n DigitalIncomeVerificationStepComponent,\r\n BorrowerDigitalIncomeComponent,\r\n SelectOriginatorStepComponent,\r\n OriginatorInfoComponent,\r\n\r\n WizardHorizontalNavComponent,\r\n WizardVerticalNavComponent,\r\n WizardVerticalNavStepComponent,\r\n WizardHorizontalNavStepComponent,\r\n\r\n VerifyCreditStepComponent,\r\n ReviewCreditStepComponent,\r\n\r\n ConfirmAccountComponent,\r\n CreateAccountExtAuthComponent,\r\n ExternalAuthOnlineAppRedirectComponent,\r\n CheckEmailNoticeComponent,\r\n LoginComponent,\r\n RegistrationComponent,\r\n MortgageApplicationComponent,\r\n CoMortgageApplicationComponent,\r\n BorrowerDetailsComponent,\r\n BorrowerSummaryComponent,\r\n LoanSummaryComponent,\r\n SubjectPropertySummaryComponent,\r\n BorrowerAddressHistoryComponent,\r\n CreditCheckConsentDialogComponent,\r\n BorrowerDemographicsComponent,\r\n MilitaryServiceStepComponent,\r\n HoiStepComponent,\r\n HomeownershipEducationStepComponent,\r\n PurchaseCreditsStepComponent,\r\n TurboInsuranceQuoteDialogComponent,\r\n TurboInsurancePropertyInfoEditorComponent,\r\n\r\n BorrowerIncomeComponent,\r\n EmploymentIncomeDialogComponent,\r\n BorrowerPicker,\r\n BorrowerMilitaryServiceComponent,\r\n\r\n MyInfoStepEditorComponent,\r\n\r\n FlowConfigSaveDialogComponent,\r\n FlowListDialogComponent,\r\n\r\n ApplicationSubmittedComponent,\r\n\r\n FlowEditorV2Component,\r\n FlowSummaryComponent,\r\n FlowStepComponent,\r\n FlowStepPlaceholderComponent,\r\n StepTypeCardComponent,\r\n StepCardComponent,\r\n StepSelectorComponent,\r\n FlowStepEditorComponent,\r\n CreateStepComponent,\r\n ExpressionNextStepDeciderEditorComponent,\r\n\r\n ErrorComponent,\r\n BorrowerPortalEntryComponent,\r\n FieldConfigEditorComponent,\r\n\r\n TermsAndConditionsComponent,\r\n ExpressionEditorComponent,\r\n StepPreviewDirective,\r\n ExistingUserActionSelectionDialogComponent,\r\n ResetPasswordDialogComponent,\r\n PasswordResetSendCodeDialogComponent,\r\n CharacteristicsQuantitiesDialogComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n PasswordResetEmailNoticeComponent,\r\n TurboInsuranceQuoteStatusDialogComponent,\r\n ChecklistsStepComponent,\r\n ChecklistPickerComponent,\r\n AskQuestionComponent,\r\n BorrowerChecklistsComponent,\r\n GatherLeadSourceStepComponent,\r\n GroupByPipe,\r\n ProductPriceCardComponent,\r\n PriceOptionsDialogComponent,\r\n PriceOptionCardComponent,\r\n LinkLiabilitiesToReoStepComponent,\r\n LiabilityCardComponent,\r\n FaviconLoaderComponent,\r\n BenefitsComponent,\r\n SubmitAppRedirectComponent,\r\n OpenFromAdminComponent,\r\n ShortLinkRedirectComponent,\r\n BorrowerCounselingEventComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n AppRoutingModule,\r\n NgbModule,\r\n NgbCarouselModule,\r\n NgbPopoverModule,\r\n FormsModule,\r\n NgxMaskModule.forRoot(),\r\n SharedModule,\r\n SvgIconsModule,\r\n TextInputAutocompleteModule,\r\n NgxSpinnerModule,\r\n NgSelectModule,\r\n EConsentModule,\r\n SliderModule,\r\n OverlayPanelModule,\r\n DropdownModule,\r\n PortalsCommonModule\r\n ],\r\n providers: [\r\n { provide: LocationStrategy, useClass: PathLocationStrategy },\r\n EnumsService,\r\n MortgageApplicationService,\r\n SvgIconComponentFactory,\r\n //WizardFlowService,\r\n { provide: WizardFlowConfigServiceBase, useClass: WizardFlowConfigService },\r\n { provide: WizardFlowServiceBase, useClass: WizardFlowService },\r\n NgbActiveModal,\r\n ModalService,\r\n BrowserNavigationDeactivateGuard,\r\n EnvironmentService,\r\n UtilsService,\r\n AuthService,\r\n DataService,\r\n NavigationService,\r\n AssetService,\r\n BorrowerVerificationService,\r\n CreditService,\r\n SimpleNextStepDeciderFactory,\r\n ExpressionNextStepDeciderFactory,\r\n NextStepDeciderFactory,\r\n SingleChoiceQuestionStepFactory,\r\n AddressStepFactory,\r\n CreateAccountStepFactory,\r\n CreditScoresStepFactory,\r\n ChecklistsStepFactory,\r\n MyInfoStepFactory,\r\n VerifyCreditStepFactory,\r\n DemographicsStepFactory,\r\n IncomeStepFactory,\r\n AssetsStepFactory,\r\n ReoStepFactory,\r\n ReviewApplicationStepFactory,\r\n PricingStepFactory,\r\n OwnRentStepFactory,\r\n PurchaseCreditsStepFactory,\r\n CreateMultipleCoBorrowersStepFactory,\r\n GatherLeadSourceStepFactory,\r\n DigitalAssetsStepFactory,\r\n DigitalIncomeVerificationStepFactory,\r\n WizardFlowConfigService,\r\n IncomeService,\r\n SvgUtilsService,\r\n StepConfigFactory,\r\n StepTypeConfigFactory,\r\n CharacteristicsService,\r\n GlobalConfigService,\r\n FlowBuilderService,\r\n TurboInsuranceService,\r\n ChecklistsService,\r\n LocalStorageService,\r\n NotificationService,\r\n MergeFieldsService,\r\n AgentService,\r\n LoanService,\r\n UserService,\r\n ZipCodeService,\r\n MortgageService,\r\n ChannelService,\r\n InternalContactsService,\r\n httpInterceptorProviders,\r\n { provide: Window, useValue: window },\r\n DrawerService,\r\n MonthsToYearsAndMonthsPipe,\r\n PortalServiceFactory,\r\n OptionsProviderFactory,\r\n LoanPurposeOptionsProvider,\r\n DefaultPropertyTypeOptionsProvider,\r\n LoanPurposeOptionsProviderV2\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppModule { }\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CreateBorrowerAccountMortgageRequest } from '../../models/create-borrower-account-mortgage-request.model';\r\nimport { CreateApplicationResponse } from '../../models/create-application-response.model';\r\nimport { ExistingAccountLoginResult } from '../../models/existing-account-login-result.model';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { AuthenticationRequest } from '../../models/auth/auth-request.model';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { LoginStatus } from '../../models/auth/login-status.enum';\r\n\r\n@Component({\r\n selector: 'existing-user-action-selection-dialog',\r\n templateUrl: 'existing-user-action-selection-dialog.component.html',\r\n styleUrls: ['existing-user-action-selection-dialog.component.scss']\r\n})\r\nexport class ExistingUserActionSelectionDialogComponent implements OnInit {\r\n\r\n @ViewChild('loginForm') loginForm: NgForm | undefined;\r\n\r\n @Input()\r\n userName: string | undefined;\r\n\r\n @Input()\r\n createApplicationRequest: CreateBorrowerAccountMortgageRequest | undefined;\r\n\r\n password: string | undefined;\r\n\r\n errorMessage: string | undefined;\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n loginButtonText: string = \"Login\";\r\n\r\n protected applyingForANewLoan: boolean = false;\r\n\r\n private _result: ExistingAccountLoginResult = new ExistingAccountLoginResult();\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _authService: AuthService,\r\n private readonly _spinner: NgxSpinnerService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.password = this.createApplicationRequest.password;\r\n }\r\n\r\n onLoginClicked = () => {\r\n this.loginForm?.form.markAllAsTouched();\r\n if (this.loginForm?.form.valid && this.createApplicationRequest) {\r\n if (this.applyingForANewLoan) {\r\n this.loginAndCreateBrandNewApplication();\r\n } else {\r\n this.loginAndGotoBorrowerPortal();\r\n }\r\n }\r\n }\r\n\r\n private loginAndCreateBrandNewApplication = () => {\r\n this.createApplicationRequest.password = this.password;\r\n this.toggleProgress(true);\r\n this._mortgageApplicationService.saveLoanApplication(this.createApplicationRequest).subscribe((response: CreateApplicationResponse) => {\r\n if (response.authToken) {\r\n this._result.authToken = response.authToken;\r\n this._result.appId = response.applicationId;\r\n this.activeModal.close(this._result);\r\n } else {\r\n this.errorMessage = \"Either your user name or your password is incorrect.\";\r\n this.createApplicationRequest.password = null;\r\n }\r\n }, error => {\r\n this.errorMessage = \"Not able to log you in at this time.\";\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n private loginAndGotoBorrowerPortal = () => {\r\n const loginRequest: AuthenticationRequest = {\r\n companyGuid: this.createApplicationRequest.companyGuid,\r\n username: this.userName,\r\n password: this.password,\r\n rememberMe: false,\r\n scope: 'Borrower'\r\n }\r\n this.toggleProgress(true);\r\n this._authService.signIn(loginRequest).subscribe(response => {\r\n this.toggleProgress(false);\r\n if (response.loginStatus === LoginStatus.Error) {\r\n this.errorMessage = response.errorMessage;\r\n this.createApplicationRequest.password = null;\r\n return;\r\n }\r\n this.activeModal.close();\r\n this._navigationService.navigateToPath(\"borrower-portal\", true);\r\n }, error => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n onForgotPasswordClicked = () => {\r\n this._result.applyingForANewLoan = this.applyingForANewLoan;\r\n this._result.authToken = undefined;\r\n this._result.userForgotPassword = true;\r\n this.activeModal.close(this._result);\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.loginButtonText = \"Please wait...\";\r\n } else {\r\n this.loginButtonText = \"Login\";\r\n }\r\n }\r\n}\r\n","
\r\n\r\n

Existing Account

\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 It appears you already have an account with us with the user name {{userName}}.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n You also configured a new loan up to here. Are you sure that's your intention, or do you have an existing loan that you'd like to manage?\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 Forgot\r\n Password?\r\n
\r\n \r\n
Please enter your password.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthenticationUserCompany } from '../../models/auth/auth-response.model';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'forgot-password',\r\n templateUrl: 'forgot-password.component.html'\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n\r\n @ViewChild('forgotPasswordForm') forgotPasswordForm: NgForm | undefined;\r\n\r\n possibleLogoUrls: string[] = [];\r\n availableCompanies: AuthenticationUserCompany[] = [];\r\n\r\n errorMessage: string | null = null;\r\n\r\n email: string = \"\";\r\n userCompanyGuid: string = \"\";\r\n\r\n sendResetLinkButtonText: string = \"Send Reset Link\";\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n userScope: string = null;\r\n\r\n constructor(\r\n private readonly _navigationService: NavigationService,\r\n private readonly _authService: AuthService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _activatedRoute: ActivatedRoute\r\n ) {\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n }\r\n\r\n ngOnInit() {\r\n let userScopeFromPath = null;\r\n if (this._activatedRoute.routeConfig && this._activatedRoute.routeConfig.data && this._activatedRoute.routeConfig.data.scope) {\r\n userScopeFromPath = this._activatedRoute.routeConfig.data.scope;\r\n }\r\n this.userScope = this._environment.scope || userScopeFromPath;\r\n }\r\n\r\n onEmailChanged = () => {\r\n this.availableCompanies = null;\r\n this.userCompanyGuid = \"\";\r\n }\r\n\r\n onSendResetLinkClicked = async () => {\r\n this.forgotPasswordForm?.form.markAllAsTouched();\r\n if (!this.forgotPasswordForm?.form.valid) {\r\n return;\r\n }\r\n if (!this.userCompanyGuid) {\r\n this.toggleProgress(true);\r\n try {\r\n const availableCompanies = await firstValueFrom(this._authService.getAvailableCompanies(this.email, this.userScope || 'AgentAndBorrower'));\r\n this.availableCompanies = availableCompanies || [];\r\n if (this.availableCompanies.length === 1) {\r\n this.userCompanyGuid = this.availableCompanies[0].userCompanyGuid;\r\n }\r\n } catch (error) {\r\n this.errorMessage = 'Unable to get companies for a provided email';\r\n return\r\n } finally {\r\n this.toggleProgress(false);\r\n }\r\n }\r\n if (!this.userCompanyGuid) {\r\n return;\r\n }\r\n this.toggleProgress(true);\r\n this._authService.sentPasswordResetLink(this.email, this.userScope, this.userCompanyGuid).subscribe(result => {\r\n this._navigationService.navigateToCheckEmailForPasswordResetNotice(this.email);\r\n }, error => {\r\n this.errorMessage = (error && error.error) ? error.error : \"An error occurred. Please contact your administrator.\";\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.sendResetLinkButtonText = \"Please wait...\";\r\n } else {\r\n this.sendResetLinkButtonText = \"Send Reset Link\";\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 We will send a secure link to your e-mail that we have on your account.\r\n Please enter your e-mail below.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Please enter a valid e-mail.
\r\n
\r\n
1\">\r\n \r\n \r\n
Please select a company.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Lodasoft\"\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'password-reset-email-notice',\r\n templateUrl: 'password-reset-email-notice.component.html'\r\n})\r\n\r\nexport class PasswordResetEmailNoticeComponent implements OnInit {\r\n\r\n email: string = \"\";\r\n\r\n constructor(private readonly _utilsService: UtilsService) { }\r\n\r\n ngOnInit() {\r\n this.email = this._utilsService.getUrlParameter(\"email\");\r\n }\r\n}\r\n","
\r\n
\r\n

Please, check your e-mail

\r\n
We have sent a password reset link to {{email}}.\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
Please click the link in the email to finish resetting your password.
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthenticationUserCompany } from '../../models/auth/auth-response.model';\r\nimport { debounce } from 'lodash';\r\n\r\n@Component({\r\n selector: 'password-reset-send-code-dialog',\r\n templateUrl: 'password-reset-send-code-dialog.component.html',\r\n styleUrls: ['password-reset-send-code-dialog.component.scss']\r\n})\r\nexport class PasswordResetSendCodeDialogComponent implements OnInit {\r\n\r\n @ViewChild('sendCodeForm') sendCodeForm: NgForm | undefined;\r\n\r\n @Input()\r\n email: string | undefined;\r\n\r\n sendCodeButtonText: string = \"Send Code\";\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n errorMessage: string = \"\";\r\n\r\n userScope: string;\r\n\r\n availableCompanies: AuthenticationUserCompany[] = [];\r\n\r\n userCompanyGuid: string;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private readonly _authService: AuthService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _environment: EnvironmentService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.userScope = this._environment.scope\r\n this.getAvailableCompanies();\r\n }\r\n\r\n onSendCodeClicked = () => {\r\n this.sendCodeForm?.form.markAllAsTouched();\r\n if (this.sendCodeForm?.form.valid) {\r\n this.toggleProgress(true);\r\n this._authService.sendTwoFactorEmailCode(this.userCompanyGuid).subscribe(result => {\r\n this.activeModal.close(this.email);\r\n }, error => {\r\n this.errorMessage = error;\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n }\r\n\r\n onEmailChangedDebounce = debounce(this.onEmailChanged, 300);\r\n\r\n private onEmailChanged() {\r\n if (!this.email) {\r\n this.userCompanyGuid = null;\r\n return;\r\n }\r\n\r\n this.getAvailableCompanies();\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.sendCodeButtonText = \"Please wait...\";\r\n } else {\r\n this.sendCodeButtonText = \"Send Code\";\r\n }\r\n }\r\n\r\n private getAvailableCompanies = () => {\r\n this._spinner.show();\r\n this._authService.getAvailableCompanies(this.email, this.userScope || 'AgentAndBorrower').subscribe({\r\n next: (response) => {\r\n this.availableCompanies = response || [];\r\n\r\n if (this.availableCompanies.length === 1) {\r\n this.userCompanyGuid = this.availableCompanies[0].userCompanyGuid;\r\n }\r\n },\r\n error: (error) => {\r\n this.errorMessage = 'Unable to get companies for a provided email';\r\n }\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n\r\n

Send Security Code for Password Reset

\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 We will send a security code to your email that we have on your account.\r\n Please enter your email below.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Please enter your email.
\r\n
Please enter a valid email.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Please select a company.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CreateBorrowerAccountMortgageRequest } from '../../models/create-borrower-account-mortgage-request.model';\r\nimport { CreateApplicationResponse } from '../../models/create-application-response.model';\r\nimport { ResetPasswordResult } from '../../models/auth/reset-password-result.model';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { AuthenticationRequest } from '../../models/auth/auth-request.model';\r\nimport { LoginStatus } from '../../models/auth/login-status.enum';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { ResetPasswordRequest } from '../../models/auth/reset-password-request.model';\r\nimport { AuthenticationUserCompany } from '../../models/auth/auth-response.model';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\n\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'reset-password-dialog',\r\n templateUrl: 'reset-password-dialog.component.html',\r\n styleUrls: ['reset-password-dialog.component.scss']\r\n})\r\nexport class ResetPasswordDialogComponent implements OnInit {\r\n\r\n @ViewChild('resetPasswordForm') resetPasswordForm: NgForm | undefined;\r\n\r\n @Input()\r\n userName: string | undefined;\r\n\r\n @Input()\r\n createApplicationRequest: CreateBorrowerAccountMortgageRequest | undefined;\r\n\r\n @Input()\r\n applyingForANewLoan: boolean = false;\r\n\r\n securityCode: string | undefined;\r\n\r\n password: string | undefined;\r\n\r\n confirmedPassword: string | undefined;\r\n\r\n errorMessage: string | undefined;\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n resetPasswordButtonText: string = \"Reset Password\";\r\n\r\n resendCodeButtonText: string = \"Resend Code\";\r\n\r\n result: ResetPasswordResult = new ResetPasswordResult();\r\n\r\n passwordErrors: string[] = null;\r\n\r\n userCompanyGuid: string = \"\"\r\n\r\n userScope: string;\r\n \r\n availableCompanies: AuthenticationUserCompany[] = [];\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _authService: AuthService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _environment: EnvironmentService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.userScope = this._environment.scope\r\n this.getAvailableCompanies();\r\n }\r\n\r\n onResendCodeClicked = () => {\r\n this.toggleProgress(true);\r\n this._authService.sendTwoFactorEmailCode(this.userCompanyGuid).subscribe(result => {\r\n Swal.fire(\r\n 'Success!',\r\n \"We've sent another security code to \" + this.userName + \". Please, use that code to reset your password.\",\r\n 'success'\r\n ).then(function (modalResult: any) {\r\n if (modalResult.value) {\r\n\r\n }\r\n });\r\n }, error => {\r\n this.errorMessage = error;\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n onResetPasswordClicked = () => {\r\n this.resetPasswordForm?.form.markAllAsTouched();\r\n if (this.resetPasswordForm?.form.valid && this.createApplicationRequest) {\r\n this.createApplicationRequest.password = this.password;\r\n this.createApplicationRequest.resetPasswordCode = this.securityCode;\r\n this.toggleProgress(true);\r\n if (this.applyingForANewLoan) {\r\n this.applyForANewLoan();\r\n } else {\r\n this.resetPasswordAndGotoBorrowerPortal();\r\n }\r\n }\r\n }\r\n\r\n private resetPasswordAndGotoBorrowerPortal = () => {\r\n this.passwordErrors = null;\r\n const resetPasswordRequest: ResetPasswordRequest = {\r\n email: this.userName,\r\n password: this.password,\r\n confirmPassword: this.confirmedPassword,\r\n code: this.securityCode,\r\n userCompanyGuid: this.userCompanyGuid,\r\n }\r\n this.toggleProgress(true);\r\n this._authService.resetPasswordWithRecurityCode(resetPasswordRequest).subscribe(response => {\r\n this.toggleProgress(false);\r\n this.loginAndGotoBorrowerPortal();\r\n }, error => {\r\n this.toggleProgress(false);\r\n this.passwordErrors = this.formatErrorMessageForPasswordReset(error);\r\n });\r\n }\r\n\r\n private loginAndGotoBorrowerPortal = () => {\r\n const loginRequest: AuthenticationRequest = {\r\n companyGuid: this.createApplicationRequest.companyGuid,\r\n userCompanyGuid: this.userCompanyGuid,\r\n username: this.userName,\r\n password: this.password,\r\n rememberMe: false,\r\n scope: 'Borrower'\r\n }\r\n this.toggleProgress(true);\r\n this._authService.signIn(loginRequest).subscribe(response => {\r\n this.toggleProgress(false);\r\n if (response.loginStatus === LoginStatus.Error) {\r\n this.errorMessage = response.errorMessage;\r\n this.createApplicationRequest.password = null;\r\n return;\r\n }\r\n this.activeModal.close();\r\n this._navigationService.navigateToPath(\"borrower-portal\", true);\r\n }, error => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n private applyForANewLoan = () => {\r\n this._mortgageApplicationService.saveLoanApplication(this.createApplicationRequest).subscribe((response: CreateApplicationResponse) => {\r\n if (response.authToken) {\r\n this.result.authToken = response.authToken;\r\n this.result.newPassword = this.password;\r\n this.activeModal.close(this.result);\r\n } else {\r\n if (response.loginError) {\r\n this.errorMessage = response.loginError;\r\n return;\r\n }\r\n this.errorMessage = \"Either your user name or your password is incorrect.\";\r\n }\r\n }, error => {\r\n this.errorMessage = \"Not able to log you in at this time.\";\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.resetPasswordButtonText = \"Please wait...\";\r\n } else {\r\n this.resetPasswordButtonText = \"Reset Password\";\r\n }\r\n }\r\n\r\n private formatErrorMessageForPasswordReset = (error: any): string[] => {\r\n const passwordErrors = error?.error?.errors?.password;\r\n if (passwordErrors && passwordErrors.length) {\r\n return passwordErrors;\r\n }\r\n const errorMessage = error?.error || \"An error occurred while resetting your password.\";\r\n return [errorMessage];\r\n }\r\n\r\n private getAvailableCompanies = () => {\r\n this._spinner.show();\r\n this._authService.getAvailableCompanies(this.userName, this.userScope || 'AgentAndBorrower').subscribe({\r\n next: (response) => {\r\n this.availableCompanies = response || [];\r\n\r\n if (this.availableCompanies.length === 1) {\r\n this.userCompanyGuid = this.availableCompanies[0].userCompanyGuid;\r\n }\r\n },\r\n error: (error) => {\r\n this.errorMessage = 'Unable to get companies for a provided email';\r\n }\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n\r\n

Reset 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 \r\n \r\n \r\n
\r\n We sent you a code to your email address {{userName}}.\r\n Please enter that code and your new password below.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n {{passwordError}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Please enter the security code.
\r\n
\r\n
\r\n \r\n \r\n
Please select a company.
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your new password.
\r\n
\r\n Password & Confirm Password do not match.
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your password again.
\r\n
\r\n Password & Confirm Password do not match.
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ResetPasswordRequest } from '../../models/auth/reset-password-request.model';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AuthenticationUserCompany } from '../../models/auth/auth-response.model';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { debounce } from 'lodash';\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'reset-password',\r\n templateUrl: 'reset-password.component.html',\r\n styleUrls: ['reset-password.component.scss']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n\r\n @ViewChild('resetPasswordForm') resetPasswordForm: NgForm | undefined;\r\n\r\n possibleLogoUrls: string[] = [];\r\n availableCompanies: AuthenticationUserCompany[] = [];\r\n\r\n errorMessage: string | null = null;\r\n\r\n password: string = \"\";\r\n confirmedPassword: string = \"\";\r\n\r\n resetPasswordButtonText: string = \"Reset Password\";\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n userName: string = \"\";\r\n userCompanyGuid: string = \"\";\r\n userScope: string = null;\r\n\r\n private _token: string = \"\";\r\n\r\n constructor(\r\n private readonly _navigationService: NavigationService,\r\n private readonly _authService: AuthService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n ) {\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n }\r\n\r\n ngOnInit() {\r\n this._token = this._utilsService.getUrlParameter(\"token\");\r\n this.userName = this._utilsService.getUrlParameter(\"userName\");\r\n this.userCompanyGuid = this._utilsService.getUrlParameter(\"userCompanyGuid\");\r\n\r\n let userScopeFromPath = null;\r\n if (this._activatedRoute.routeConfig && this._activatedRoute.routeConfig.data && this._activatedRoute.routeConfig.data.scope) {\r\n userScopeFromPath = this._activatedRoute.routeConfig.data.scope;\r\n }\r\n this.userScope = this._environment.scope || userScopeFromPath;\r\n\r\n if (this.userName && !this.userCompanyGuid) {\r\n this.getAvailableCompanies();\r\n }\r\n }\r\n\r\n onResetPasswordClicked = () => {\r\n this.resetPasswordForm?.form.markAllAsTouched();\r\n if (this.resetPasswordForm?.form.valid) {\r\n this.toggleProgress(true);\r\n const request = new ResetPasswordRequest(this.userName, this.password, this.confirmedPassword, this._token, this.userCompanyGuid);\r\n this._authService.resetPassword(request).subscribe(result => {\r\n Swal.fire(\r\n 'Success!',\r\n 'Your password has been successfully reset.',\r\n 'success'\r\n ).then(() => {\r\n this._navigationService.navigateToPath(\"apply\", true);\r\n });\r\n }, error => {\r\n this.errorMessage = \"It seems that this link has expired. Please, re-send the password reset request again.\";\r\n }).add(() => {\r\n this.toggleProgress(false);\r\n });\r\n }\r\n }\r\n\r\n onEmailChangedDebounce = debounce(this.onEmailChanged, 300);\r\n\r\n private onEmailChanged() {\r\n if (!this.userName) {\r\n this.userCompanyGuid = null;\r\n return;\r\n }\r\n\r\n this.getAvailableCompanies();\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.resetPasswordButtonText = \"Please wait...\";\r\n } else {\r\n this.resetPasswordButtonText = \"Reset Password\";\r\n }\r\n }\r\n\r\n private getAvailableCompanies = () => {\r\n this._spinner.show();\r\n this._authService.getAvailableCompanies(this.userName, this.userScope || 'AgentAndBorrower').subscribe({\r\n next: (response) => {\r\n this.availableCompanies = response || [];\r\n\r\n if (this.availableCompanies.length === 1) {\r\n this.userCompanyGuid = this.availableCompanies[0].userCompanyGuid;\r\n }\r\n },\r\n error: (error) => {\r\n this.errorMessage = 'Unable to get companies for a provided email';\r\n }\r\n }).add(() => {\r\n this._spinner.hide();\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 Welcome back!\r\n Please enter your new password below.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your e-mail.
\r\n
\r\n
1\">\r\n \r\n \r\n
Please select a company.
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your new password.
\r\n
\r\n Password & Confirm Password do not match.
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your password again.
\r\n
\r\n Password & Confirm Password do not match.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Lodasoft\"\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Constants } from '../services/constants';\r\nimport { WizardFlowServiceBase } from '../services/wizard/wizard-flow-service.base';\r\n\r\n@Component({\r\n selector: 'borrower-portal-entry',\r\n template: ''\r\n})\r\n\r\nexport class BorrowerPortalEntryComponent implements OnInit {\r\n\r\n constructor(private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _authService: AuthService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase) {\r\n this._activatedRoute.queryParams.subscribe(params => {\r\n const authToken = params[Constants.authToken];\r\n const applicationId = params[Constants.applicationId];\r\n const companyGuid = params[Constants.companyGuid];\r\n const userCompanyGuid = params[Constants.userCompanyGuid];\r\n if (authToken) {\r\n this._authService.loginWithToken(authToken, companyGuid, userCompanyGuid).subscribe(() => {\r\n this._wizardFlowService.navigateToApplicationFlow(applicationId);\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { CreditService } from '../../services/credit.service';\r\nimport { Observer, Subscription, firstValueFrom, forkJoin } from 'rxjs';\r\nimport { formatDate } from '@angular/common';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { BorrowerPortalService } from '../services/borrower-portal.service';\r\nimport { FeatureFlags } from '../../models/feature-flags.model';\r\nimport { MortgageApplication } from '../../models/mortgage-app.model';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { ApplicationForUser } from '../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationContextService } from '../../services/application-context.service';\r\nimport { UserPermissions } from '../../models/user';\r\n\r\n@Component({\r\n selector: 'e-consent',\r\n templateUrl: 'e-consent.component.html',\r\n styleUrls: ['./e-consent.component.scss']\r\n})\r\nexport class EConsentComponent implements OnInit, OnDestroy {\r\n\r\n consentToDoBusiness: boolean = true;\r\n consentToRunCredit: boolean = true;\r\n\r\n isLoading: boolean = false;\r\n\r\n showEConsentVerbiage: boolean;\r\n showCreditAuthVerbiage: boolean;\r\n\r\n creditCheckConsentVerbiage: string | undefined = \"\";\r\n eBusinessConsentVerbiage: string | undefined = \"\";\r\n\r\n private _mortgages: MortgageApplication[] = [];\r\n private _applications: ApplicationForUser[] = [];\r\n\r\n private _eConsentGenerationEnabled: boolean = false;\r\n private _creditAuthGenerationEnabled: boolean;\r\n\r\n private _userPermissions: UserPermissions;\r\n\r\n private _contextSubscription: Subscription\r\n\r\n constructor(\r\n private readonly _borrowerPortalService: BorrowerPortalService,\r\n private readonly _creditService: CreditService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _applicationContextService: ApplicationContextService) {\r\n }\r\n\r\n ngOnInit() {\r\n this._contextSubscription = this._applicationContextService.context.subscribe(context => {\r\n this._userPermissions = context.userPermissions;\r\n this.initialize();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._contextSubscription?.unsubscribe();\r\n }\r\n\r\n onOkClicked() {\r\n\r\n if (!this._applications || !this._applications.length) {\r\n this._navigationService.navigateToPath(`/borrower-portal`);\r\n return;\r\n }\r\n\r\n const apiCalls: any = {};\r\n\r\n const today = formatDate(new Date(), 'MM/dd/yyyy', 'en-US');\r\n\r\n this._applications.forEach(app => {\r\n if (app.myDetails) {\r\n const contactId = app.myDetails.borrowerId;\r\n\r\n if (this._creditAuthGenerationEnabled) {\r\n const relatedMortgage = this._mortgages.find(m => m.applicationId === app.applicationId);\r\n if (relatedMortgage) {\r\n const mortgageBorrower = relatedMortgage.borrowers.find(b => b.contactId === contactId);\r\n if (mortgageBorrower) {\r\n mortgageBorrower.dateAuthorizedCreditCheck = today;\r\n mortgageBorrower.authorizationMethod = \"Internet\";\r\n mortgageBorrower.authorizedCreditCheck = true;\r\n }\r\n // Here we need a call to save this mortgage\r\n apiCalls['saveMortgage' + app.applicationId] = this._mortgageApplicationService.saveMortgage(relatedMortgage);\r\n }\r\n // Here we need a call to create the credit consent report\r\n apiCalls['createCreditConsentReport' + app.applicationId] = this._creditService.createConsentReport(app.applicationId, this.creditCheckConsentVerbiage);\r\n }\r\n\r\n if (this._eConsentGenerationEnabled && !app.myDetails.acceptedEConsentDate) {\r\n apiCalls['generateEConsentDocument' + app.applicationId] = this._mortgageApplicationService.generateEConsentDocument(app.applicationId,\r\n { eConsentText: this.eBusinessConsentVerbiage, borrowerId: contactId });\r\n }\r\n }\r\n });\r\n\r\n const observer: Observer = {\r\n next: (value: any) => {\r\n this.isLoading = false;\r\n this._navigationService.navigateToPath(`/borrower-portal`);\r\n },\r\n error: (err: any) => {\r\n this.isLoading = false;\r\n },\r\n complete: () => {\r\n }\r\n }\r\n\r\n if (Object.keys(apiCalls).length) {\r\n this.isLoading = true;\r\n forkJoin(apiCalls).subscribe(observer);\r\n }\r\n }\r\n\r\n private initialize = async () => {\r\n try {\r\n this.isLoading = true;\r\n const applications = await firstValueFrom(this._borrowerPortalService.getApplicationsForUser());\r\n this._applications = applications.filter(app => app.companyId === this._userPermissions.companyId);\r\n if (this._applications && this._applications.length) {\r\n const configuration = await firstValueFrom(this._mortgageApplicationService.getConfig(this._applications[0].applicationId));\r\n this.configureUIBasedOnFeatureFlags(configuration);\r\n\r\n this._applications.forEach(async app => {\r\n const mortgage = await firstValueFrom(this._mortgageApplicationService.getMortgage(app.applicationId));\r\n this._mortgages.push(mortgage);\r\n });\r\n }\r\n this.isLoading = false;\r\n } catch (error) {\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n private configureUIBasedOnFeatureFlags = (config: FeatureFlags) => {\r\n this.creditCheckConsentVerbiage = config?.creditAuthText;\r\n this.eBusinessConsentVerbiage = config?.eConsentText;\r\n this._eConsentGenerationEnabled = config?.eConsentGenerationEnabled;\r\n this.showEConsentVerbiage = config?.showEConsentVerbiage;\r\n this.showCreditAuthVerbiage = config?.showCreditAuthVerbiage;\r\n this._creditAuthGenerationEnabled = config?.creditAuthGenerationEnabled;\r\n }\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

Consent to Do Business Electronically

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

Consent to Run Your Credit

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Agree & Continue\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { EConsentComponent } from \"./e-consent.component\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { SharedModule } from \"projects/shared/shared.module\";\r\nimport { BorrowerPortalService } from \"../services/borrower-portal.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n SharedModule\r\n ],\r\n declarations: [\r\n EConsentComponent\r\n ],\r\n exports: [\r\n EConsentComponent\r\n ],\r\n providers: [\r\n BorrowerPortalService\r\n ]\r\n})\r\nexport class EConsentModule {\r\n constructor() {\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ContactInfoModel } from \"../../models/borrower-portal/contact-info-model\";\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\n\r\n@Injectable()\r\nexport class BorrowerPortalService extends BasePortalService {\r\n\r\n protected get baseUrl(): string {\r\n return \"BorrowerPortal\";\r\n }\r\n\r\n public getContactInfoForApplication(appId: number): Observable {\r\n return this._dataService.get(`api/${this.baseUrl}/GetBorrowerContactInfoForApplication/${appId}`);\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\n\r\n@Component({\r\n selector: 'submit-app-redirect',\r\n templateUrl: 'submit-app-redirect.component.html'\r\n})\r\n\r\nexport class SubmitAppRedirectComponent implements OnInit, OnDestroy {\r\n\r\n private _routeSubscription1: Subscription;\r\n private _routeSubscription2: Subscription;\r\n\r\n constructor(private readonly _activatedRoute: ActivatedRoute, private readonly _authService: AuthService,\r\n private readonly _navigationService: NavigationService) {\r\n this._routeSubscription1 = this._activatedRoute.queryParams.subscribe(queryParams => {\r\n this._routeSubscription2 = this._activatedRoute.params.subscribe(routeParams => {\r\n const loanId = Number(this._activatedRoute.snapshot.paramMap.get('loanId'));\r\n const token = queryParams['authToken'];\r\n if (token) {\r\n this._authService.setBorrowerToken(token);\r\n this._navigationService.navigateToPath(`borrower-portal/loans/${loanId}`, true);\r\n }\r\n }, error => {\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnDestroy(): void {\r\n this._routeSubscription1?.unsubscribe();\r\n this._routeSubscription2?.unsubscribe();\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { UtilsService } from '../services/utils.service';\r\n\r\n@Component({\r\n selector: 'check-email-notice',\r\n templateUrl: 'check-email-notice.component.html',\r\n styleUrls: ['check-email-notice.component.scss']\r\n})\r\n\r\nexport class CheckEmailNoticeComponent implements OnInit {\r\n\r\n email: string = \"\";\r\n\r\n possibleLogoUrls: string[] = [];\r\n\r\n constructor(private readonly _navigationService: NavigationService,\r\n private readonly _utilsService: UtilsService) {\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.email = this._utilsService.getUrlParameter(\"email\");\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Please, check your email...

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n We sent an email invitation to:\r\n
\r\n
\r\n {{email}}.\r\n
\r\n
\r\n
\r\n
\r\n
Please, click the link in the email to finish creating your account\r\n and complete your loan application.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Lodasoft\"\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { LocalStorageService } from '../services/local-storage.service';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../services/wizard/wizard-flow-service.base';\r\nimport { WizardMainBaseComponent } from '../wizard/wizard-main/wizard-main-base.component';\r\nimport { MortgageApplicationService } from '../services/mortgage-application.service';\r\n\r\n@Component({\r\n selector: 'co-mortgage-application',\r\n templateUrl: '../wizard/wizard-main/wizard-main.component.html'\r\n})\r\n\r\nexport class CoMortgageApplicationComponent extends WizardMainBaseComponent implements OnInit {\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _authService: AuthService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _viewContainerRef: ViewContainerRef,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly localStorageService: LocalStorageService,\r\n private readonly navigationService: NavigationService,\r\n private readonly mortgageApplicationService: MortgageApplicationService) {\r\n super(_wizardFlowService, _utilsService, _authService, _environment, _viewContainerRef, activatedRoute,\r\n localStorageService, navigationService, mortgageApplicationService);\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","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { PortalScope } from '../login/login.component';\r\nimport { AuthenticationRequest } from '../models/auth/auth-request.model';\r\nimport { LoginStatus } from '../models/auth/login-status.enum';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Constants } from '../services/constants';\r\nimport { Utils } from '../services/utils';\r\nimport { Observer } from 'rxjs';\r\ndeclare const $: any;\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'confirm-account',\r\n templateUrl: 'confirm-account.component.html',\r\n styleUrls: ['confirm-account.component.scss'],\r\n})\r\nexport class ConfirmAccountComponent implements OnInit, AfterViewInit {\r\n @ViewChild('createAccountForm') createAccountForm: NgForm | undefined;\r\n\r\n userName: string = '';\r\n\r\n password: string = '';\r\n confirmedPassword: string = '';\r\n\r\n tokenConfirmed: boolean = false;\r\n accountConfirmed: boolean = false;\r\n errorMessage: string | undefined = undefined;\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n tocAccepted: boolean = false;\r\n\r\n possibleLogoUrls: string[] = [];\r\n\r\n gotoPortalScope: PortalScope = null;\r\n\r\n protected passwordIsMinimum8Characters: boolean = false;\r\n protected passwordContainsDigit: boolean = false;\r\n protected passwordContainsUppercase: boolean = false;\r\n protected passwordContainsLowercase: boolean = false;\r\n protected passwordContainsSpecialCharacter: boolean = false;\r\n\r\n private _token: string = '';\r\n private _companyGuid: string = '';\r\n\r\n constructor(\r\n private readonly _authService: AuthService,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _router: Router,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _environment: EnvironmentService\r\n ) {\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n this._activatedRoute.queryParams.subscribe((params) => {\r\n this.userName = params['username'];\r\n this._token = params['token'];\r\n this._companyGuid = params['companyGuid'];\r\n });\r\n let userScopeFromPath = null;\r\n const state = this._router.getCurrentNavigation().extras.state;\r\n if (state && state.gotoPortal) {\r\n userScopeFromPath = state.goToPortal;\r\n }\r\n this.gotoPortalScope = this._environment.scope || userScopeFromPath;\r\n }\r\n\r\n ngOnInit() {\r\n const observer: Observer = {\r\n next: (response: any) => {\r\n this.tokenConfirmed = true;\r\n this.errorMessage = undefined;\r\n if (response.isConfirmed) {\r\n const self = this;\r\n Swal.fire(\r\n 'Success!',\r\n 'Your account is already confirmed. You will be redirected to the login page. Please wait…',\r\n 'success'\r\n ).then(function (modalResult: any) {\r\n if (modalResult.value) {\r\n self._navigationService.navigateToLogin(undefined, false);\r\n }\r\n });\r\n setTimeout(() => {\r\n Swal.close();\r\n self._navigationService.navigateToLogin(undefined, false);\r\n }, 3000);\r\n }\r\n },\r\n error: (err: any) => {\r\n this.errorMessage = err.error;\r\n },\r\n complete: () => { },\r\n };\r\n\r\n this.spinnerVisible = true;\r\n this._authService\r\n .confirmRegistrationToken(this.userName, this._token, this._companyGuid)\r\n .subscribe(observer)\r\n .add(() => {\r\n this.spinnerVisible = false;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const eyeIcon = $('.bi-eye');\r\n const eyeSlashIcon = $('.bi-eye-slash');\r\n\r\n eyeIcon.bind('touchend', function (event) {\r\n if (eyeSlashIcon.hasClass('d-none')) {\r\n eyeSlashIcon.removeClass('d-none');\r\n eyeIcon.addClass('d-none');\r\n const passwordElement = document.getElementById('password');\r\n if (passwordElement.getAttribute('type') === 'text') {\r\n passwordElement.setAttribute('type', 'password');\r\n }\r\n }\r\n });\r\n\r\n eyeSlashIcon.bind('touchend', function (event) {\r\n if (eyeIcon.hasClass('d-none')) {\r\n eyeIcon.removeClass('d-none');\r\n eyeSlashIcon.addClass('d-none');\r\n const passwordElement = document.getElementById('password');\r\n if (passwordElement.getAttribute('type') === 'password') {\r\n passwordElement.setAttribute('type', 'text');\r\n }\r\n }\r\n });\r\n }\r\n\r\n onPasswordChanged = () => {\r\n this.passwordContainsDigit = Utils.containsDigit(this.password);\r\n this.passwordIsMinimum8Characters = this.password.trim().length >= 8;\r\n this.passwordContainsUppercase = Utils.containsUppercase(this.password);\r\n this.passwordContainsLowercase = Utils.containsLowercase(this.password);\r\n this.passwordContainsSpecialCharacter = Utils.containsSpecialCharacter(\r\n this.password\r\n );\r\n };\r\n\r\n onTermsAndConditionsClicked = () => {\r\n window.open(\r\n 'terms-and-conditions?companyGuid=' + this._companyGuid,\r\n '_blank'\r\n );\r\n };\r\n\r\n onCreatePasswordClicked = () => {\r\n this.createAccountForm?.form.markAllAsTouched();\r\n const valid = this.createAccountForm?.form.valid;\r\n if (this.tokenConfirmed && valid) {\r\n this.spinnerVisible = true;\r\n if (this.accountConfirmed) {\r\n this.login();\r\n } else {\r\n this._authService\r\n .confirmRegistration(\r\n this.userName,\r\n this._token,\r\n this.password,\r\n this.confirmedPassword,\r\n this._companyGuid\r\n )\r\n .pipe(\r\n finalize(() => {\r\n this.spinnerVisible = false;\r\n })\r\n )\r\n .subscribe(\r\n (response) => {\r\n this.accountConfirmed = true;\r\n this.errorMessage = undefined;\r\n\r\n this.login(response.scope);\r\n },\r\n (error) => {\r\n this.handleCreatePasswordError(error);\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n private login = (scope?: PortalScope) => {\r\n this.spinnerVisible = true;\r\n if (!this._companyGuid) {\r\n return;\r\n }\r\n const loginRequest: AuthenticationRequest = {\r\n companyGuid: this._companyGuid,\r\n username: this.userName,\r\n password: this.password,\r\n rememberMe: false,\r\n scope: scope || this.gotoPortalScope || PortalScope.AgentAndBorrower,\r\n };\r\n this._authService.signIn(loginRequest).subscribe(\r\n (response) => {\r\n this.spinnerVisible = false;\r\n if (response.loginStatus === LoginStatus.Error) {\r\n this.errorMessage = response.errorMessage;\r\n return;\r\n } else if (response.loginStatus === LoginStatus.Success) {\r\n const authData = JSON.parse(\r\n localStorage.getItem(Constants.authorization.authorizationDataKey)\r\n );\r\n if (authData) {\r\n this.gotoPortalScope = authData.scope;\r\n }\r\n } else if (\r\n response.loginStatus === LoginStatus.ProperScopeSelectionRequired\r\n ) {\r\n //this.onRoleSelectionRequired(response.availableCompanies);\r\n this.gotoPortalScope = PortalScope.Borrower;\r\n return;\r\n }\r\n let portalRoute =\r\n !this.gotoPortalScope || this.gotoPortalScope == PortalScope.Borrower\r\n ? 'e-consent'\r\n : 'agent-portal';\r\n this._navigationService.navigateToPath(`/${portalRoute}`);\r\n },\r\n (error) => {\r\n this.errorMessage = error.error_descripton;\r\n this.spinnerVisible = false;\r\n }\r\n );\r\n };\r\n\r\n private handleCreatePasswordError = (error: any) => {\r\n if (error.error === 'User is already registered. Please log in.') {\r\n this.login();\r\n } else {\r\n this.errorMessage = error.error.message;\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

Welcome Back!

\r\n
To complete setting up your account, please set a password for\r\n {{userName}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Your account has been confirmed! Now, please setup a password.\r\n
\r\n
\r\n
\r\n \r\n \r\n \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 \r\n \r\n \r\n
\r\n
\r\n \r\n
Min. 8 characters
\r\n
\r\n
\r\n \r\n
Include number
\r\n
\r\n
\r\n \r\n
Include lowercase letter
\r\n
\r\n
\r\n \r\n
Include uppercase letter
\r\n
\r\n
\r\n \r\n
Include a special character
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Please enter\r\n your password.
\r\n
Password & Confirm Password do not match.
\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
Use 8 or more characters with a mix of letters, numbers & symbols.
\r\n
\r\n
\r\n \r\n \r\n
\r\n Please enter your password again.
\r\n
\r\n Password & Confirm Password do not match.
\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 \"Lodasoft\"\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CreateBorrowerAccountMortgageRequest } from '../models/create-borrower-account-mortgage-request.model';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MortgageApplicationService } from '../services/mortgage-application.service';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { Constants } from '../services/constants';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\n\r\n@Component({\r\n\tselector: 'create-account-ext-auth',\r\n\ttemplateUrl: 'create-account-external-auth.component.html',\r\n\tstyleUrls: ['create-account-external-auth.component.scss']\r\n})\r\nexport class CreateAccountExtAuthComponent implements OnInit, OnDestroy {\r\n\r\n\tprotected error: string = null;\r\n\r\n\tprivate _activatedRouteQueryParamsSubscription: Subscription;\r\n\tprivate _activatedRouteParamsSubscription: Subscription;\r\n\r\n\tprivate _token: string;\r\n\r\n\tprivate _queryParams: any = {};\r\n\r\n\tconstructor(private readonly _activatedRoute: ActivatedRoute,\r\n\t\tprivate readonly _spinner: NgxSpinnerService,\r\n\t\tprivate readonly _mortgageApplicationService: MortgageApplicationService,\r\n\t\tprivate readonly _navigationService: NavigationService,\r\n\t\tprivate readonly _utilsService: UtilsService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._activatedRouteQueryParamsSubscription = this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n\t\t\tthis._activatedRouteParamsSubscription = this._activatedRoute.params.subscribe((routeParams) => {\r\n\t\t\t\tObject.keys(queryParams).forEach(key => {\r\n\t\t\t\t\tif (key !== 'token' && key !== 's') {\r\n\t\t\t\t\t\tthis._queryParams[key] = queryParams[key];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._token = queryParams[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tconst createLoanRequestJson = atob(queryParams['s']);\r\n\t\t\t\tconst createLoanRequest = JSON.parse(createLoanRequestJson);\r\n\t\t\t\tthis.createUserAccountAndMortgage(createLoanRequest);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._activatedRouteQueryParamsSubscription?.unsubscribe();\r\n\t\tthis._activatedRouteParamsSubscription?.unsubscribe();\r\n\t}\r\n\r\n\tprivate createUserAccountAndMortgage = (createApplicationRequest: CreateBorrowerAccountMortgageRequest) => {\r\n\t\tthis.persistAuthData();\r\n\t\tthis._mortgageApplicationService.saveLoanApplicationNonAnonymous(createApplicationRequest).subscribe(\r\n\t\t\tresponse => {\r\n\t\t\t\tif (response.applicationId) {\r\n\t\t\t\t\tthis._queryParams['appId'] = response.applicationId;\r\n\t\t\t\t}\r\n\t\t\t\tthis._navigationService.navigateToPath(\"apply\", true, undefined, this._queryParams, false);\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\tthis.error = getErrorMessageOrDefault(error);\r\n\t\t\t}\r\n\t\t).add(() => {\r\n\t\t});\r\n\t}\r\n\r\n\tprivate persistAuthData = () => {\r\n\t\tlet jwtPayload = this._utilsService.parseJwt(this._token);\r\n\r\n\t\tlocalStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n\t\t\ttoken: this._token,\r\n\t\t\tuserName: jwtPayload['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'],\r\n\t\t\tuserId: jwtPayload['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier'],\r\n\t\t\tscope: 'Borrower',\r\n\t\t\tcompanyGuid: jwtPayload.CompanyGuid,\r\n\t\t\texpiresAt: this._utilsService.getTokenExpireDate(jwtPayload.exp)\r\n\t\t}));\r\n\t}\r\n}","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t

Creating Your Account

\r\n\t\t\t\t\t\t

We're finalizing the creation of your loan\r\n\t\t\t\t\t\t\tapplication.

\r\n\t\t\t\t\t\t

Please wait...

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
Error
\r\n\t\t\t\t\t\t\t\tAn error occurred while creating your application, please contact your loan representative.\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'error-page',\r\n templateUrl: 'error.component.html'\r\n})\r\n\r\nexport class ErrorComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

System Error!

\r\n

Something went wrong.

\r\n

Please try again later...

\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { Constants } from '../services/constants';\r\n\r\n@Component({\r\n\tselector: 'external-auth-online-app-redirect',\r\n\ttemplateUrl: 'external-auth-online-app-redirect.component.html'\r\n})\r\n\r\nexport class ExternalAuthOnlineAppRedirectComponent implements OnInit {\r\n\r\n\tprivate _activatedRouteQueryParamsSubscription: Subscription;\r\n\tprivate _activatedRouteParamsSubscription: Subscription;\r\n\r\n\tprivate _token: string;\r\n\r\n\tprivate _queryParams: string = \"\";\r\n\r\n\tprivate _returnUrl: string = \"\";\r\n\r\n\tconstructor(private readonly _activatedRoute: ActivatedRoute,\r\n\t\tprivate readonly _utilsService: UtilsService\r\n\t) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis._activatedRouteQueryParamsSubscription = this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n\t\t\tthis._activatedRouteParamsSubscription = this._activatedRoute.params.subscribe((routeParams) => {\r\n\t\t\t\tObject.keys(queryParams).forEach(key => {\r\n\t\t\t\t\tif (key !== 'token') {\r\n\t\t\t\t\t\tif (key !== 'r_url') {\r\n\t\t\t\t\t\t\tthis._queryParams += `${key}=${queryParams[key]}&`;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis._returnUrl = queryParams[key];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis._token = queryParams[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tthis.persistAuthData();\r\n\t\t\t\tconst urlToRedirectTo = this._returnUrl ? this._returnUrl : '/borrower-portal';\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tconst applyUrl = `${window.location.protocol}//${window.location.host}${urlToRedirectTo}?${this._queryParams}`;\r\n\t\t\t\t\twindow.location.href = applyUrl;\r\n\t\t\t\t}, 2000);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis._activatedRouteQueryParamsSubscription?.unsubscribe();\r\n\t\tthis._activatedRouteParamsSubscription?.unsubscribe();\r\n\t}\r\n\r\n\tprivate persistAuthData = () => {\r\n\t\tlet jwtPayload = this._utilsService.parseJwt(this._token);\r\n\r\n\t\tlocalStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n\t\t\ttoken: this._token,\r\n\t\t\tuserName: jwtPayload['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'],\r\n\t\t\tuserId: jwtPayload['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier'],\r\n\t\t\tscope: 'Borrower',\r\n\t\t\tcompanyGuid: jwtPayload.CompanyGuid,\r\n\t\t\texpiresAt: this._utilsService.getTokenExpireDate(jwtPayload.exp)\r\n\t\t}));\r\n\t}\r\n}","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { StepConfigFactory } from '../../models/wizard/config/factories/step-config.factory';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\nimport { StepType } from '../../models/wizard/config/step-type.enum';\r\nimport { WizardFlowConfig } from '../../models/wizard/config/wizard-flow-config.model';\r\nimport * as _ from 'lodash';\r\nimport { NgForm } from '@angular/forms';\r\nimport { StepTypeConfigFactory } from '../../models/wizard/config/factories/step-type-config.factory';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { stepGroupColors } from '../step-group-colors';\r\n\r\n@Component({\r\n selector: 'create-step',\r\n templateUrl: 'create-step.component.html'\r\n})\r\nexport class CreateStepComponent implements OnInit {\r\n\r\n @ViewChild('createStepForm') createStepForm: NgForm | undefined;\r\n\r\n step: StepConfig | undefined;\r\n\r\n stepCreationMethod: StepCreationMethod = StepCreationMethod.CopyExisting;\r\n\r\n @Input()\r\n flow!: WizardFlowConfig;\r\n\r\n @Input()\r\n defaultFlow!: WizardFlowConfig;\r\n\r\n @Output()\r\n newStepCreated: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n newStepCreationCancelled: EventEmitter = new EventEmitter();\r\n\r\n stepIdToCopy: string | undefined = null;\r\n stepIdToInsertAfter: string | undefined = \"\";\r\n groupToPutStepInto: EnumerationItem | undefined = null;\r\n\r\n stepTypeForNewStep: string = \"\";\r\n\r\n stepTypes: any[] = [];\r\n\r\n copyExistingStep: boolean = false;\r\n copyExistingDefaultStep: boolean = false;\r\n\r\n existingStepsOfTheSameTypeInFlow: StepConfig[] = [];\r\n existingStepsOfTheSameTypeInDefaultFlow: StepConfig[] = [];\r\n\r\n stepsToChooseFromForCopying: StepConfig[] = [];\r\n\r\n protected stepGroups: EnumerationItem[] = [\r\n { value: 1, name: 'My Info' },\r\n { value: 2, name: 'My Finances' },\r\n { value: 3, name: 'Property & Loan' },\r\n { value: 4, name: 'Declarations' },\r\n { value: 5, name: 'Review & Submit' }\r\n ];\r\n\r\n protected stepGroupColors = stepGroupColors;\r\n\r\n constructor(private readonly _stepFactory: StepConfigFactory,\r\n private readonly _stepTypeConfigFactory: StepTypeConfigFactory) {\r\n for (var stepType in StepType) {\r\n if (isNaN(Number(stepType))) {\r\n const name = stepType.replace(/([a-z])([A-Z])/g, '$1 $2');\r\n if (stepType === 'CheckListsStep') {\r\n // TODO: Kaan, Hack, find a better fix for this\r\n this.stepTypes.push({ id: StepType[stepType], name: 'Checklists Step' });\r\n } else {\r\n this.stepTypes.push({ id: StepType[stepType], name: name });\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onCopyExistingDefaultStepSelectionChanged = () => {\r\n if (this.copyExistingDefaultStep) {\r\n this.stepCreationMethod = StepCreationMethod.CopyFromDefault;\r\n } else {\r\n this.stepCreationMethod = StepCreationMethod.BrandNew;\r\n }\r\n }\r\n\r\n onStepCreationMethodChanged = () => {\r\n const stepType = Number(this.stepTypeForNewStep);\r\n if (this.stepCreationMethod == StepCreationMethod.CopyExisting) {\r\n this.copyFromExistingFlow(stepType, StepCreationMethod.CopyExisting, this.flow);\r\n } else if (this.stepCreationMethod == StepCreationMethod.CopyFromDefault) {\r\n this.copyFromExistingFlow(stepType, StepCreationMethod.CopyFromDefault, this.defaultFlow);\r\n } else {\r\n this.step = this._stepFactory.createConfig(Number(this.stepTypeForNewStep), this.flow);\r\n }\r\n }\r\n\r\n onStepTypeChanged = () => {\r\n this.stepCreationMethod = StepCreationMethod.BrandNew;\r\n const stepType = Number(this.stepTypeForNewStep);\r\n\r\n const stepTypeConfig = this._stepTypeConfigFactory.getStepTypeConfig(stepType);\r\n let path: string = undefined;\r\n if (stepTypeConfig) {\r\n path = stepTypeConfig.path;\r\n }\r\n this.step = this._stepFactory.createConfig(stepType, this.flow, undefined, path);\r\n // Here, see if there is a step with the same type in the current flow, if not check if that exists in the default flow\r\n // And, if that is not the case, a brand new step will be created...\r\n this.existingStepsOfTheSameTypeInFlow = this.flow.steps.filter(s => s.stepType == stepType);\r\n this.existingStepsOfTheSameTypeInDefaultFlow = this.defaultFlow.steps.filter(s => s.stepType == stepType);\r\n if (this.existingStepsOfTheSameTypeInFlow && this.existingStepsOfTheSameTypeInFlow.length > 0) {\r\n this.copyFromExistingFlow(stepType, StepCreationMethod.CopyExisting, this.flow);\r\n } else if (this.existingStepsOfTheSameTypeInDefaultFlow && this.existingStepsOfTheSameTypeInDefaultFlow.length > 0) {\r\n this.copyFromExistingFlow(stepType, StepCreationMethod.CopyFromDefault, this.defaultFlow);\r\n }\r\n }\r\n\r\n copyFromExistingFlow = (stepType: StepType, copyType: StepCreationMethod, copyFromFlow: WizardFlowConfig) => {\r\n this.stepCreationMethod = copyType;\r\n this.copyExistingStep = copyType == StepCreationMethod.CopyExisting;\r\n this.copyExistingDefaultStep = copyType == StepCreationMethod.CopyFromDefault;\r\n this.stepsToChooseFromForCopying = copyFromFlow.steps.filter(s => s.stepType == stepType);\r\n const idOfStepToCopy = this.stepsToChooseFromForCopying[0].id;\r\n this.step = this.copyStep(this.stepsToChooseFromForCopying[0]);\r\n this.groupToPutStepInto = this.stepGroups.find(g => g.value == this.step.groupId);\r\n setTimeout(() => {\r\n this.stepIdToCopy = idOfStepToCopy;\r\n });\r\n }\r\n\r\n onStepToCopyChanged = () => {\r\n if (this.stepIdToCopy?.length == 0) {\r\n this.step = undefined;\r\n return;\r\n }\r\n let stepToCopy: StepConfig | undefined = undefined;\r\n const flowToCopyFrom: WizardFlowConfig = this.copyExistingStep ? this.flow : this.defaultFlow;\r\n stepToCopy = flowToCopyFrom.steps.find(s => s.id === this.stepIdToCopy);\r\n\r\n if (stepToCopy) {\r\n this.step = this.copyStep(stepToCopy);\r\n }\r\n }\r\n\r\n onCancelClicked = () => {\r\n this.newStepCreationCancelled.emit();\r\n }\r\n\r\n onCreateClicked() {\r\n if (this.createStepForm) {\r\n this.createStepForm.form.markAllAsTouched();\r\n if (this.createStepForm.form.valid) {\r\n if (this.step) {\r\n this.step.groupId = this.groupToPutStepInto?.value;\r\n if (this.flow.steps.length === 0) {\r\n this.flow.steps.push(this.step);\r\n } else {\r\n if (this.stepIdToInsertAfter === \"-1\") {\r\n // Insert into the first item\r\n this.flow.steps.splice(0, 0, this.step);\r\n } else {\r\n const stepToInsertAfter = this.flow.steps.find(s => s.id == this.stepIdToInsertAfter);\r\n if (stepToInsertAfter) {\r\n const index = this.flow.steps.indexOf(stepToInsertAfter);\r\n this.flow.steps.splice(index + 1, 0, this.step);\r\n }\r\n }\r\n }\r\n this.newStepCreated.emit(this.step);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private copyStep = (step: StepConfig): StepConfig => {\r\n let copy = _.cloneDeep(step);\r\n let maxStepId = 0;\r\n if (this.flow.steps && this.flow.steps.length) {\r\n maxStepId = Math.max(...this.flow.steps.map(o => isNaN(o.id as any) ? -9999 : Number(o.id)));\r\n }\r\n copy.id = (maxStepId + 1).toString();\r\n const stepsOfTheSameTypeAlreadyInFlow = this.flow.steps.filter(s => s.stepType == copy.stepType);\r\n copy.path = step.path;\r\n if (stepsOfTheSameTypeAlreadyInFlow && stepsOfTheSameTypeAlreadyInFlow.length > 0) {\r\n copy.path = step.path + \"-\" + (stepsOfTheSameTypeAlreadyInFlow.length + 1).toString();\r\n }\r\n return copy;\r\n }\r\n}\r\n\r\nexport enum StepCreationMethod {\r\n BrandNew = \"1\",\r\n CopyExisting = \"2\",\r\n CopyFromDefault = \"3\"\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n 0\">\r\n
0 && existingStepsOfTheSameTypeInDefaultFlow.length === 0\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
0 && existingStepsOfTheSameTypeInDefaultFlow.length > 0\">\r\n \r\n
\r\n \r\n
\r\n
\r\n
0 && existingStepsOfTheSameTypeInFlow.length === 0\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Step to copy is required.
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
0\">\r\n
\r\n \r\n \r\n
You need to pick the step to insert after.
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ groupToPutStepInto.name }}\r\n
\r\n
\r\n \r\n
\r\n {{ group.name }}\r\n
\r\n
\r\n
\r\n
You need to pick a group.
\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
Name is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Path is required.
\r\n
\r\n
\r\n \r\n \r\n
Next Step Decider is required.
\r\n
\r\n
\r\n
\r\n
\r\n Cancel\r\n OK\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\n\r\nimport { AfterViewInit, Component, forwardRef, Input, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport * as _ from 'lodash';\r\nimport { WizardFlowDecisionContext } from '../../models/wizard-flow-decision-context.model';\r\nimport { ContextExtractor } from '../../services/context-extractor';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\n\r\n@Component({\r\n selector: 'expression-editor',\r\n templateUrl: 'expression-editor.component.html',\r\n styleUrls: ['expression-editor.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => ExpressionEditorComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\n\r\nexport class ExpressionEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor {\r\n\r\n @Input()\r\n name: string;\r\n\r\n expression: string = \"\";\r\n\r\n triggerCharacter = '';\r\n\r\n private _lastWord: string = \"\";\r\n\r\n private _currentListOfChoices: string[] = [];\r\n\r\n private _currentObject: any = undefined;\r\n\r\n private _newWordStarted: boolean = false;\r\n\r\n private _searchText: string = \"\";\r\n\r\n private _isMenuVisible: boolean = false;\r\n\r\n onChange: any = () => { };\r\n\r\n onTouch: any = () => { };\r\n\r\n _decisionContext: WizardFlowDecisionContext | undefined;\r\n\r\n keyboardShortcut = (event: KeyboardEvent) => {\r\n\r\n if (this._isMenuVisible) {\r\n return false;\r\n }\r\n\r\n this._searchText = event.key;\r\n\r\n if ((event.keyCode === 32 || event.code === '32') && event.ctrlKey) {\r\n return true;\r\n }\r\n\r\n let key = event.key;\r\n\r\n // Nothing is selected, we start from scratch at the root\r\n if (this._lastWord === '') {\r\n const contextProperties = Object.getOwnPropertyNames(this._decisionContext).filter((c: any) => isNaN(c));;\r\n this._currentListOfChoices = contextProperties;\r\n } else {\r\n if (event.key == '.') {\r\n this.triggerCharacter = '.';\r\n return true;\r\n }\r\n }\r\n\r\n let found = this._currentListOfChoices.find(p => p.includes(key));\r\n if (found) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase) {\r\n this._decisionContext = ContextExtractor.prepareDecisionContext(this._wizardFlowService.context);\r\n }\r\n\r\n get value(): string {\r\n return this.expression;\r\n }\r\n\r\n writeValue(expression: any): void {\r\n this.expression = expression;\r\n this.onChange(this.value);\r\n }\r\n\r\n registerOnChange(fn: (rating: number) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //$(\"#expression\").focus();\r\n }\r\n\r\n ngOnInit() {\r\n this._currentObject = this._decisionContext;\r\n }\r\n\r\n onMenuShown = () => {\r\n this._searchText = '';\r\n this._isMenuVisible = true;\r\n }\r\n\r\n onKeyDown(event: any) {\r\n if (event.code === 'Enter') {\r\n event.preventDefault();\r\n return;\r\n }\r\n if (event.code === 'Space') {\r\n this._newWordStarted = true;\r\n }\r\n }\r\n\r\n onMenuHidden = () => {\r\n this._isMenuVisible = false;\r\n }\r\n\r\n findChoices = (searchText: string) => {\r\n if (searchText.length === 0 && this._searchText.length > 0 && this._searchText != '.') {\r\n searchText = this._searchText;\r\n }\r\n return this._currentListOfChoices.filter(item =>\r\n item.toLowerCase().includes(searchText.toLowerCase())\r\n );\r\n }\r\n\r\n getChoiceLabel = (choice: string) => {\r\n if (this._newWordStarted || !this.triggerCharacter) {\r\n this._newWordStarted = false;\r\n this.triggerCharacter = '.';\r\n return choice;\r\n }\r\n return '.' + choice;\r\n }\r\n\r\n onExpressionChanged = () => {\r\n this.writeValue(this.expression);\r\n const lastWord = this.expression.split(\" \").splice(-1)[0];\r\n this._lastWord = lastWord;\r\n this.decideOnCurrentObjectContext(lastWord);\r\n const lastCharacter = this.expression.charAt(this.expression.length - 1);\r\n if (lastCharacter === ' ' || this.expression.length === 0) {\r\n this._newWordStarted = true;\r\n this.triggerCharacter = '';\r\n }\r\n }\r\n\r\n decideOnCurrentObjectContext = (lastWord: string) => {\r\n let currentObject: any = this._decisionContext;\r\n const tokens = lastWord.split('.');\r\n tokens.forEach((token: string) => {\r\n if (token.length > 0)\r\n currentObject = currentObject[token];\r\n });\r\n if (currentObject != null) {\r\n if (typeof currentObject === 'object') {\r\n this._currentObject = currentObject;\r\n this._currentListOfChoices = Object.getOwnPropertyNames(this._currentObject).filter((c: any) => isNaN(c));\r\n } else {\r\n this._currentListOfChoices = [];\r\n }\r\n } else {\r\n if (!this._currentObject) {\r\n this._currentObject = this._decisionContext;\r\n this._currentListOfChoices = this.getPossibleChoicesFromObject(this._currentObject);\r\n }\r\n }\r\n }\r\n\r\n getPossibleChoicesFromObject = (o: any): string[] => {\r\n const choices = Object.getOwnPropertyNames(this._currentObject).filter((c: any) => isNaN(c)).map((c: any) => {\r\n if (typeof c === 'function') {\r\n return c + '()';\r\n }\r\n return c;\r\n });\r\n return choices;\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ExpressionNextStepDeciderConfig } from '../../models/wizard/config/expression-next-step-decider-config.model';\r\nimport { WizardFlowConfig } from '../../models/wizard/config/wizard-flow-config.model';\r\n\r\ndeclare const $: any;\r\n\r\n@Component({\r\n selector: 'expression-next-step-decider-editor',\r\n templateUrl: 'expression-next-step-decider-editor.component.html'\r\n})\r\n\r\nexport class ExpressionNextStepDeciderEditorComponent implements OnInit {\r\n\r\n @ViewChild(\"expressionForm\")\r\n expressionForm: NgForm\r\n\r\n @Input()\r\n config: ExpressionNextStepDeciderConfig | undefined;\r\n\r\n @Output()\r\n expressionEditingCancelled: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n expressionEditingOked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n expressionsChanged: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n flow!: WizardFlowConfig;\r\n\r\n @Input()\r\n showButtons: boolean = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onOkClicked = () => {\r\n if (this.expressionForm) {\r\n this.expressionForm.form.markAllAsTouched();\r\n if (!this.expressionForm.form.valid) {\r\n return;\r\n }\r\n }\r\n this.expressionEditingOked.emit();\r\n }\r\n\r\n onCancelClicked = () => {\r\n this.expressionEditingCancelled.emit();\r\n }\r\n\r\n onConfigChanged = () => {\r\n this.expressionsChanged.emit();\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
This field 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
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
This field 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
This field is required.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cancel\r\n OK\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { AfterViewInit, Component, OnDestroy, OnInit, Type, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { SvgUtilsService } from 'projects/shared/svg-icons/svg-utils.service';\r\nimport { ExpressionNextStepDeciderConfig } from '../../models/wizard/config/expression-next-step-decider-config.model';\r\nimport { NextStepDeciderType } from '../../models/wizard/config/next-step-decider-type.enum';\r\nimport { SimpleNextStepDeciderConfig } from '../../models/wizard/config/simple-next-step-decider-config.model';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\nimport { WizardFlowConfig, WizardFlowConfigs } from '../../models/wizard/config/wizard-flow-config.model';\r\nimport { WizardFlowConfigServiceBase } from '../../services/wizard/wizard-flow-config-service.base';\r\nimport { FlowSummaryComponent } from '../flow-summary/flow-summary.component';\r\n\r\ndeclare const KTDrawer: any;\r\ndeclare const KTApp: any;\r\n\r\nimport { FlowStepComponent } from '../flow-step/flow-step.component';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { Constants } from '../../services/constants';\r\n\r\ndeclare const $: any;\r\nimport * as _ from 'lodash';\r\nimport { StepExpression } from '../../models/wizard/step-expression.model';\r\nimport { FlowStepEditorComponent } from '../flow-step-editor/flow-step-editor.component';\r\nimport { FlowType } from '../../models/wizard/config/flow-type.enum';\r\nimport { CreateStepComponent } from '../create-step/create-step.component';\r\nimport { StepSelectorComponent } from '../step-selector/step-selector.component';\r\nimport { StepTypeConfigFactory } from '../../models/wizard/config/factories/step-type-config.factory';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\nimport { DynamicallyRenderedContentComponent } from 'projects/shared/dynamically-rendered-component/dynamically-rendered.component';\r\nimport { ExpressionNextStepDeciderEditorComponent } from '../expression-next-step-decider-editor/expression-next-step-decider-editor.component';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FlowConfigSaveDialogComponent } from '../../wizard/wizard-steps/config/config-save-dialog/flow-config-save-dialog.component';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { WizardFlowSettings } from '../../models/wizard/config/flow-settings.model';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { FlowConfig } from '../../models/wizard/config/flow-config.model';\r\nimport { FlowListDialogComponent } from '../../wizard/wizard-steps/config/flow-list-dialog/flow-list-dialog.component';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { isArray } from 'lodash';\r\n\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'flow-editor-v2',\r\n templateUrl: 'flow-editor-main-v2.component.html',\r\n styleUrls: ['flow-editor-main-v2.component.scss']\r\n})\r\n\r\nexport class FlowEditorV2Component implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('stepPreview') stepPreview: DynamicallyRenderedContentComponent | undefined;\r\n\r\n @ViewChild('template', { static: true }) _template: any;\r\n\r\n @ViewChild('sourceFlowStep') sourceFlowStep: FlowStepComponent | undefined;\r\n\r\n @ViewChild(FlowSummaryComponent) flowSummary: FlowSummaryComponent | undefined;\r\n\r\n @ViewChild('stepEditor') stepEditor!: FlowStepEditorComponent | undefined;\r\n @ViewChild('stepSelector') stepSelector!: StepSelectorComponent | undefined;\r\n @ViewChild('createStep') stepCreator!: CreateStepComponent | undefined;\r\n @ViewChild('expressionEditor') expressionEditor!: ExpressionNextStepDeciderEditorComponent | undefined;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"body\"\r\n };\r\n\r\n previewZoomValue: number = 8;\r\n\r\n logoUrl: string = \"\";\r\n\r\n componentBeingPreviewed: Type | undefined;\r\n\r\n flow!: WizardFlowConfig;\r\n defaultFlow!: WizardFlowConfig;\r\n\r\n flowConfigs!: WizardFlowConfigs | undefined;\r\n\r\n sourceStep: StepConfig | undefined;\r\n stepToEdit!: StepConfig | undefined;\r\n\r\n destinationSteps: StepConfig[] = [];\r\n\r\n conditions: any = {};\r\n\r\n rightDrawerHeader: string = \"\";\r\n\r\n action: string = \"\";\r\n\r\n idSeed: number = 0;\r\n\r\n flowType: FlowType = FlowType.Apply;\r\n flowTypeName: string = \"\";\r\n flowGuid: string | undefined = \"\";\r\n\r\n expressionNextStepDeciderConfigToEdit: ExpressionNextStepDeciderConfig | undefined;\r\n\r\n allFlows: FlowConfig[] = [];\r\n\r\n get inEditMode(): boolean {\r\n return this._flowService.inEditMode;\r\n }\r\n\r\n set inEditMode(value: boolean) {\r\n this._flowService.inEditMode = value;\r\n }\r\n\r\n private _expressionEditOkedSubscription: any;\r\n\r\n private _wizardFlowSettings: WizardFlowSettings = new WizardFlowSettings();\r\n\r\n private _flowBeingEdited: FlowConfig | null = null;\r\n\r\n onEditModeToggled = () => {\r\n }\r\n\r\n onZoomChanged = () => {\r\n const zoomScale = Number(this.previewZoomValue) / 10;\r\n this._utilsService.setZoom(zoomScale, document.getElementsByClassName('step-preview')[0]);\r\n }\r\n\r\n drop(ev: any) {\r\n ev.preventDefault();\r\n $(\"#flow-editor-svg\").removeClass(\"over\");\r\n if (!this.sourceStep) {\r\n return;\r\n }\r\n var stepId = ev.dataTransfer.getData(\"text\");\r\n\r\n // First check if there is already one of that type in the flow\r\n const stepInFlow = this.flow.steps.find(s => s.id == stepId);\r\n if (stepInFlow) {\r\n if (this.sourceStep.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Simple) {\r\n // If there is one, just make the source step's next step decider simple and add this existing step as destination\r\n this.sourceStep.nextStepDeciderConfig = new SimpleNextStepDeciderConfig(stepInFlow.path);\r\n } else {\r\n let expressionNextStepDecider = this.sourceStep.nextStepDeciderConfig;\r\n if (!expressionNextStepDecider.ifStepExpression || !expressionNextStepDecider.ifStepExpression.goToPath) {\r\n expressionNextStepDecider.ifStepExpression = new StepExpression(\"\", stepInFlow.path);\r\n } else if (!expressionNextStepDecider.elseStepPath) {\r\n expressionNextStepDecider.elseStepPath = stepInFlow.path;\r\n } else {\r\n if (!expressionNextStepDecider.elseIfStepExpressions) {\r\n expressionNextStepDecider.elseIfStepExpressions = [];\r\n }\r\n expressionNextStepDecider.elseIfStepExpressions.push(new StepExpression(\"\", expressionNextStepDecider.elseStepPath));\r\n expressionNextStepDecider.elseStepPath = stepInFlow.path;\r\n }\r\n }\r\n }\r\n\r\n this.redrawFlowEditor();\r\n }\r\n\r\n allowDrop(ev: any) {\r\n ev.preventDefault();\r\n }\r\n\r\n handleDragEnter(ev: any) {\r\n $(\"#flow-editor-svg\").addClass(\"over\");\r\n }\r\n\r\n handleDragLeave(ev: any) {\r\n $(\"#flow-editor-svg\").removeClass(\"over\");\r\n }\r\n\r\n constructor(private readonly _flowConfigService: WizardFlowConfigServiceBase,\r\n private readonly _flowService: WizardFlowServiceBase,\r\n private readonly _svgUtils: SvgUtilsService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _viewContainerRef: ViewContainerRef,\r\n private readonly _stepTypeConfigFactory: StepTypeConfigFactory,\r\n private readonly _modalService: ModalService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _authService: AuthService) {\r\n this._flowService.inEditMode = true;\r\n this.logoUrl = \"/assets/images/logo.png\";\r\n if (this._flowService.companyGuid || this._flowService.companyId) {\r\n var companyGuidOrId = this._flowService.companyGuid ? this._flowService.companyGuid : this._flowService.companyId;\r\n this.logoUrl = this._environment.companyLogoUrl + companyGuidOrId;\r\n }\r\n if (this._navigationService.editToken) {\r\n this._authService.setAdminToken(this._navigationService.editToken);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.flowGuid = this._utilsService.getUrlParameter(Constants.flowGuid);\r\n this._viewContainerRef.createEmbeddedView(this._template);\r\n this.destinationSteps.push();\r\n this._flowService.getFlowConfigs()!.subscribe((flows: FlowConfig[]) => {\r\n this.allFlows = flows;\r\n this._flowBeingEdited = this.allFlows.find(f => f.flowGuid === this.flowGuid);\r\n })\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let flowType: FlowType = this._utilsService.getUrlParameter(\"flowType\");\r\n setTimeout(() => {\r\n if (flowType) {\r\n this.flowType = flowType;\r\n }\r\n this._flowService.initializeFlowsInPreviewMode(this.getEntryPath(this.flowType)).then(flowConfigs => {\r\n this.flowConfigs = flowConfigs;\r\n this.setFlowData(this.flowType);\r\n });\r\n KTDrawer.createInstances();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._expressionEditOkedSubscription) {\r\n this._subscriptionToConfigEdited.unsubscribe();\r\n }\r\n }\r\n\r\n onWizardFlowSettingsChanged = (e: WizardFlowSettings) => {\r\n this._wizardFlowSettings = e;\r\n }\r\n\r\n onNewStepCreationCancelled = () => {\r\n this.hideRightDrawer();\r\n }\r\n\r\n onEditStepCancelled = () => {\r\n this.stepToEdit = this._originalStep;\r\n this.sourceStep = this._originalStep;\r\n const step = this.flow.steps.find(s => s.id == this.stepToEdit?.id);\r\n if (step) {\r\n const index = this.flow.steps.indexOf(step);\r\n if (index >= 0 && this.stepToEdit) {\r\n this.flow.steps[index] = this.stepToEdit;\r\n }\r\n }\r\n this.redrawFlowEditor();\r\n this.hideRightDrawer();\r\n }\r\n\r\n onStepEditingOked = () => {\r\n this.hideRightDrawer();\r\n this.redrawFlowEditor();\r\n }\r\n\r\n onStepNextStepDeciderChanged = (step: StepConfig) => {\r\n this.redrawFlowEditor();\r\n }\r\n\r\n private _subscriptionToConfigCreated: any;\r\n private _subscriptionToConfigEdited: any;\r\n onSaveFlowClicked = () => {\r\n if (this.flowConfigs) {\r\n const modal = this._modalService.show(FlowConfigSaveDialogComponent, this.modalOptions);\r\n modal.componentInstance.title = this.flowConfigs.title;\r\n modal.componentInstance.comment = this.flowConfigs.comment;\r\n modal.componentInstance.guid = this.flowConfigs.guid;\r\n //this._flowConfig.navigationType = this.navType;\r\n this._subscriptionToConfigCreated = modal.componentInstance.saveClickedEmitterForCreate\r\n .subscribe((e: any) => this.onSaveClickedOnSaveModalForCreate(e.title, e.comment));\r\n this._subscriptionToConfigEdited = modal.componentInstance.saveClickedEmitterForEdit\r\n .subscribe((e: any) => this.onSaveClickedOnSaveModalForEdit(e.title, e.comment));\r\n }\r\n }\r\n\r\n onDrawerCloseClicked = () => {\r\n if (this.action == \"edit-step\") {\r\n this.onEditStepCancelled();\r\n return;\r\n }\r\n if (this.action == \"edit-expression\") {\r\n this.onEditStepCancelled();\r\n return;\r\n }\r\n if (this.action == \"create-step\") {\r\n this.onNewStepCreationCancelled();\r\n return;\r\n }\r\n this.hideRightDrawer();\r\n }\r\n\r\n onGotoFlowClicked = () => {\r\n this._flowService.navigateToFlow(this.flowGuid);\r\n }\r\n\r\n onFlowsClicked = () => {\r\n const modal = this._modalService.show(FlowListDialogComponent, this.modalOptions);\r\n }\r\n\r\n onNewStepCreated = (step: StepConfig) => {\r\n this.hideRightDrawer();\r\n this._flowService.addNewStepToActiveFlow(step);\r\n this.redrawFlowEditor();\r\n }\r\n\r\n onCreateStepClicked = () => {\r\n this.action = \"create-step\";\r\n this.rightDrawerHeader = \"Create New Step\";\r\n this.showRightDrawer();\r\n setTimeout(() => {\r\n if (this.stepCreator) {\r\n this.stepCreator!.stepTypeForNewStep = \"\";\r\n }\r\n });\r\n }\r\n\r\n onFlowTypeChanged = () => {\r\n let promise = null;\r\n if (this.flowType == FlowType.Register) {\r\n promise = this._flowService.initializeFlowsInPreviewMode(Constants.flowEndpoints.register);\r\n } else if (this.flowType == FlowType.Apply) {\r\n promise = this._flowService.initializeFlowsInPreviewMode(Constants.flowEndpoints.apply);\r\n } else {\r\n promise = this._flowService.initializeFlowsInPreviewMode(Constants.flowEndpoints.coApply);\r\n }\r\n if (promise) {\r\n promise.then(flowConfigs => {\r\n this.flowConfigs = flowConfigs;\r\n this.setFlowData(this.flowType);\r\n this.flowSummary?.redraw(this.flow);\r\n });\r\n }\r\n }\r\n\r\n onDeleteAllStepsClicked = () => {\r\n this.stepToEdit = undefined;\r\n this.flow.steps = [];\r\n this.sourceStep = undefined;\r\n this.redrawFlowEditor();\r\n }\r\n\r\n onCopyFromDefaultClicked = () => {\r\n\r\n }\r\n\r\n onStepSelected = (step: StepConfig) => {\r\n this.hideRightDrawer();\r\n this.stepToEdit = step;\r\n setTimeout(() => {\r\n if (this.stepPreview) {\r\n this.loadStepPreview(step);\r\n }\r\n });\r\n }\r\n\r\n private _originalStep: StepConfig | undefined;\r\n onEditStepClicked = (step: StepConfig) => {\r\n this._originalStep = _.cloneDeep(step);\r\n this.action = \"edit-step\";\r\n this.stepToEdit = step;\r\n this.rightDrawerHeader = \"Editing Step - \" + step.name!;\r\n this.showRightDrawer();\r\n }\r\n\r\n onStepSelectedOnFlowSummary = (step) => {\r\n this.destinationSteps = [];\r\n this.sourceStep = step;\r\n this.stepToEdit = step;\r\n this.configureDestinationSteps(this.sourceStep);\r\n setTimeout(() => {\r\n this.connectSteps();\r\n KTApp.initBootstrapTooltips();\r\n this.onStepSelected(step);\r\n }, 300);\r\n }\r\n\r\n onAddStepClicked = (step: StepConfig) => {\r\n this.action = \"add-step\";\r\n this.rightDrawerHeader = \"Select a Next Step\";\r\n this.showRightDrawer();\r\n }\r\n\r\n onStepDeleteClicked = (step: StepConfig) => {\r\n const stepToDelete = this.flow.steps.find(s => s.id === step.id);\r\n if (stepToDelete) {\r\n const index = this.flow.steps.indexOf(stepToDelete);\r\n if (index >= 0) {\r\n this.flow.steps.splice(index, 1);\r\n if (this.sourceFlowStep) {\r\n if (stepToDelete.id == this.sourceStep?.id) {\r\n this.sourceStep = undefined;\r\n this.destinationSteps = [];\r\n }\r\n }\r\n this.stepToEdit = undefined;\r\n this.redrawFlowEditor();\r\n }\r\n }\r\n }\r\n\r\n onDeleteStepFromNextStepDestinationsClicked = (step: StepConfig) => {\r\n if (this.sourceStep?.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Simple) {\r\n (this.sourceStep.nextStepDeciderConfig).gotoStepPath = undefined;\r\n } else {\r\n let expressionNextStepDecider = this.sourceStep?.nextStepDeciderConfig;\r\n if (expressionNextStepDecider.ifStepExpression) {\r\n if (expressionNextStepDecider.ifStepExpression.goToPath == step.path) {\r\n Swal.fire(\r\n 'No can do!',\r\n 'You are not allowed to remove a destination step that is linked with an IF condition. You can configure the condition or the destination by clicking on the link though.',\r\n 'error'\r\n );\r\n //expressionNextStepDecider.ifStepExpression = new StepExpression(\"\", \"\");\r\n }\r\n }\r\n if (expressionNextStepDecider.elseIfStepExpressions) {\r\n let elseIfExpression = expressionNextStepDecider.elseIfStepExpressions.find(e => e.goToPath == step.path);\r\n if (elseIfExpression) {\r\n const index = expressionNextStepDecider.elseIfStepExpressions.indexOf(elseIfExpression);\r\n if (index >= 0) {\r\n expressionNextStepDecider.elseIfStepExpressions.splice(index, 1);\r\n }\r\n }\r\n }\r\n if (expressionNextStepDecider.elseStepPath == step.path) {\r\n if (!expressionNextStepDecider.elseIfStepExpressions || expressionNextStepDecider.elseIfStepExpressions.length === 0) {\r\n Swal.fire(\r\n 'No can do!',\r\n 'You are not allowed to remove a destination step that is linked with an ELSE condition. You can configure the condition or the destination by clicking on the link though.',\r\n 'error'\r\n );\r\n return;\r\n }\r\n expressionNextStepDecider.elseStepPath = undefined;\r\n // If there are ELSE IFs, convert the last one ELSE\r\n if (expressionNextStepDecider.elseIfStepExpressions && expressionNextStepDecider.elseIfStepExpressions.length > 0) {\r\n const indexOfLast = expressionNextStepDecider.elseIfStepExpressions.length - 1;\r\n expressionNextStepDecider.elseStepPath = expressionNextStepDecider.elseIfStepExpressions[indexOfLast].goToPath;\r\n expressionNextStepDecider.elseIfStepExpressions.splice(indexOfLast, 1);\r\n }\r\n }\r\n }\r\n this.redrawFlowEditor();\r\n }\r\n\r\n private getEntryPath = (flowType: FlowType): string => {\r\n switch (Number(flowType)) {\r\n case FlowType.Apply:\r\n return Constants.flowEndpoints.apply;\r\n case FlowType.Register:\r\n return Constants.flowEndpoints.register;\r\n case FlowType.CoApply:\r\n return Constants.flowEndpoints.coApply;\r\n default:\r\n return Constants.flowEndpoints.apply;\r\n }\r\n }\r\n\r\n private onSaveClickedOnSaveModalForCreate = (title: string, comment: string) => {\r\n let settings = new WizardFlowSettings();\r\n settings.title = title;\r\n settings.comment = comment;\r\n settings.hasProgressBar = this._wizardFlowSettings.hasProgressBar;\r\n settings.navigationType = this._wizardFlowSettings.navigationType;\r\n settings.navGroups = this._flowService.activeFlowConfig.stepGroups;\r\n const step = this._flowService.getCurrentStep();\r\n //settings.navigationType = this.navType;\r\n //this.startSpinner();\r\n const self = this;\r\n this._flowService.createFlowConfig(this.flowType, step, settings)?.subscribe(result => {\r\n this.inEditMode = false;\r\n Swal.fire(\r\n 'Success!',\r\n 'Your flow config has been successfully created with a new Guid: ' + result.flowGuid,\r\n 'success'\r\n ).then(function (modalResult: any) {\r\n if (modalResult.value) {\r\n // Navigate to the new flow after creation\r\n self._navigationService.navigateToFlowEditor(result.flowGuid);\r\n }\r\n });\r\n }, err => {\r\n let errorHtml = \"
An error occurred while saving the flow.
\";\r\n if (err.error && err.error.errors && err.error.errors) {\r\n Object.keys(err.error.errors).forEach(key => {\r\n if (isArray(err.error.errors[key])) {\r\n err.error.errors[key].forEach(errorMessage => {\r\n errorHtml += `
${errorMessage}
`\r\n })\r\n }\r\n })\r\n }\r\n Swal.fire({\r\n title: 'Error!',\r\n html: errorHtml,\r\n icon: 'error'\r\n }\r\n );\r\n });\r\n }\r\n\r\n private onSaveClickedOnSaveModalForEdit = (title: string, comment: string) => {\r\n const step = this._flowService.getCurrentStep();\r\n let settings = new WizardFlowSettings();\r\n settings.title = title;\r\n settings.comment = comment;\r\n settings.hasProgressBar = this._wizardFlowSettings.hasProgressBar;\r\n settings.navigationType = this._wizardFlowSettings.navigationType;\r\n settings.isDefault = this._flowBeingEdited?.isDefault;\r\n settings.isActive = this._flowBeingEdited?.active;\r\n settings.navGroups = this._flowService.activeFlowConfig.stepGroups;\r\n const self = this;\r\n this._flowService.updateFlowConfig(this.flowType, step, settings)?.subscribe(() => {\r\n const stepConfig = self._flowConfigService.getConfig(this.flowType, step);\r\n self.onStepSelected(stepConfig);\r\n self.inEditMode = false;\r\n Swal.fire(\r\n 'Success!',\r\n 'Your flow config has been successfully saved.',\r\n 'success'\r\n );\r\n }, err => {\r\n let errorHtml = \"
An error occurred while saving the flow.
\";\r\n if (err.error && err.error.errors && err.error.errors) {\r\n Object.keys(err.error.errors).forEach(key => {\r\n if (isArray(err.error.errors[key])) {\r\n err.error.errors[key].forEach(errorMessage => {\r\n errorHtml += `
${errorMessage}
`\r\n })\r\n }\r\n })\r\n }\r\n Swal.fire({\r\n title: 'Error!',\r\n html: errorHtml,\r\n icon: 'error'\r\n }\r\n );\r\n });\r\n }\r\n\r\n private setFlowData = (flowType: FlowType) => {\r\n this.flowType = flowType;\r\n this.stepToEdit = undefined;\r\n this.sourceStep = undefined;\r\n this.destinationSteps = [];\r\n if (!this.flowConfigs) {\r\n return;\r\n }\r\n if (this.flowType == FlowType.Apply) {\r\n this.flow = this.flowConfigs.applicationFlowConfig;\r\n this.defaultFlow = this._flowConfigService.defaultFlowConfigs.applicationFlowConfig;\r\n this.flowTypeName = \"Apply Flow\";\r\n } else if (flowType == FlowType.Register) {\r\n this.flow = this.flowConfigs.registrationFlowConfig;\r\n this.defaultFlow = this._flowConfigService.defaultFlowConfigs.registrationFlowConfig;\r\n this.flowTypeName = \"Register Flow\";\r\n } else {\r\n this.flow = this.flowConfigs.coApplicationFlowConfig;\r\n this.defaultFlow = this._flowConfigService.defaultFlowConfigs.coApplicationFlowConfig;\r\n this.flowTypeName = \"Co-Apply Flow\";\r\n }\r\n if (this.flowSummary) {\r\n this.flowSummary.flow = this.flow;\r\n }\r\n }\r\n\r\n private loadStepPreview = (step: StepConfig) => {\r\n if (!step) {\r\n return;\r\n }\r\n this._flowService.stepConfigBeingPreviewed = step;\r\n const stepTypeConfig = this._stepTypeConfigFactory.getStepTypeConfig(step.stepType);\r\n this.componentBeingPreviewed = stepTypeConfig.component;\r\n if (this.stepPreview) {\r\n this.stepPreview.component = this.componentBeingPreviewed;\r\n }\r\n const zoomScale = Number(this.previewZoomValue) / 10;\r\n this._utilsService.setZoom(zoomScale, document.getElementsByClassName('step-preview')[0])\r\n }\r\n\r\n private configureDestinationSteps = (step: StepConfig) => {\r\n this.destinationSteps = [];\r\n if (step.nextStepDeciderConfig) {\r\n if (step.nextStepDeciderConfig.deciderType == NextStepDeciderType.Simple) {\r\n const decider = step.nextStepDeciderConfig;\r\n if (decider.gotoStepPath) {\r\n const step = this.flow.steps.find(s => s.path === decider.gotoStepPath);\r\n if (step) {\r\n this.destinationSteps.push(step);\r\n }\r\n }\r\n } else {\r\n const decider = step.nextStepDeciderConfig;\r\n if (decider.ifStepExpression) {\r\n const step = this.flow.steps.find(s => s.path === decider.ifStepExpression.goToPath);\r\n if (step) {\r\n this.destinationSteps.push(step);\r\n this.conditions[step.id] = \"IF \" + decider.ifStepExpression.ifCondition;\r\n }\r\n if (decider.elseIfStepExpressions) {\r\n decider.elseIfStepExpressions.forEach(e => {\r\n const elseIfStep = this.flow.steps.find(s => s.path === e.goToPath);\r\n if (elseIfStep) {\r\n this.destinationSteps.push(elseIfStep);\r\n this.conditions[elseIfStep.id] = \"ELSE IF \" + e.ifCondition;\r\n }\r\n });\r\n }\r\n const elseStep = this.flow.steps.find(s => s.path === decider.elseStepPath);\r\n if (elseStep) {\r\n this.destinationSteps.push(elseStep);\r\n this.conditions[elseStep.id] = \"ELSE\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private redrawFlowEditor = () => {\r\n if (this.sourceStep) {\r\n this.configureDestinationSteps(this.sourceStep);\r\n }\r\n if (this.flowSummary) {\r\n this.flowSummary.redraw(this.flow);\r\n }\r\n this.drawConnectors();\r\n setTimeout(() => {\r\n KTApp.initBootstrapTooltips();\r\n });\r\n }\r\n\r\n private connectSteps = () => {\r\n window.addEventListener(\"resize\", this.drawConnectors);\r\n this.drawConnectors();\r\n }\r\n\r\n private drawConnectors = () => {\r\n const self = this;\r\n let index = 0;\r\n let svg = document.getElementById(\"flow-editor-svg\");\r\n if (svg) {\r\n svg.innerHTML = '';\r\n }\r\n this.destinationSteps.forEach(s => {\r\n if (this.sourceStep) {\r\n this._svgUtils.drawCurvedLine(0, 40, 150, 40 + index * 160, '#666666', 1, s.id);\r\n $('#' + s.id).on('click', self.onLinkBetweenStepsClicked);\r\n index++;\r\n }\r\n });\r\n //this._svgUtils.drawCurvedLine(0, 40, 150, 40 + index * 160, '#666666', 1, 'step-placeholder', true);\r\n };\r\n\r\n private subscribeToExpressionEditorEvents = () => {\r\n setTimeout(() => {\r\n if (this.expressionEditor) {\r\n if (this._expressionEditOkedSubscription) {\r\n this._expressionEditOkedSubscription.unsubscribe();\r\n }\r\n this._expressionEditOkedSubscription = this.expressionEditor.expressionEditingOked.subscribe(e => {\r\n this.hideRightDrawer();\r\n this.redrawFlowEditor();\r\n });\r\n this._expressionEditOkedSubscription = this.expressionEditor.expressionsChanged.subscribe(e => {\r\n this.redrawFlowEditor();\r\n });\r\n }\r\n });\r\n }\r\n\r\n private showRightDrawer = () => {\r\n var drawerElement = document.querySelector(\"#kt_drawer_example_basic\");\r\n var drawer = KTDrawer.getInstance(drawerElement);\r\n if (!drawer) {\r\n drawer = KTDrawer.createInstance(drawerElement);\r\n }\r\n drawer.hide();\r\n drawer.show();\r\n }\r\n\r\n private hideRightDrawer = () => {\r\n var drawerElement = document.querySelector(\"#kt_drawer_example_basic\");\r\n var drawer = KTDrawer.getInstance(drawerElement);\r\n if (!drawer) {\r\n drawer = KTDrawer.createInstance(drawerElement);\r\n }\r\n drawer.hide();\r\n }\r\n\r\n private onLinkBetweenStepsClicked = () => {\r\n if (this.sourceStep && (this.sourceStep.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Expression)) {\r\n this._originalStep = _.cloneDeep(this.sourceStep);\r\n this.action = \"edit-expression\";\r\n this.rightDrawerHeader = \"Edit Expression Next Step Decider for \" + this.sourceStep!.name;\r\n this.expressionNextStepDeciderConfigToEdit = this.sourceStep!.nextStepDeciderConfig;\r\n this.showRightDrawer();\r\n this.subscribeToExpressionEditorEvents();\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 \"Logo\"\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 Flows\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

Editing Flow

\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • {{flowConfigs && flowGuid ? flowConfigs.title : 'Default Flow' }}
  • \r\n
  • \r\n {{flowGuid}}\r\n
  • \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Save\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 {{flowTypeName}}\r\n {{flow && flow.steps ? flow.steps.length + ' Steps ' : ''}}\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 {{sourceStep ? sourceStep.name : \"Click a Node on the Left\"}}\r\n

\r\n
\r\n \r\n
\r\n
Edit Mode
\r\n
\r\n \r\n \r\n
\r\n
\r\n Create Step\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 2021©\r\n Lodasoft\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","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ExpressionNextStepDeciderConfig } from '../../models/wizard/config/expression-next-step-decider-config.model';\r\nimport { NextStepDeciderConfig } from '../../models/wizard/config/next-step-decider-config.model';\r\nimport { NextStepDeciderType } from '../../models/wizard/config/next-step-decider-type.enum';\r\nimport { SimpleNextStepDeciderConfig } from '../../models/wizard/config/simple-next-step-decider-config.model';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\nimport { StepExpression } from '../../models/wizard/step-expression.model';\r\n\r\nimport * as _ from 'lodash';\r\nimport { WizardFlowConfig } from '../../models/wizard/config/wizard-flow-config.model';\r\nimport { ExpressionNextStepDeciderEditorComponent } from '../expression-next-step-decider-editor/expression-next-step-decider-editor.component';\r\nimport { GenericStepConfig } from '../../models/wizard/generic-step-config.model';\r\nimport { StepType } from '../../models/wizard/config/step-type.enum';\r\n\r\n@Component({\r\n selector: 'step-editor',\r\n templateUrl: 'flow-step-editor.component.html'\r\n})\r\n\r\nexport class FlowStepEditorComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('expressionEditor') expressionEditor!: ExpressionNextStepDeciderEditorComponent | undefined;\r\n\r\n _step: StepConfig;\r\n\r\n @Input()\r\n set step(step: StepConfig) {\r\n this._step = step;\r\n if (this._step.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Simple) {\r\n this.simpleNextStepPath = (this._step.nextStepDeciderConfig).gotoStepPath;\r\n } else {\r\n this.expressionNextStepDeciderConfig = step.nextStepDeciderConfig;\r\n }\r\n }\r\n\r\n get step(): StepConfig {\r\n return this._step;\r\n }\r\n\r\n @Input()\r\n flow!: WizardFlowConfig;\r\n\r\n simpleNextStepPath: string | undefined = \"\";\r\n\r\n private _originalNextStepDeciderConfig!: NextStepDeciderConfig;\r\n\r\n @Output()\r\n nextDeciderTypeChanged = new EventEmitter();\r\n\r\n @Output()\r\n stepEditingCancelled: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n stepEditingEditingOked: EventEmitter = new EventEmitter();\r\n\r\n expressionNextStepDeciderConfig: ExpressionNextStepDeciderConfig | undefined;\r\n\r\n constructor() {\r\n this._step = new GenericStepConfig(\"\", \"\", \"\", 1, StepType.ReoStep, undefined);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.expressionEditor) {\r\n this.expressionEditor.expressionsChanged.subscribe(e => {\r\n this.nextDeciderTypeChanged.emit();\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.step.nextStepDeciderConfig) {\r\n this.step.nextStepDeciderConfig = new SimpleNextStepDeciderConfig(\"\");\r\n }\r\n this._originalNextStepDeciderConfig = _.cloneDeep(this.step.nextStepDeciderConfig);\r\n }\r\n\r\n onSimpleNextStepChanged = () => {\r\n if (this._step.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Simple) {\r\n (this.step.nextStepDeciderConfig).gotoStepPath = this.simpleNextStepPath;\r\n this.nextDeciderTypeChanged.emit(this.step);\r\n }\r\n }\r\n\r\n onOkClicked = () => {\r\n this.stepEditingEditingOked.emit();\r\n }\r\n\r\n onCancelClicked = () => {\r\n this.stepEditingCancelled.emit();\r\n }\r\n\r\n onNextStepDeciderTypeChanged = () => {\r\n setTimeout(() => {\r\n if (this.step.nextStepDeciderConfig?.deciderType == this._originalNextStepDeciderConfig.deciderType) {\r\n this.step.nextStepDeciderConfig = _.cloneDeep(this._originalNextStepDeciderConfig);\r\n this.nextDeciderTypeChanged.emit(this.step);\r\n return;\r\n }\r\n if (this.step.nextStepDeciderConfig?.deciderType == NextStepDeciderType.Expression) {\r\n let gotoPath: string | undefined = \"\";\r\n if (this._originalNextStepDeciderConfig.deciderType == NextStepDeciderType.Simple) {\r\n gotoPath = (this._originalNextStepDeciderConfig).gotoStepPath;\r\n } else {\r\n gotoPath = (this._originalNextStepDeciderConfig).ifStepExpression.goToPath;\r\n }\r\n const stepExpression = new StepExpression(\"\", gotoPath ? gotoPath : \"\");\r\n this.step.nextStepDeciderConfig = new ExpressionNextStepDeciderConfig(stepExpression, undefined, undefined);\r\n this.expressionNextStepDeciderConfig = this.step.nextStepDeciderConfig;\r\n } else {\r\n this.step.nextStepDeciderConfig = new SimpleNextStepDeciderConfig(\"\");\r\n }\r\n this.nextDeciderTypeChanged.emit(this.step);\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Name is required.
\r\n
\r\n
\r\n \r\n \r\n
Next Step Decider is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
You need to pick the next step.
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Cancel\r\n OK\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'flow-step-placeholder',\r\n templateUrl: 'flow-step-placeholder.component.html'\r\n})\r\n\r\nexport class FlowStepPlaceholderComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n
{{'Placeholder'}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NextStepDeciderType } from '../../models/wizard/config/next-step-decider-type.enum';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\n\r\ndeclare const KTMenu: any;\r\n\r\n@Component({\r\n selector: 'flow-step',\r\n templateUrl: 'flow-step.component.html',\r\n styleUrls: ['flow-step.component.scss']\r\n})\r\n\r\nexport class FlowStepComponent implements OnInit {\r\n\r\n @Output()\r\n stepSelected: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n deleteStepFromFlowClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n deleteStepFromNextStepDestinationsClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n addStepClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n editStepClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n @Input()\r\n step!: StepConfig;\r\n\r\n @Input()\r\n condition: string = \"\";\r\n\r\n @Input()\r\n addEnabled: boolean = false;\r\n\r\n @Input()\r\n isSourceStep: boolean = false;\r\n\r\n @Input()\r\n nextStepDeciderType: NextStepDeciderType | undefined;\r\n\r\n onStepClicked = () => {\r\n this.stepSelected?.emit(this.step);\r\n }\r\n\r\n onDeleteStepFromFlowClicked = () => {\r\n this.deleteStepFromFlowClicked?.emit(this.step);\r\n }\r\n\r\n onDeleteStepFromNextStepDestinationsClicked = ($event: any) => {\r\n $event.stopPropagation();\r\n this.deleteStepFromNextStepDestinationsClicked?.emit(this.step);\r\n }\r\n\r\n onAddStepClicked = ($event: any) => {\r\n this.addStepClicked?.emit(this.step);\r\n $event.stopPropagation();\r\n }\r\n\r\n onEditStepClicked = ($event: any) => {\r\n this.editStepClicked?.emit(this.step);\r\n $event.stopPropagation();\r\n }\r\n\r\n ngOnInit() {\r\n KTMenu.createInstances();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{step.name}}
\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ExpressionNextStepDeciderConfig } from '../../models/wizard/config/expression-next-step-decider-config.model';\r\nimport { Graph } from '../../models/wizard/config/graph.model';\r\nimport { NextStepDeciderType } from '../../models/wizard/config/next-step-decider-type.enum';\r\nimport { GraphNode } from '../../models/wizard/config/node.model';\r\nimport { SimpleNextStepDeciderConfig } from '../../models/wizard/config/simple-next-step-decider-config.model';\r\nimport { WizardFlowConfig } from '../../models/wizard/config/wizard-flow-config.model';\r\nimport { WizardFlowConfigServiceBase } from '../../services/wizard/wizard-flow-config-service.base';\r\n\r\ndeclare const $: any;\r\nimport * as d3 from \"d3\";\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\nimport { stepGroupColors } from '../step-group-colors';\r\n\r\nconst DEFAULT_COLOR: string = '#1f77b4';\r\n\r\n@Component({\r\n selector: 'flow-summary',\r\n templateUrl: 'flow-summary.component.html'\r\n})\r\nexport class FlowSummaryComponent implements OnInit {\r\n\r\n constructor(private readonly _flowConfigService: WizardFlowConfigServiceBase) { }\r\n\r\n private _flow: WizardFlowConfig | undefined;\r\n\r\n @Input()\r\n public set flow(value: WizardFlowConfig) {\r\n this._flow = value;\r\n let graph: Graph = this.generateGraphData(this._flow);\r\n this.renderFlowSummary(graph);\r\n }\r\n\r\n @Output()\r\n stepSelected: EventEmitter | undefined = new EventEmitter();\r\n\r\n redraw = (flow: WizardFlowConfig) => {\r\n $(\"#flow-summary-view\").empty();\r\n this.flow = flow;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n private generateGraphData = (flow: WizardFlowConfig): Graph => {\r\n let graph: Graph = new Graph();\r\n let index = 0;\r\n if (!flow) {\r\n return graph;\r\n }\r\n flow.steps.forEach(s => {\r\n graph.nodes.push(new GraphNode(s.path!, s.groupId ? s.groupId.toString() : \"\"));\r\n if (s.nextStepDeciderConfig) {\r\n if (s.nextStepDeciderConfig.deciderType == NextStepDeciderType.Simple) {\r\n const decider = s.nextStepDeciderConfig;\r\n if (decider.gotoStepPath) {\r\n const step = flow.steps.find(step => step.path === decider.gotoStepPath);\r\n if (step) {\r\n const stepIndex = flow.steps.indexOf(step);\r\n const link = { source: index, target: stepIndex };\r\n graph.links.push(link);\r\n }\r\n }\r\n } else {\r\n const decider = s.nextStepDeciderConfig;\r\n if (decider.ifStepExpression) {\r\n const step = flow.steps.find(s => s.path === decider.ifStepExpression.goToPath);\r\n if (step) {\r\n const stepIndex = flow.steps.indexOf(step);\r\n const link = { source: index, target: stepIndex };\r\n graph.links.push(link);\r\n }\r\n if (decider.elseIfStepExpressions) {\r\n decider.elseIfStepExpressions.forEach(e => {\r\n const elseIfStep = flow.steps.find(s => s.path === e.goToPath);\r\n if (elseIfStep) {\r\n const stepIndex = flow.steps.indexOf(elseIfStep);\r\n const link = { source: index, target: stepIndex };\r\n graph.links.push(link);\r\n }\r\n });\r\n }\r\n const elseStep = flow.steps.find(s => s.path === decider.elseStepPath);\r\n if (elseStep) {\r\n const stepIndex = flow.steps.indexOf(elseStep);\r\n const link = { source: index, target: stepIndex };\r\n graph.links.push(link);\r\n }\r\n }\r\n }\r\n }\r\n index++;\r\n });\r\n return graph;\r\n }\r\n\r\n private renderFlowSummary = (graph: Graph) => {\r\n // set the dimensions and margins of the graph\r\n const margin = ({ top: 20, right: 10, bottom: 20, left: 100 });\r\n const width = 290 - margin.left - margin.right;\r\n const step = 40;\r\n const height = (graph.nodes.length - 1) * step + margin.top + margin.bottom\r\n\r\n // append the svg object to the body of the page\r\n const svg = d3.select(\"#flow-summary-view\")\r\n .append(\"svg\")\r\n .attr(\"viewBox\", '0,0,' + (width + 90).toString() + ',' + (height + 80).toString())\r\n .attr(\"width\", width + margin.left + margin.right)\r\n .attr(\"height\", height + margin.top + margin.bottom)\r\n .append(\"g\")\r\n .attr(\"transform\", `translate(${margin.left},${margin.top})`);\r\n\r\n svg.append(\"style\").text(`\r\n .hover path {\r\n stroke: #ccc;\r\n }\r\n .hover text {\r\n fill: #ccc;\r\n }\r\n .hover g.primary text {\r\n fill: black;\r\n font-weight: bold;\r\n }\r\n .hover g.secondary text {\r\n fill: #333;\r\n }\r\n .hover path.primary {\r\n stroke: #333;\r\n stroke-opacity: 1;\r\n }\r\n `);\r\n\r\n // A color scale for groups:\r\n //const color = d3.scaleOrdinal(graph.nodes.map((d: any) => d.group).sort(d3.ascending), d3.schemeCategory10)\r\n\r\n const y = d3.scalePoint(graph.nodes.map((d: any) => d.name), [margin.top, height - margin.bottom])\r\n\r\n const label = svg.append(\"g\")\r\n .attr(\"font-family\", \"sans-serif\")\r\n .attr(\"font-size\", 14)\r\n .attr(\"text-anchor\", \"end\")\r\n .selectAll(\"g\")\r\n .data(graph.nodes)\r\n .join(\"g\")\r\n .attr(\"transform\", (d: any) => {\r\n const y1 = y(d.name);\r\n return `translate(${margin.left},${d.y = y1})`\r\n })\r\n .call((g: any) => g.append(\"text\")\r\n .attr(\"x\", -16)\r\n .attr(\"dy\", \"0.35em\")\r\n .attr(\"fill\", (d: any) => d3.lab(stepGroupColors[d.group] || DEFAULT_COLOR).darker(2))\r\n .text((d: any) => d.name))\r\n .call(g => g.append(\"circle\")\r\n .attr(\"r\", 8)\r\n .attr(\"id\", (d: any) => d.name)\r\n .attr(\"fill\", (d: any) => stepGroupColors[d.group] || DEFAULT_COLOR));\r\n\r\n function arc(l: any) {\r\n const source = graph.nodes[l.source];\r\n const target = graph.nodes[l.target];\r\n let y1 = y(source.name);\r\n let y2 = y(target.name);\r\n if (!y2) y2 = 0;\r\n if (!y1) y1 = 0;\r\n const r = Math.abs(y2 - y1) / 2;\r\n return `M${margin.left},${y1}A${r},${r} 0,0,${y1 < y2 ? 1 : 0} ${margin.left},${y2}`;\r\n }\r\n\r\n const nodes = d3.selectAll('circle');\r\n\r\n const path = svg.insert(\"g\", \"*\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke-opacity\", 0.6)\r\n .attr(\"stroke-width\", 1.5)\r\n .selectAll(\"path\")\r\n .data(graph.links)\r\n .join(\"path\")\r\n .attr(\"stroke\", (l: any) => {\r\n const source = graph.nodes[l.source];\r\n const target = graph.nodes[l.target];\r\n return source.group === target.group ? (stepGroupColors[source.group] || DEFAULT_COLOR) : \"#aaa\"\r\n })\r\n .attr(\"d\", arc);\r\n\r\n const overlay = svg.append(\"g\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"pointer-events\", \"all\")\r\n .selectAll(\"rect\")\r\n .data(graph.nodes)\r\n .join(\"rect\")\r\n .attr(\"width\", margin.left + 40)\r\n .attr(\"height\", step)\r\n .attr(\"y\", (d: any) => {\r\n const y1: number | undefined = y(d.name);\r\n if (y1) {\r\n return y1 - step / 2\r\n }\r\n return 0;\r\n })\r\n .on(\"click\", (event, d: any) => {\r\n if (this._flow) {\r\n const step = this._flow.steps.find(s => s.path === d.name);\r\n if (step && this.stepSelected) {\r\n this.stepSelected.emit(step);\r\n }\r\n }\r\n })\r\n .on(\"mouseover\", (event, d: any) => {\r\n nodes.style('opacity', .2)\r\n //d3.select(d).style('opacity', 1)\r\n d3.select(\"[id='\" + d.name + \"']\").style('opacity', 1)\r\n svg.classed(\"hover\", true);\r\n\r\n const indexOfD = graph.nodes.indexOf(d);\r\n var sources = graph.links.filter((l: any) => l.source === indexOfD);\r\n var targets = graph.links.filter((l: any) => l.target === indexOfD);\r\n\r\n sources.forEach((s: any) => {\r\n const source = graph.nodes[s.target];\r\n d3.select(\"[id='\" + source.name + \"']\").style('opacity', 1)\r\n })\r\n\r\n label.classed(\"primary\", n => n === d);\r\n label.classed(\"secondary\", (n: any) => {\r\n const indexOfN = graph.nodes.indexOf(n);\r\n return targets.some((l: any) => l.source === indexOfN) || sources.some((l: any) => l.target === indexOfN)\r\n });\r\n path.classed(\"primary\", (l: any) => {\r\n const indexOfD = graph.nodes.indexOf(d);\r\n return l.source === indexOfD /*|| l.target === indexOfD*/\r\n }).filter(\".primary\").raise();\r\n })\r\n .on(\"mouseout\", d => {\r\n nodes.style('opacity', 1);\r\n svg.classed(\"hover\", false);\r\n label.classed(\"primary\", false);\r\n label.classed(\"secondary\", false);\r\n path.classed(\"primary\", false).order();\r\n });\r\n }\r\n}\r\n","
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\n\r\n@Component({\r\n selector: 'step-card',\r\n templateUrl: 'step-card.component.html',\r\n styleUrls: ['step-card.component.scss']\r\n})\r\n\r\nexport class StepCardComponent implements OnInit {\r\n\r\n @Input()\r\n step!: StepConfig;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","
\r\n
\r\n
{{step.name}}
\r\n
({{step.path}})
\r\n
\r\n
\r\n","export const stepGroupColors = {\r\n 1: '#1f77b4',\r\n 2: '#ff7f0e',\r\n 3: '#2ca02c',\r\n 4: '#d62728',\r\n 5: '#9467bd',\r\n 6: '#8c564b',\r\n 7: '#e377c2',\r\n 8: '#7f7f7f',\r\n 9: '#bcbd22',\r\n 10: '#17becf'\r\n};\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[stepPreview]',\r\n})\r\nexport class StepPreviewDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) { }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\n\r\ndeclare const $: any;\r\n\r\n@Component({\r\n selector: 'step-selector',\r\n templateUrl: 'step-selector.component.html'\r\n})\r\n\r\nexport class StepSelectorComponent implements OnInit {\r\n\r\n @Input()\r\n steps: StepConfig[] = [];\r\n\r\n @Output()\r\n createStepClicked: EventEmitter = new EventEmitter();\r\n\r\n divStyle: string = \"1\";\r\n\r\n handleDragStart(ev :any) {\r\n ev.dataTransfer.setData(\"text\", ev.target.id);\r\n this.divStyle = '0.4';\r\n }\r\n\r\n handleDragEnd(ev :any) {\r\n ev.dataTransfer.setData(\"text\", ev.target.id);\r\n this.divStyle = '1';\r\n }\r\n\r\n onCreateClicked = () => {\r\n this.createStepClicked.emit();\r\n }\r\n\r\n constructor() {\r\n // for (var stepType in StepType) {\r\n // if (isNaN(Number(stepType))) {\r\n // this.stepTypeNames.push(stepType.replace(/([a-z])([A-Z])/g, '$1 $2'));\r\n // }\r\n // }\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'step-type-card',\r\n templateUrl: 'step-type-card.component.html',\r\n styleUrls: ['step-type-card.component.scss']\r\n})\r\n\r\nexport class StepTypeCardComponent implements OnInit {\r\n\r\n @Input()\r\n stepTypeName: string = \"\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","
\r\n
\r\n
{{stepTypeName}}
\r\n
\r\n
\r\n","import { Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgbCarousel, NgbSlideEvent } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateTime, Interval } from 'luxon';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthenticationRequest } from '../models/auth/auth-request.model';\r\nimport { AuthenticationResponse, AuthenticationUserCompany } from '../models/auth/auth-response.model';\r\nimport { LoginStatus } from '../models/auth/login-status.enum';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { Constants } from '../services/constants';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { TimerService } from '../services/timer.service';\r\nimport { WizardFlowServiceBase } from '../services/wizard/wizard-flow-service.base';\r\nimport { PageUtils } from 'projects/shared/utils/page.utils';\r\nimport { Observer, Subscription, finalize } from 'rxjs';\r\nimport { EnumsService } from '../services/enums.service';\r\nimport Swal from 'sweetalert2';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\n\r\nexport enum PortalScope {\r\n Borrower = \"Borrower\",\r\n Agent = \"Agent\",\r\n AgentAndBorrower = \"AgentAndBorrower\"\r\n}\r\n\r\n@Component({\r\n selector: 'login',\r\n templateUrl: 'login.component.html',\r\n styleUrls: ['login.component.scss']\r\n})\r\nexport class LoginComponent {\r\n\r\n @ViewChild('slider') slider: NgbCarousel | undefined;\r\n @ViewChild('loginForm') loginForm: NgForm | undefined;\r\n\r\n @ViewChild(\"twoFactorCodeInput\")\r\n private _twoFactorCodeInput: ElementRef;\r\n\r\n loginRequest: AuthenticationRequest;\r\n\r\n logoUrl: string = \"\";\r\n spinnerVisible: boolean = false;\r\n loginButtonText: string = \"Continue\";\r\n\r\n errorMessage: string = \"\";\r\n\r\n possibleLogoUrls: string[] = [];\r\n\r\n availableCompanies: AuthenticationUserCompany[] = [];\r\n availableRoles: string[] = [];\r\n\r\n protected userScope: PortalScope = null;\r\n\r\n protected canCreateAccount: boolean = true;\r\n\r\n protected needToConfirmPhone: boolean = false;\r\n\r\n protected mfaSetupRequired: boolean = false;\r\n\r\n protected mfaCodeEntryRequired: boolean = false;\r\n\r\n protected passwordRequired: boolean = false;\r\n\r\n protected verificationCode: string;\r\n\r\n protected phone: string;\r\n\r\n protected areaCode: string;\r\n\r\n protected countries: { name: string, value: string, areaCode: string }[] = [];\r\n\r\n private _returnUrl: string = null;\r\n\r\n private _queryParams: string = \"\";\r\n\r\n private _activatedRouteSubscription: Subscription;\r\n\r\n constructor(\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _authService: AuthService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _timerService: TimerService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _enumsService: EnumsService,\r\n private readonly _router: Router\r\n ) {\r\n this.loginRequest = new AuthenticationRequest();\r\n this.loginRequest.usernameValidationOnly = true;\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n }\r\n\r\n ngOnInit() {\r\n let userScopeFromPath = null;\r\n if (this._activatedRoute.routeConfig && this._activatedRoute.routeConfig.data && this._activatedRoute.routeConfig.data.scope) {\r\n userScopeFromPath = this._activatedRoute.routeConfig.data.scope;\r\n }\r\n this.userScope = this._environment.scope || userScopeFromPath;\r\n\r\n this.canCreateAccount = (this.userScope == PortalScope.Borrower) &&\r\n window.location.host.indexOf('my.phmloans') < 0 &&\r\n window.location.host.indexOf('my.homeserviceslending') < 0 &&\r\n window.location.host.indexOf('phmclient') < 0;\r\n\r\n this._activatedRouteSubscription = this._activatedRoute.queryParams.subscribe((params) => {\r\n this._returnUrl = params['returnUrl'];\r\n Object.keys(params).forEach(key => {\r\n if (key !== 'returnUrl') {\r\n this._queryParams += `${key}=${params[key]}&`;\r\n } else {\r\n this._queryParams += `r_url=${params[key]}&`;\r\n }\r\n });\r\n const userName = params['username'];\r\n if (!userName) {\r\n let navigation = this._router.getCurrentNavigation();\r\n if (navigation && navigation.extras && navigation.extras.state && navigation.extras.state.userName) {\r\n this.loginRequest.username = navigation.extras.state.userName;\r\n }\r\n }\r\n if (userName) {\r\n this.loginRequest.username = userName;\r\n }\r\n });\r\n\r\n this.countries = this._enumsService.countries;\r\n }\r\n\r\n ngOnDestroy() {\r\n this._activatedRouteSubscription?.unsubscribe();\r\n }\r\n\r\n onAvailableCompanyPickedForLogin = () => {\r\n if (!this.loginRequest.userCompanyGuid) {\r\n return;\r\n }\r\n const companyThatIsPicked = this.availableCompanies.find(company => company.userCompanyGuid == this.loginRequest.userCompanyGuid);\r\n if (companyThatIsPicked) {\r\n this.userScope = companyThatIsPicked.userType as PortalScope;\r\n this.loginRequest.companyGuid = companyThatIsPicked.companyGuid;\r\n this.loginRequest.userCompanyGuid = companyThatIsPicked.userCompanyGuid;\r\n\r\n if (companyThatIsPicked.isExternalAuth) {\r\n this.errorMessage = null;\r\n this.redirectToExtternalAuthProvider(this.loginRequest.companyGuid, this.loginRequest.username);\r\n return;\r\n }\r\n\r\n this.passwordRequired = true;\r\n this.slider.select('askForPassword');\r\n }\r\n }\r\n\r\n onCarouselTransitionComplete = (e: NgbSlideEvent) => {\r\n if (e.current === 'twoFactorCodeEntry') {\r\n this._twoFactorCodeInput.nativeElement.focus();\r\n }\r\n }\r\n\r\n onCreateAccountClicked = async () => {\r\n const observer: Observer = {\r\n next: (value: string) => {\r\n window.location.href = value;\r\n },\r\n error: (error: any) => {\r\n const errorMessage = error?.error || \"An error occurred while resetting your password.\";\r\n this.errorMessage = errorMessage;\r\n },\r\n complete: () => {\r\n }\r\n };\r\n this._authService.getDefaultOnlineAppUrl(this.loginRequest.companyGuid).subscribe(observer);\r\n }\r\n\r\n onForgotPasswordClicked = () => {\r\n this._navigationService.navigateToPath(\"forgot-password\", true);\r\n }\r\n\r\n onLoginClicked = () => {\r\n this.loginForm?.form.markAllAsTouched();\r\n if (this.loginForm?.form.valid) {\r\n\r\n this.loginRequest.scope = this.userScope || PortalScope.AgentAndBorrower;\r\n this.errorMessage = null;\r\n\r\n if (this.loginRequest.usernameValidationOnly) {\r\n this.loginRequest.password = null;\r\n }\r\n\r\n if (this.passwordRequired && this.loginRequest.password) {\r\n this.passwordRequired = false;\r\n }\r\n\r\n this.toggleProgress(true);\r\n\r\n this._authService.signIn(this.loginRequest).subscribe((response: AuthenticationResponse) => {\r\n\r\n if (response.userCompanyGuid) {\r\n this.loginRequest.userCompanyGuid = response.userCompanyGuid;\r\n }\r\n\r\n this.toggleProgress(false);\r\n\r\n if (response.loginStatus === LoginStatus.Error) {\r\n this.onLoginErrored(response);\r\n return;\r\n } else if (response.loginStatus === LoginStatus.CompanySelectionRequired) {\r\n this.onCompanySelectionRequired(response.availableCompanies);\r\n return;\r\n } else if (response.loginStatus === LoginStatus.UsernameValidationComplete) {\r\n this.onUserNameValidationComplete(response.availableCompanies);\r\n return;\r\n } else if (response.loginStatus === LoginStatus.ProperScopeSelectionRequired) {\r\n this.onRoleSelectionRequired(response.availableCompanies);\r\n return;\r\n } else if (response.loginStatus === LoginStatus.TwoFactorAuthenticationSetupRequired) {\r\n if (!this.loginRequest.userCompanyGuid && response.availableCompanies.length > 0) {\r\n this.loginRequest.userCompanyGuid = response.availableCompanies[0].userCompanyGuid;\r\n }\r\n this.onMfaSetupRequired();\r\n return;\r\n } else if (response.loginStatus === LoginStatus.TwoFactorAuthenticationRequired) {\r\n if (!this.loginRequest.userCompanyGuid && response.availableCompanies.length > 0) {\r\n this.loginRequest.userCompanyGuid = response.availableCompanies[0].userCompanyGuid;\r\n }\r\n this.onTwoFactorCodeRequired();\r\n return;\r\n }\r\n\r\n // start auto logout timer\r\n const authData = JSON.parse(localStorage.getItem(Constants.authorization.authorizationDataKey))\r\n\r\n if (authData) {\r\n let expireDate = authData.expiresAt;\r\n\r\n this.userScope = authData.scope;\r\n\r\n let endDate = DateTime.fromISO(expireDate);\r\n let now = DateTime.fromISO(new Date().toISOString());\r\n\r\n const diff = Interval.fromDateTimes(now, endDate);\r\n const diffMinutes = diff.length('minutes');\r\n\r\n this._timerService.start(\"auto-logout-timer\", Math.ceil(diffMinutes), false, true);\r\n\r\n if (authData.companyGuid) {\r\n this._navigationService.companyGuid = authData.companyGuid;\r\n }\r\n }\r\n\r\n if (this._returnUrl) {\r\n let returnUrl = this._returnUrl;\r\n this._navigationService.navigateToPath(returnUrl, true);\r\n return;\r\n }\r\n\r\n if (this.userScope) {\r\n PageUtils.fixLayoutMarkerBasedOnScope(this.userScope);\r\n this.setPageTitle(this.loginRequest.companyGuid, this.userScope);\r\n\r\n const path = this.userScope == PortalScope.Borrower ? \"borrower-portal\" : \"agent-portal\";\r\n this._navigationService.navigateToPath(path, true);\r\n } else {\r\n // Here we can navigate to the wizard flow again\r\n this._wizardFlowService.navigateToApplicationFlow();\r\n }\r\n },\r\n err => {\r\n this.loginRequest.companyGuid = null;\r\n this.loginRequest.userCompanyGuid = null;\r\n this.loginRequest.usernameValidationOnly = true;\r\n this.toggleProgress(false);\r\n this.errorMessage = \"User name or password is incorrect.\";\r\n });\r\n }\r\n }\r\n\r\n onCancelLoginClicked = () => {\r\n this.errorMessage = undefined;\r\n this.slider.select('askForEmail');\r\n this.loginRequest.companyGuid = null;\r\n this.loginRequest.userCompanyGuid = null;\r\n this.loginRequest.twoFactorCode = null;\r\n this.loginRequest.scope = null;\r\n this.loginRequest.username = null;\r\n this.loginRequest.password = null;\r\n\r\n this.mfaSetupRequired = false;\r\n this.needToConfirmPhone = false;\r\n this.mfaCodeEntryRequired = false;\r\n\r\n this.phone = null;\r\n this.areaCode = null;\r\n this.verificationCode = null;\r\n\r\n Object.keys(this.loginForm?.form.controls).forEach(key => {\r\n this.loginForm?.form.controls[key].markAsUntouched();\r\n });\r\n }\r\n\r\n onChangeNumberClicked = () => {\r\n this.needToConfirmPhone = false;\r\n }\r\n\r\n protected onSendCodeClicked = () => {\r\n this.loginRequest.twoFactorCode = null;\r\n this._spinner.show();\r\n this._authService.sendTwoFactorPhoneCode(this.loginRequest.userCompanyGuid).subscribe(response => {\r\n Swal.fire(\r\n 'Sent Code',\r\n 'We sent another code to your phone. Please check your phone and use that code to login.',\r\n 'success'\r\n )\r\n }, err => {\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n protected onConfirmPhoneClicked = () => {\r\n this.toggleProgress(true);\r\n this._authService.confirmUpdatePhoneAnonymous(this.phone, this.areaCode, this.verificationCode, this.loginRequest)\r\n .pipe(finalize(() => {\r\n this.toggleProgress(false);\r\n }))\r\n .subscribe({\r\n next: () => {\r\n this.onLoginClicked();\r\n },\r\n error: (error) => {\r\n this.toggleProgress(false);\r\n if (error?.code === \"InvalidToken\") {\r\n this.errorMessage = error.description;\r\n } else {\r\n this.errorMessage = \"Couldn't process the confirmation code.\";\r\n }\r\n }\r\n })\r\n }\r\n\r\n onSaveNumberClicked() {\r\n this.toggleProgress(true);\r\n this._authService.updatePhoneAnonymous(this.phone, this.areaCode, this.loginRequest)\r\n .pipe(finalize(() => this.toggleProgress(false)))\r\n .subscribe({\r\n next: (res) => {\r\n this.needToConfirmPhone = true;\r\n },\r\n error: (error) => {\r\n this.errorMessage = getErrorMessageOrDefault(error, {\r\n defaultMessage: 'Unable to update phone number.',\r\n })\r\n }\r\n });\r\n }\r\n\r\n private redirectToExtternalAuthProvider = (companyGuid: string, userName: string) => {\r\n const returnUrl = `${window.location.protocol}//${window.location.host}/ext-auth-oap-redirect?${this._queryParams}`;\r\n const challengeUrl = this._environment.apiInfo.apiBaseUrl + `/api/auth/connect/challenge/${companyGuid}/Borrower?returnUrl=${encodeURIComponent(returnUrl)}&userName=${userName}`;\r\n window.location.href = challengeUrl;\r\n }\r\n\r\n private setPageTitle = (companyGuid: string, userScope: PortalScope) => {\r\n if (userScope) {\r\n document.title = userScope == 'Borrower' ? \"Borrower Portal\" : \"Agent Portal\";\r\n }\r\n }\r\n\r\n private onLoginErrored = (response: AuthenticationResponse) => {\r\n this.toggleProgress(false);\r\n this.loginRequest.usernameValidationOnly = true;\r\n this.errorMessage = response.errorMessage;\r\n // Here, check to see if the error is because of the user not being/active or registered\r\n if (this.errorMessage) {\r\n if (this.errorMessage.includes(\"User is not active\")) {\r\n const scope = this.userScope || PortalScope.AgentAndBorrower;\r\n this._authService.getCompanyInfo(scope).subscribe((companyInfo) => {\r\n if (companyInfo && companyInfo.externalAuthEnabled) {\r\n this.redirectToExtternalAuthProvider(companyInfo.companyGuid, this.loginRequest.username);\r\n return;\r\n }\r\n });\r\n } else {\r\n if (this.errorMessage === 'Bad username or password') {\r\n this.loginRequest.password = null;\r\n this.passwordRequired = true;\r\n this.loginRequest.usernameValidationOnly = false;\r\n this.loginForm.form.markAsUntouched();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private onMfaSetupRequired = () => {\r\n this.loginRequest.usernameValidationOnly = false;\r\n this.toggleProgress(false);\r\n this.mfaSetupRequired = true;\r\n this.slider.select('mfaSetup');\r\n }\r\n\r\n private onTwoFactorCodeRequired = () => {\r\n this.loginRequest.usernameValidationOnly = false;\r\n this.toggleProgress(false);\r\n this.mfaCodeEntryRequired = true;\r\n this.slider.select('twoFactorCodeEntry');\r\n }\r\n\r\n private onUserNameValidationComplete = (availableCompanies: AuthenticationUserCompany[]) => {\r\n this.loginRequest.usernameValidationOnly = false;\r\n this.availableCompanies = availableCompanies;\r\n this.loginRequest.userCompanyGuid = availableCompanies[0].userCompanyGuid;\r\n this.onAvailableCompanyPickedForLogin();\r\n }\r\n\r\n private onCompanySelectionRequired = (availableCompanies: AuthenticationUserCompany[]) => {\r\n this.loginRequest.usernameValidationOnly = false;\r\n this.availableCompanies = availableCompanies;\r\n if (availableCompanies.length == 1) {\r\n this.loginRequest.userCompanyGuid = availableCompanies[0].userCompanyGuid;\r\n this.onAvailableCompanyPickedForLogin();\r\n return;\r\n }\r\n if (this.slider) {\r\n this.slider.select('companySelection');\r\n }\r\n }\r\n\r\n private onRoleSelectionRequired = (availableCompanies: AuthenticationUserCompany[]) => {\r\n this.loginRequest.usernameValidationOnly = false;\r\n if (this.slider) {\r\n this.slider.select('roleSelection');\r\n this.availableRoles = availableCompanies.map(c => c.userType);\r\n }\r\n }\r\n\r\n private toggleProgress = (value: boolean) => {\r\n if (value) {\r\n this._spinner.show();\r\n } else {\r\n this._spinner.hide();\r\n }\r\n this.spinnerVisible = value;\r\n if (value) {\r\n this.loginButtonText = \"Please wait...\";\r\n } else {\r\n this.loginButtonText = \"Continue\";\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

Sign In to Your Account

\r\n
New Here?\r\n Create an Account\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{errorMessage}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Please enter a valid e-mail.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Your account is linked to multiple companies

\r\n

Please, select the company you'd like to log into.

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Forgot\r\n Password?\r\n
\r\n \r\n
Please enter your password.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

We need to confirm it's really you

\r\n

Please, enter the code we sent you.

\r\n

\r\n Need a new code? Resend Code \r\n

\r\n\r\n
\r\n \r\n\r\n
Incorrect code. Please re-enter the code we sent you.\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

You need to setup MFA on your account

\r\n

Please, enter your phone number.

\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

Please, enter the code we sent you.

\r\n\r\n
\r\n \r\n\r\n
Incorrect code. Please re-enter the code we sent you.\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

Your account is linked to multiple roles

\r\n

Please, select the role you'd like to login as.

\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 \"Lodasoft\"\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Address } from \"./address-model\";\r\nimport { OwnOrRent } from \"./enums/own-rent.enum\";\r\n\r\nexport class AddressHistory {\r\n\r\n address: Address | undefined;\r\n ownOrRent: OwnOrRent | undefined;\r\n yearsLived: number;\r\n monthsLived: number;\r\n\r\n constructor() {\r\n this.address = new Address();\r\n this.yearsLived = 0;\r\n this.monthsLived = 0;\r\n }\r\n\r\n}\r\n","export class Address {\r\n addressId: number;\r\n address1: string | undefined = \"\";\r\n city: string | undefined = \"\";\r\n state: string | undefined = \"\";\r\n zipCode: string | undefined = \"\";\r\n presentValue?: number | undefined = 0;\r\n county?: string | undefined = \"\";\r\n country?: string | undefined = \"us\";\r\n}\r\n","import { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\nimport { Borrower } from \"./borrower-model\";\r\nimport { CustomData } from \"./custom-data.model\";\r\nimport { GlobalConfig } from \"./global-config.model\";\r\nimport { LoanApplication } from \"./loan-info.model\";\r\nimport { Profile } from \"./profile.model\";\r\nimport { UrlaMortgage } from \"./urla-mortgage.model\";\r\nimport { UserData } from \"./user/user-data.model\";\r\nimport { UserPermissions } from \"./user/user-permissions.model\";\r\nimport { UserType } from \"./user/user-type.enum\";\r\n\r\nexport class ApplicationContext {\r\n currentlyLoggedInUser: UserData;\r\n currentlyLoggedInUserProfile: Profile;\r\n application: LoanApplication;\r\n customData: CustomData;\r\n currentMortgage: UrlaMortgage;\r\n borrowers: Borrower[] = [];\r\n globalConfig: GlobalConfig;\r\n mortgageEnums: any;\r\n pricingEnums: any;\r\n userPermissions: UserPermissions;\r\n mergeFields: EnumerationItem[];\r\n industryAffiliations: string[] = [];\r\n\r\n isCallControlPanelOpen: boolean = false;\r\n\r\n get isTpo(): boolean {\r\n return this.currentlyLoggedInUser.userType === UserType.Tpo;\r\n }\r\n\r\n get isCompanyPHM(): boolean {\r\n return [252].includes(this.userPermissions.companyId);\r\n }\r\n}\r\n","import { AssetType } from \"./enums/asset-type-enum\";\r\n\r\nexport class AssetItem {\r\n id: number | undefined;\r\n type: AssetType | undefined;\r\n value: number | undefined;\r\n assetOwners: string | undefined;\r\n isValid: boolean = false;\r\n isReadOnly: boolean = false;\r\n\r\n constructor(id: number, type: AssetType, value: number, assetOwners: string, isValid: boolean) {\r\n this.id = id;\r\n this.type = type;\r\n this.value = value;\r\n this.assetOwners = assetOwners;\r\n this.isValid = isValid;\r\n }\r\n}\r\n","import { AssetType } from \"./enums/asset-type-enum\";\r\n\r\nexport class Asset {\r\n assetId : number | undefined;\r\n assetType: AssetType | undefined | null = null;\r\n cashMarketValue: number | undefined;\r\n owningBorrowerIds: number[] = [];\r\n //for automobile\r\n makeModel: string | undefined;\r\n year: number | undefined;\r\n //pending net sale proceeds from real estate assets\r\n //can't use address objects, field names should match model field names\r\n holderAddress1:string | undefined;\r\n holderAddress2:string | undefined;\r\n holderCity:string | undefined;\r\n holderZipCode:string | undefined;\r\n holderState:string | undefined;\r\n disposition: string | undefined;\r\n accountNumber: string | undefined;\r\n depository: string | undefined;\r\n amountOfMortgageLien: number | undefined;\r\n mortgagePayment:number | undefined;\r\n gross:number | undefined;\r\n netRentalIncome:number | undefined;\r\n insMainTaxMisc:number | undefined;\r\n\r\n constructor() {\r\n this.assetType = null;\r\n }\r\n}\r\n","export class AuthenticationRequest {\r\n companyGuid: string | undefined = null;\r\n username: string = null;\r\n password: string = null;\r\n rememberMe: boolean = false;\r\n twoFactorCode?: string | undefined;\r\n scope: string = null;\r\n userCompanyGuid?: string | undefined = null;\r\n usernameValidationOnly?: boolean = false;\r\n}\r\n","export enum LoginStatus {\r\n Error = \"Error\",\r\n Success = \"Success\",\r\n CompanySelectionRequired = \"CompanySelectionRequired\",\r\n TwoFactorAuthenticationRequired = \"TwoFactorAuthenticationRequired\",\r\n ProperScopeSelectionRequired = \"ProperScopeSelectionRequired\",\r\n TwoFactorAuthenticationSetupRequired = \"TwoFactorAuthenticationSetupRequired\",\r\n UsernameValidationComplete = \"UsernameValidationComplete\",\r\n}\r\n","export class ResetPasswordRequest {\r\n email: string;\r\n password: string;\r\n confirmPassword: string;\r\n code: string;\r\n userCompanyGuid: string;\r\n\r\n constructor(email: string, password: string, confirmedPassword: string, code: string, userCompanyGuid: string) {\r\n this.email = email;\r\n this.password = password;\r\n this.confirmPassword = confirmedPassword;\r\n this.code = code;\r\n this.userCompanyGuid = userCompanyGuid;\r\n }\r\n}\r\n","export class ResetPasswordResult {\r\n newPassword: string | undefined;\r\n authToken: string | undefined;\r\n}\r\n","import { BorrowerStepStatus } from \"./borrower-step-status.model\";\r\nexport class BorrowerAppStatusDetails {\r\n visitedStepIds: string[] = [];\r\n borrowerStepStatuses: BorrowerStepStatus[] = [];\r\n applicationSubmitted: boolean = false;\r\n coBorrowerIds?: number[] = [];\r\n nonCoBorrowerIds?: number[] = [];\r\n}\r\n","import { BorrowerAppStatusDetails } from \"./borrower-app-status-details.model\";\r\n\r\nexport class BorrowerAppStatus {\r\n currentStatus: string = \"\";\r\n lastSuccessfulStatus: string = \"\";\r\n //json data\r\n details: BorrowerAppStatusDetails;\r\n\r\n constructor() {\r\n this.details = new BorrowerAppStatusDetails();\r\n }\r\n}\r\n","export class BorrowerCounselingEvent {\r\n borrowerCounselingEventId: number;\r\n borrowerId: number;\r\n counselingAgencyName: string;\r\n counselingAgencyIdentifier: string;\r\n borrowerHasCompleted: boolean;\r\n completedDate: string;\r\n counselingType: string;\r\n format: string;\r\n formatOtherDescription: string;\r\n companyId: number;\r\n insertedBy: string;\r\n updatedBy: string;\r\n dateInserted: string;\r\n dateUpdated: string;\r\n counselingAgencyAddress1: string;\r\n counselingAgencyAddress2: string;\r\n counselingAgencyCity: string;\r\n counselingAgencyState: string;\r\n counselingAgencyZipCode: string;\r\n}\r\n","export class BorrowerCreditScores {\r\n borrowerId: number | undefined;\r\n borrowerName: string | undefined;\r\n creditID: number | undefined;\r\n date: Date | undefined;\r\n equifax: number | undefined;\r\n experian: number | undefined;\r\n transUnion: number | undefined;\r\n refNumber: number | null = null;\r\n\r\n}\r\n","import { AddressHistory } from \"./address-history-model\";\r\nimport { BorrowerCounselingEvent } from \"./borrower-counseling-event.model\";\r\nimport { CreditInquiryDetails } from \"./credit-inquiry-details.model\";\r\nimport { Declarations } from \"./declarations-model\";\r\nimport { Demographics } from \"./demographics-model\";\r\nimport { Employment } from \"./employment-model\";\r\nimport { OwnOrRent } from \"./enums/own-rent.enum\";\r\nimport { ResidencyType } from \"./enums/residency-type.enum\";\r\nimport { IHaveName } from \"./have-name.interface\";\r\nimport { Income } from \"./income-model\";\r\nimport { ResidencyAddress } from \"./residency-address.model\";\r\n\r\nexport class Borrower implements IHaveName {\r\n borrowerId: number | undefined;\r\n contactId: number | undefined;\r\n firstName: string = \"\";\r\n middleName: string = \"\";\r\n lastName: string = \"\";\r\n nameSuffix: string = \"\";\r\n primaryEmail: string = \"\";\r\n mobilePhone: string = \"\";\r\n homePhone: string = \"\";\r\n phoneNumber: string = \"\";\r\n ownOrRent: OwnOrRent | undefined;\r\n creditScore: number | undefined;\r\n currentAddressHistory: AddressHistory | undefined;\r\n nonEmploymentIncomes: Income[] = [];\r\n employments: Employment[] = [];\r\n declarations: Declarations | undefined;\r\n governmentMonitors: Demographics;\r\n residencyAddresses: ResidencyAddress[] = [];\r\n counselingEvents: BorrowerCounselingEvent[] = [];\r\n dateOfBirth: string = \"\";\r\n socialSecNum: string = \"\";\r\n maritalStatus: string | undefined | null = null;\r\n dependents: number[] = [];\r\n hasServedInMilitary: boolean = false;\r\n militaryTourEndDate: string = \"\";\r\n branchOfService: string | null = null;\r\n isFirstUseOfVaBenefit: boolean = false;\r\n isVaFundingFeeExempt: boolean = false;\r\n isSurvivingSpouseOfMilitary: boolean = false;\r\n isActiveDutyMilitary: boolean = false;\r\n onlyNonActivatedReserveOrNationalGuard: boolean = false;\r\n isRetiredDischargedSeparatedFromMilitary: boolean = false;\r\n\r\n //not in the model\r\n permissionToRunCredit: boolean | undefined;\r\n creditInquiry: CreditInquiryDetails | undefined;\r\n permissionToRunIncome: boolean | undefined;\r\n willBeEdited: boolean = false;\r\n isPrimary: boolean;\r\n jointWithBorrowerId?: number | undefined;\r\n printApplicationIndex?: number | undefined;\r\n authorizedCreditCheck?: boolean | undefined;\r\n dateAuthorizedCreditCheck?: string | undefined;\r\n authorizationMethod?: string | undefined;\r\n hasValidEConsent?: boolean | undefined;\r\n\r\n languagePreference?: PredefinedLanguagePreference | string | null = null;\r\n languagePreferenceOtherDescription?: string;\r\n mortgagePartyType?: string | null = null;\r\n\r\n isMarriedToPrimaryBorrower?: boolean | null = null;\r\n\r\n constructor() {\r\n const currentAddress = new ResidencyAddress(ResidencyType.PresentAddress);\r\n this.residencyAddresses?.push(currentAddress);\r\n this.declarations = new Declarations();\r\n this.governmentMonitors = new Demographics();\r\n this.maritalStatus = null;\r\n this.languagePreference = null;\r\n this.nameSuffix = null;\r\n this.hasServedInMilitary = null;\r\n }\r\n}\r\n\r\nexport type PredefinedLanguagePreference =\r\n | 'Chinese'\r\n | 'English'\r\n | 'Korean'\r\n | 'Spanish'\r\n | 'Tagalog'\r\n | 'Vietnamese'\r\n | 'Other'\r\n ;\r\n","\r\nexport class AgentRequestACallModel {\r\n applicationId: number;\r\n bestContactMumber: string | undefined;\r\n note: string | undefined;\r\n bestCallbackTime: Date;\r\n\r\n constructor(appId: number) {\r\n this.applicationId = appId;\r\n this.bestCallbackTime = new Date();\r\n }\r\n}\r\n","import {LosPortalUserStatusModel} from \"./los-portal-user-status-model\";\r\n\r\nexport class ApplicationDetailModel {\r\n borrowerId:number | undefined;\r\n borrowerName: string | undefined;\r\n borrowerPhone: string | undefined;\r\n borrowerEmail: string | undefined;\r\n losPortalUserStatus: LosPortalUserStatusModel | undefined;\r\n acceptedEConsentDate: Date | undefined;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {ApplicationDetailModel} from \"./application-detail-model\";\r\nimport {OtherBorrowersOnLoanModel} from \"./other-borrowers-on-loan-model\";\r\n\r\nexport class ApplicationForUser {\r\n\r\n applicationId:number;\r\n refNumber: string | undefined;\r\n streetViewImageUrl: string | undefined;\r\n mapViewImageUrl: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n loanStatus: string;\r\n leadSource: string | undefined;\r\n blurb: string | undefined;\r\n loanPurpose: string | undefined;\r\n loanAmount:number;\r\n interestRate:number | undefined;\r\n contactRole: string | undefined;\r\n contactName: string | undefined;\r\n contactNumber: string | undefined;\r\n contactGuid: string | undefined;\r\n companyId: number | undefined;\r\n companyGuid: string | undefined;\r\n companyName: string | undefined;\r\n applicationName: string;\r\n onlineAppInProgress: boolean | undefined;\r\n forceFinishOnlineApp: boolean | undefined;\r\n onlineApplicationName: string | undefined;\r\n onlineApplicationVersion: string | undefined;\r\n onlineApplicationIsCoborrower: boolean | undefined;\r\n onlineAppRootUrl: string | undefined;\r\n loanAmountHiddenOnPortals: boolean | undefined;\r\n interestRateHiddenOnPortals: boolean | undefined;\r\n isAssetVerificationLoanActionEnabled: boolean | undefined;\r\n isEmploymentIncomeVerificationLoanActionEnabled: boolean | undefined;\r\n isUploadingAdditionalDocumentsLoanActionEnabled: boolean | undefined;\r\n isPreApprovalLetterGenerationLoanActionEnabled: boolean | undefined;\r\n isMortgageCalculatorLoanActionEnabled: boolean | undefined;\r\n readonly contactCalendarLink: string | undefined;\r\n purchasePrice: number | undefined;\r\n\r\n myDetails: ApplicationDetailModel;\r\n otherBorrowersOnLoan: OtherBorrowersOnLoanModel[] | undefined;\r\n\r\n industryAffiliations: string | undefined;\r\n\r\n constructor() {\r\n this.applicationId = 0;\r\n this.loanAmount = 0;\r\n this.applicationName = '';\r\n this.loanStatus = '';\r\n\r\n this.myDetails = new ApplicationDetailModel();\r\n }\r\n}\r\n","import {LinkedDocumentModel} from \"./linked-document-model\";\r\n\r\nexport class ApplicationTaskModel {\r\n taskId: number = -1;\r\n taskTypeId: string | undefined;\r\n borrowerTaskType: BorrowerTaskType | undefined;\r\n description: string | undefined;\r\n docType: string | undefined;\r\n docSortOrder: number | undefined;\r\n submittedDate: Date | undefined;\r\n approvedDate: Date | undefined;\r\n dueDate: Date = new Date();\r\n templateDocumentUrl: string | undefined;\r\n borrowerId: number | undefined;\r\n borrowerName: string | undefined;\r\n borrowerFacingNote: string | undefined;\r\n borrowerTaskStatus: BorrowerTaskStatus | undefined;\r\n linkedDocuments: LinkedDocumentModel[] | undefined;\r\n allowUpload: boolean | undefined;\r\n isAgentTask: boolean | undefined;\r\n allowMarkNA: boolean | undefined;\r\n signingLinkSentInEmail: boolean | null;\r\n htmlWidgetSrc?: string | null;\r\n\r\n constructor() {\r\n }\r\n}\r\n\r\nexport enum BorrowerTaskStatus {\r\n Pending = \"Pending\",\r\n Submitted = \"Submitted\",\r\n Rejected = \"Rejected\",\r\n Completed = \"Completed\"\r\n}\r\n\r\nexport enum BorrowerTaskType {\r\n RequestDocument = \"RequestDocument\",\r\n ViewDocument = \"ViewDocument\",\r\n AcknowledgeReceipt = \"AcknowledgeReceipt\",\r\n EsignDocument = \"EsignDocument\",\r\n RequestInformation = \"RequestInformation\",\r\n PerformAction = \"PerformAction\",\r\n OnlineApplication = \"OnlineApplication\",\r\n DigitalAssetVerification = \"DigitalAssetVerification\",\r\n DigitalIncomeEmploymentVerification = \"DigitalIncomeEmploymentVerification\",\r\n GenerateDocument = \"GenerateDocument\",\r\n RequestPayoff = \"RequestPayoff\",\r\n RequestHoi = \"RequestHoi\",\r\n RequestTitle = \"RequestTitle\",\r\n RequestEscrow = \"RequestEscrow\",\r\n RequestAppraisal = \"RequestAppraisal\",\r\n LosEsign = \"LosEsign\",\r\n WetSignDocument = \"WetSignDocument\",\r\n LoanBeamSync = \"LoanBeamSync\",\r\n GatherPayment = \"GatherPayment\",\r\n ChangeOfCircumstance = \"ChangeOfCircumstance\",\r\n Escalation = \"Escalation\"\r\n}\r\n","import {ApplicationTaskModel} from \"./application-task-model\";\r\n\r\nexport class ApplicationTasksModel {\r\n\r\n requested: ApplicationTaskModel[] = [];\r\n submitted: ApplicationTaskModel[] = [];\r\n approved: ApplicationTaskModel[] = [];\r\n\r\n constructor() { }\r\n}\r\n","export class BorrowerAndAgentMessageModel {\r\n applicationId:\tnumber;\r\n loanDocTaskId:\tnumber | undefined;\r\n messageText:\tstring | undefined;\r\n}\r\n","\r\nexport class GeneratePrequalLetterRequestModel {\r\n productDescription: string;\r\n address: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n loanAmount: number;\r\n purchasePrice: number;\r\n downPayment: number;\r\n interestRate: number;\r\n includeAusFindings: boolean;\r\n includeProofOfFunds: boolean;\r\n}\r\n","export class PortalContent {\r\n\r\n companyId: number | undefined;\r\n userId: string | undefined;\r\n aboutUsContent: string = '';\r\n referralContent: string | undefined;\r\n showReferralTerms: boolean | undefined;\r\n referralTermsContent: string | undefined;\r\n showPrequalLetterGeneration: boolean | undefined;\r\n readonly isGoogleAddressesIntegrationDisabled: boolean | null; \r\n readonly isAssetVerificationLoanActionEnabled : boolean | null;\r\n readonly isMortgageCalculatorLoanActionEnabled : boolean | null;\r\n readonly isEmploymentIncomeVerificationLoanActionEnabled : boolean | null;\r\n readonly isUploadingAdditionalDocumentsLoanActionEnabled : boolean | null;\r\n readonly isPreApprovalLetterGenerationLoanActionEnabled : boolean | null;\r\n \r\n constructor() {\r\n }\r\n}\r\n\r\n","\r\nexport class ReferAFriendRequest {\r\n referToUserId:\tstring;\r\n referralType:\tReferralType;\r\n firstName:\tstring;\r\n lastName:\tstring;\r\n userContact:\tstring;\r\n email:\tstring;\r\n phone:\tstring;\r\n note:\tstring;\r\n referredByName:\tstring;\r\n referredByEmail:\tstring;\r\n referredByPhone:\tstring;\r\n}\r\n\r\nexport enum ReferralType {\r\n Borrower = \"Borrower\",\r\n Agent = \"Agent\"\r\n}\r\n","export class BorrowerStepStatus {\r\n borrowerId!: number;\r\n creditRun!: boolean;\r\n\r\n stepStatusValues: any = {}\r\n\r\n constructor(borrowerId: number) {\r\n this.borrowerId = borrowerId;\r\n }\r\n}\r\n","export interface BorrowerVerificationOrderHistory {\r\n formFreeHistoryId: number;\r\n integrationProvider: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n voaRequestType: string;\r\n transactionId: string;\r\n accountChekOrderId: string;\r\n vodId: string;\r\n latestReportId: string;\r\n orderStatus: string;\r\n loginUrl: string;\r\n status: BorrowerVerificationOrderStatus;\r\n leadId: number;\r\n applicationId: number;\r\n borrowerId: number;\r\n loanDocTaskId: number;\r\n taskStatus: string;\r\n enrollmentEvents: EnrollmentEvent[];\r\n thirdPartyEnrollmentWidget: string;\r\n modelGuid: string;\r\n insertedBy: string;\r\n updatedBy: string;\r\n dateInserted: string;\r\n dateUpdated: string;\r\n }\r\n\r\n export interface EnrollmentEvent {\r\n eventName: string;\r\n eventData: string;\r\n eventDateTime: string;\r\n }\r\n\r\n export enum BorrowerVerificationOrderStatus {\r\n Pending = \"Pending\",\r\n UserEnrolled = \"UserEnrolled\",\r\n VerificationSessionOpened = \"VerificationSessionOpened\",\r\n Canceled = \"Canceled\",\r\n AccountConnected = \"AccountConnected\"\r\n }\r\n","import { CharacteristicMergeValue } from \"./characteristic-merge-value.model\";\r\nimport { ICharacteristic } from \"./characteristic.interface\";\r\n\r\nexport class BorrowerCharacteristic implements ICharacteristic {\r\n borrowerCharacteristicId: number;\r\n applicationId: number;\r\n borrowerId: number | undefined;\r\n characteristicId: number;\r\n characteristicMergeValues: Array;\r\n companyId: number | undefined;\r\n insertedBy: string | undefined;\r\n dateInserted: string | undefined;\r\n updatedBy: string | undefined;\r\n dateUpdated: string | undefined;\r\n pendingDeletion: boolean = false;\r\n\r\n constructor(borrowerCharacteristicId: number, applicationId: number, characteristicId: number, borrowerId: number | undefined) {\r\n this.borrowerCharacteristicId = borrowerCharacteristicId;\r\n this.applicationId = applicationId;\r\n this.characteristicId = characteristicId;\r\n this.borrowerId = borrowerId;\r\n this.characteristicMergeValues = [];\r\n }\r\n}\r\n","export class CharacteristicMergeValue {\r\n characteristicMergeValueId: number | undefined;\r\n characteristicFieldId: number;\r\n borrowerCharacteristicId: number | undefined;\r\n loanCharacteristicId: number | undefined;\r\n mergeValue: string | undefined;\r\n\r\n constructor(characteristicFieldId: number) {\r\n this.characteristicFieldId = characteristicFieldId;\r\n }\r\n}\r\n","import { CharacteristicMergeValue } from \"./characteristic-merge-value.model\";\r\nimport { ICharacteristic } from \"./characteristic.interface\";\r\n\r\nexport class LoanCharacteristic implements ICharacteristic {\r\n loanCharacteristicId: number;\r\n applicationId: number;\r\n borrowerId: number | undefined;\r\n characteristicId: number;\r\n characteristicMergeValues: Array;\r\n companyId: number | undefined;\r\n insertedBy: string | undefined;\r\n dateInserted: string | undefined;\r\n updatedBy: string | undefined;\r\n dateUpdated: string | undefined;\r\n\r\n pendingDeletion: boolean = false;\r\n\r\n constructor(loanCharacteristicId: number, applicationId: number, characteristicId: number) {\r\n this.loanCharacteristicId = loanCharacteristicId;\r\n this.applicationId = applicationId;\r\n this.characteristicId = characteristicId;\r\n this.characteristicMergeValues = [];\r\n }\r\n}\r\n\r\n","export class CheckListConfig {\r\n checklistId: number;\r\n checkListName: string;\r\n loanStatusId: number;\r\n //loanStatus: LoanStatus;\r\n questionConfiguration: string;\r\n currentVersion: ChecklistVersion;\r\n //companyModel: Company;\r\n\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: Date;\r\n updatedBy: string;\r\n dateUpdated: Date;\r\n}\r\n\r\nexport class ChecklistVersion {\r\n checklistVersionId: number;\r\n checklistId: number;\r\n}\r\n\r\nexport class QuestionSummary {\r\n questionId: number;\r\n questionText: string;\r\n questionType: LookupType;\r\n checklistId: number;\r\n versionId: number;\r\n answers: QuestionAnswerSummary[]\r\n submittedAnswers: SubmittedAnswer[];\r\n userAnswer?: string | number | Array;\r\n}\r\n\r\nexport interface SubmittedAnswer {\r\n checklistAnswerId: number;\r\n answerText?: string;\r\n questionAnswerId?: number;\r\n applicationId: number;\r\n checklistVersionId: number;\r\n questionId: number;\r\n}\r\n\r\n\r\nexport class QuestionAnswerSummary {\r\n questionAnswerId: number\r\n answerText: string;\r\n}\r\n\r\nexport enum LookupType {\r\n TriggerOnly = \"TriggerOnly\",\r\n Immediately = \"Immediately\",\r\n OnLoanStatus = \"OnLoanStatus\",\r\n CreateInternalContact = \"CreateInternalContact\",\r\n UpdateInternalContact = \"UpdateInternalContact\",\r\n Private = \"Private\",\r\n Group = \"Group\",\r\n Public = \"Public\",\r\n Event = \"Event\",\r\n ToDo = \"ToDo\",\r\n Appointment = \"Appointment\",\r\n Al = \"Al\",\r\n AutoApply = \"AutoApply\",\r\n Confirm = \"Confirm\",\r\n RequestQuantity = \"RequestQuantity\",\r\n LoanCharacteristic = \"LoanCharacteristic\",\r\n BorrowerCharacteristic = \"BorrowerCharacteristic\",\r\n LessThan = \"LessThan\",\r\n LessThanOrEqualTo = \"LessThanOrEqualTo\",\r\n EqualTo = \"EqualTo\",\r\n GreatherThan = \"GreatherThan\",\r\n GreaterThanOrEqualTo = \"GreaterThanOrEqualTo\",\r\n NullOrEmpty = \"NullOrEmpty\",\r\n NotNullOrEmpty = \"NotNullOrEmpty\",\r\n StartsWith = \"StartsWith\",\r\n Contains = \"Contains\",\r\n DoesNotContain = \"DoesNotContain\",\r\n In = \"In\",\r\n NotIn = \"NotIn\",\r\n MultiSelect = \"MultiSelect\",\r\n SelectList = \"SelectList\",\r\n Value = \"Value\",\r\n Docvalue = \"Docvalue\",\r\n DataValidation = \"DataValidation\",\r\n DocumentValidation = \"DocumentValidation\",\r\n ManualValidation = \"ManualValidation\",\r\n YesNo = \"YesNo\",\r\n TrueFalse = \"TrueFalse\",\r\n OnOff = \"OnOff\",\r\n Text = \"Text\",\r\n Integer = \"Integer\",\r\n Decimal = \"Decimal\",\r\n Pdf = \"Pdf\",\r\n Doc = \"Doc\",\r\n Txt = \"Txt\",\r\n Excel = \"Excel\",\r\n Csv = \"Csv\",\r\n Img = \"Img\",\r\n ApplyToLoan = \"ApplyToLoan\",\r\n ApplyToPrimaryBorrower = \"ApplyToPrimaryBorrower\",\r\n ApplyToSelectBorrowers = \"ApplyToSelectBorrowers\",\r\n ChangeStatus = \"ChangeStatus\",\r\n Uploadfile = \"Uploadfile\",\r\n DeleteFile = \"DeleteFile\",\r\n DownloadFile = \"DownloadFile\",\r\n ExportFile = \"ExportFile\",\r\n FileNoteUpdated = \"FileNoteUpdated\",\r\n BorrowerNoteUpdated = \"BorrowerNoteUpdated\",\r\n DeleteTask = \"DeleteTask\",\r\n RemoveFileFromTrash = \"RemoveFileFromTrash\",\r\n ConditionStatusChange = \"ConditionStatusChange\",\r\n CreateTask = \"CreateTask\",\r\n RestoreTask = \"RestoreTask\",\r\n MergeFile = \"MergeFile\",\r\n PostponeTask = \"PostponeTask\",\r\n ChangeFollowUpDate = \"ChangeFollowUpDate\",\r\n ChangeDueDate = \"ChangeDueDate\",\r\n ViewFile = \"ViewFile\",\r\n FileNameChanged = \"FileNameChanged\",\r\n ChangeConditionFlag = \"ChangeConditionFlag\",\r\n ChangeDescription = \"ChangeDescription\",\r\n ChangeNotifyParty = \"ChangeNotifyParty\",\r\n ChangePriority = \"ChangePriority\",\r\n ChangeResponsibleParty = \"ChangeResponsibleParty\",\r\n ChangeReviewRequired = \"ChangeReviewRequired\",\r\n AddCharacteristic = \"AddCharacteristic\",\r\n ChangeCharacteristic = \"ChangeCharacteristic\",\r\n RemoveCharacteristic = \"RemoveCharacteristic\",\r\n ChangeSubStatusOnly = \"ChangeSubStatusOnly\",\r\n ChangeEscalationUser = \"ChangeEscalationUser\",\r\n ESignStatusChange = \"ESignStatusChange\"\r\n}\r\n","export class CreditInquiryDetails {\r\n creditInquiryDetailsId: number | undefined;\r\n creditId: number | undefined;\r\n documentSigningOrderId: number | undefined;\r\n entries: CreditInquiryDetailsEntry[] = [];\r\n companyId: number | undefined;\r\n insertedBy: string | undefined;\r\n dateInserted: string | undefined;\r\n updatedBy: string | undefined;\r\n dateUpdated: string | undefined;\r\n}\r\n\r\nexport class CreditInquiryDetailsEntry {\r\n reason: string | undefined; //['AutoLoan', 'CreditCard', 'MortgageShopping'],\r\n newDebtAcquired: boolean = false;\r\n creditInquiryDate: string | undefined;\r\n creditRepositorySourceType: string | undefined;\r\n fullName: string | undefined;\r\n}\r\n","export class Declarations {\r\n occupyProperty: boolean | undefined;\r\n havePropertiesOwnership: boolean | undefined;\r\n typeOfProperty: string | undefined;\r\n heldTitleHow: string | undefined;\r\n haveRelationshipWithSeller: boolean | undefined;\r\n borrowedDownPayment: boolean | undefined;\r\n borrowedDownPaymentInfo:number | undefined;\r\n applyingForOtherMortgage: boolean | undefined;\r\n applyingForNonMortgageCredit: boolean | undefined;\r\n propertyHasLienWithCleanEnergyProgram: boolean | undefined;\r\n coSignedLoan: boolean | undefined;\r\n haveJudgement: boolean | undefined;\r\n haveTaxDebt: boolean | undefined;\r\n haveLawsuit: boolean | undefined;\r\n haveConveyedTitleInLieuOfForeclosure: boolean | undefined;\r\n haveCompletedShortSale: boolean | undefined;\r\n beenForclosed: boolean | undefined;\r\n declaredBankruptcy: boolean | undefined;\r\n bankruptcyType:string | undefined;\r\n residenceStatus:string | undefined | null = null;\r\n undisclosedMoneyAmount: number | undefined;\r\n\r\n constructor() {\r\n this.residenceStatus = null;\r\n }\r\n}\r\n\r\n","export class Demographics {\r\n sex: string | undefined ;\r\n race: string | undefined;\r\n raceDesignation: string | undefined;\r\n ethnicity: string | undefined;\r\n ethnicityOrigin: string | undefined;\r\n ethnicityOriginOtherDescription: string | undefined;\r\n otherAsianRace: string | undefined;\r\n otherPacificIslanderRace: string | undefined;\r\n nativeAmericanTribeName: string | undefined;\r\n}\r\n","import { LoanDocTask } from \"./loan-doc-task.model\";\r\n\r\nexport class DocumentSigningOrder {\r\n documentSigningOrderId: number;\r\n documentSigningVendor: DocumentSigningVendor = DocumentSigningVendor.DocuSign;\r\n applicationId: number;\r\n filePackageId: number;\r\n status: string;\r\n thirdPartyOrderId: string;\r\n envelopeToken: string;\r\n accountId: string;\r\n senderViewUrl: string;\r\n signingLinkSentInEmail: boolean;\r\n loanDocTasks: LoanDocTask[];\r\n recipients: DocumentSigningRecipient[];\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class DocumentSigningRecipient {\r\n documentSigningRecipientId: number;\r\n documentSigningOrderId: number;\r\n userId: string;\r\n name: string;\r\n email: string;\r\n borrowerId: number;\r\n internalContactId: number;\r\n externalContactId: number;\r\n loanDocTaskId: number;\r\n recipientType: string;\r\n thirdPartyRecipientId: string;\r\n status: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport enum DocumentSigningVendor {\r\n DocuSign = \"DocuSign\",\r\n DocMagic = \"DocMagic\",\r\n EncompassPOS = \"EncompassPOS\"\r\n}\r\n","import { Address } from \"./address-model\";\r\nimport { Income } from \"./income-model\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class Employment {\r\n employmentId: number = 0;\r\n borrowerId: number | undefined;\r\n addressId: number | undefined;\r\n employer: string = \"\";\r\n isPrimary: string = \"true\";\r\n position: string = \"\";\r\n employmentType: string | undefined;\r\n address: Address;\r\n employerPhone: string = \"\";\r\n isDigitallyVerified: boolean = false;\r\n yearsOnJob:number | undefined;\r\n monthsOnJob:number | undefined;\r\n yearsInLineOfWork: number | undefined;\r\n selfEmployed: boolean | undefined;\r\n borrowerOwnershipShare: string | undefined;\r\n selfEmploymentForm: string | undefined;\r\n startDate: string | undefined;\r\n endDate: string | undefined;\r\n theWorkNumberEmployerCode: number | undefined;\r\n selfEmploymentMonthlyIncomeOrLoss: number | undefined;\r\n modelGuid?: string = \"\";\r\n\r\n incomes: Income[] = [];\r\n\r\n monthlyIncome: number | undefined;\r\n businessType: string | undefined;\r\n\r\n constructor() {\r\n this.address = new Address();\r\n this.modelGuid = uuidv4();\r\n }\r\n}\r\n","export enum AssetType {\r\n Annuity = \"Annuity\",\r\n Automobile = \"Automobile\",\r\n Bond= \"Bond\",\r\n BridgeLoanNotDeposited = \"BridgeLoanNotDeposited\",\r\n Cash = \"CashOnHand\" ,\r\n CertificateOfDepositTimeDeposit = \"CertificateOfDepositTimeDeposit\",\r\n CheckingAccount = \"CheckingAccount\",\r\n EarnestMoneyCashDepositTowardPurchase = \"EarnestMoneyCashDepositTowardPurchase\",\r\n GiftOfEquity = \"GiftOfEquity\",\r\n CashGift = \"CashGift\",\r\n IndividualDevelopmentAccount = \"IndividualDevelopmentAccount\",\r\n LifeInsurance = \"LifeInsurance\",\r\n MoneyMarketFund = \"MoneyMarketFund\",\r\n MutualFund = \"MutualFund\",\r\n NetWorthOfBusinessOwned = \"NetWorthOfBusinessOwned\",\r\n OtherLiquidAssets = \"OtherLiquidAssets\",\r\n OtherNonLiquidAssets = \"OtherNonLiquidAssets\",\r\n PendingNetSaleProceedsFromRealEstateAssets = \"PendingNetSaleProceedsFromRealEstateAssets\",\r\n ProceedsFromSaleOfNonRealEstateAsset = \"ProceedsFromSaleOfNonRealEstateAsset\",\r\n RelocationMoney = \"RelocationMoney\",\r\n RetirementFund = \"RetirementFund\",\r\n SaleOtherAssets = \"SaleOtherAssets\",\r\n SavingsAccount = \"SavingsAccount\",\r\n SecuredBorrowedFundsNotDeposited = \"SecuredBorrowedFundsNotDeposited\",\r\n Stock = \"Stock\",\r\n StockOptions = \"StockOptions\",\r\n TrustAccount = \"TrustAccount\"\r\n}\r\n","export enum CategoryOfIncome {\r\n //These values correspont to the values defined in LE.Lodasoft.Common.Models.Mortgage.IncomeViewModel\r\n Employment = \"Employment\",\r\n IndependentContractor = \"IndependentContractor\",\r\n MilitaryPay = \"MilitaryPay\",\r\n Rental = \"Rental\",\r\n SocialSecurity = \"SocialSecurity\",\r\n Pension = \"Pension\",\r\n //TODO: LE.Lodasoft.Common.Models.Mortgage.IncomeViewModel has typo\r\n BusinessSelfEmployment = \"BuisnessSelfEmployment\",\r\n Other = \"Other\"\r\n}\r\n","export enum LoanPurpose {\r\n None = 'Unknown',\r\n Refinance = 'Refinance',\r\n Purchase = 'Purchase',\r\n ConstructionOnly = 'ConstructionOnly',\r\n ConstructionToPermanent = 'ConstructionToPermanent',\r\n Other = 'Other'\r\n}\r\n\r\n","export enum MaritalStatus {\r\n None = -1,\r\n Married = 1,\r\n Separated = 2,\r\n Unmarried = 3\r\n}\r\n","export enum ResidencyBasis {\r\n Own = \"Own\",\r\n Rent = \"Rent\",\r\n LivingRentFree = \"LivingRentFree\",\r\n Unknown = \"Unknown\"\r\n}\r\n","export enum ResidencyType {\r\n PresentAddress = \"PresentAddress\",\r\n FormerAddress = \"FormerAddress\",\r\n MailingAddress = \"MailingAddress\",\r\n}\r\n","export enum SpouseTransactionInvolvement {\r\n None = -1,\r\n OnLoan = 1,\r\n OnTitleOnly = 2,\r\n NeitherOnLoanNorTitle = 3\r\n}\r\n","export enum TypeOfIncome {\r\n AlimonyChildSupport = \"AlimonyChildSupport\",\r\n AutomobileExpenseAccount = \"AutomobileExpenseAccount\",\r\n Base = \"Base\",\r\n Bonus = \"Bonus\",\r\n Commissions = \"Commissions\",\r\n DividendsInterest = \"DividendsInterest\",\r\n FosterCare = \"FosterCare\",\r\n NetRentalIncome = \"NetRentalIncome\",\r\n NotesReceivableInstallment = \"NotesReceivableInstallment\",\r\n OtherTypesOfIncome = \"OtherTypesOfIncome\",\r\n Overtime = \"Overtime\",\r\n Pension = \"Pension\",\r\n SocialSecurity = \"SocialSecurity\",\r\n SubjectPropertyNetCashFlow = \"SubjectPropertyNetCashFlow\",\r\n Trust = \"Trust\",\r\n Unemployment = \"Unemployment\",\r\n PublicAssistance = \"PublicAssistance\",\r\n VABenefitsNonEducational = \"VABenefitsNonEducational\",\r\n MortgageDifferential = \"MortgageDifferential\",\r\n MilitaryBasePay = \"MilitaryBasePay\",\r\n MilitaryRationsAllowance = \"MilitaryRationsAllowance\",\r\n MilitaryFlightPay = \"MilitaryFlightPay\",\r\n MilitaryHazardPay = \"MilitaryHazardPay\",\r\n MilitaryClothesAllowance = \"MilitaryClothesAllowance\",\r\n MilitaryQuartersAllowance = \"MilitaryQuartersAllowance\",\r\n MilitaryPropPay = \"MilitaryPropPay\",\r\n MilitaryOverseasPay = \"MilitaryOverseasPay\",\r\n MilitaryCombatPay = \"MilitaryCombatPay\",\r\n MilitaryVariableHousingAllowance = \"MilitaryVariableHousingAllowance\",\r\n AccessoryUnitIncome = \"AccessoryUnitIncome\",\r\n NonBorrowerHouseholdIncome = \"NonBorrowerHouseholdIncome\",\r\n HousingChoiceVoucher = \"HousingChoiceVoucher\",\r\n BoarderIncome = \"BoarderIncome\",\r\n MortgateCreditCertificate = \"MortgateCreditCertificate\",\r\n CapitalGains = \"CapitalGains\",\r\n EmploymentRelatedAssets = \"EmploymentRelatedAssets\",\r\n ForeignIncome = \"ForeignIncome\",\r\n RoyaltyPayment = \"RoyaltyPayment\",\r\n SeasonalIncome = \"SeasonalIncome\",\r\n TemporaryLeave = \"TemporaryLeave\",\r\n TipIncome = \"TipIncome\",\r\n FNMBoarderIncome = \"FNMBoarderIncome\",\r\n FNMGovernmentMortgageCreditCertificate = \"FNMGovernmentMortgageCreditCertificate\",\r\n FNMTrailingCoBorrower = \"FNMTrailingCoBorrower\",\r\n HousingChoiceVoucherProgramSection8 = \"HousingChoiceVoucherProgramSection8\",\r\n ContractBasis = \"ContractBasis\",\r\n ChildSupport = \"ChildSupport\",\r\n DefinedContributionPlan = \"DefinedContributionPlan\",\r\n Disability = \"Disability\",\r\n HousingAllowance = \"HousingAllowance\",\r\n HousingOrParsonage = \"HousingOrParsonage\",\r\n Retirement = \"Retirement\",\r\n SeparateMaintenance = \"SeparateMaintenance\",\r\n NonBorrowerContribution = \"NonBorrowerContribution\",\r\n ProposedGrossRentForSubjectProperty = \"ProposedGrossRentForSubjectProperty\",\r\n RealEstateOwnedGrossRentalIncome = \"RealEstateOwnedGrossRentalIncome\",\r\n SelfEmploymentIncome = \"SelfEmploymentIncome\",\r\n SelfEmploymentLoss = \"SelfEmploymentLoss\",\r\n WorkersCompensation = \"WorkersCompensation\",\r\n MiscellaneousIncome = \"MiscellaneousIncome\",\r\n BorrowerEstimatedTotalMonthlyIncome = \"BorrowerEstimatedTotalMonthlyIncome\"\r\n}\r\n","export enum WizardGroupEnum {\r\n MyInfo = 1,\r\n MyFinances = 2,\r\n PropertyAndLoan = 3,\r\n Declarations = 4,\r\n ReviewAndSubmit = 5\r\n}\r\n","export class ErrorMessage {\r\n title: string = \"\";\r\n message: string = \"\";\r\n\r\n constructor(title: string, message: string) {\r\n this.title = title;\r\n this.message = message;\r\n }\r\n}\r\n","export class ExistingAccountLoginResult {\r\n applyingForANewLoan: boolean = false;\r\n userForgotPassword: boolean = false;\r\n authToken: string | undefined = undefined;\r\n appId?: number | undefined = undefined;\r\n}\r\n","export enum FeeSectionEnum {\r\n Origination = \"Origination\",\r\n ServicesNoShop = \"ServicesNoShop\",\r\n Services = \"Services\",\r\n GovernmentTaxesAndFees = \"GovernmentTaxesAndFees\",\r\n Prepaids = \"Prepaids\",\r\n Escrow = \"Escrow\",\r\n Other = \"Other\",\r\n RealEstateCommission = \"RealEstateCommission\" // non-existing api sections\r\n}\r\n","export class HousingExpense {\r\n homeownersInsurance: number | undefined | null;\r\n firstMortgagePrincipalAndInterest: number | undefined | null;\r\n otherMortgageLoanPrincipalAndInterest: number | undefined | null;\r\n supplementalPropertyInsurance: number | undefined | null;\r\n realEstateTax: number | undefined | null;\r\n mortgageInsurance: number | undefined | null;\r\n homeownersAssociationDuesAndCondominiumFees: number | undefined | null;\r\n otherHousingExpense: number | undefined | null;\r\n}\r\n","import { TypeOfIncome } from './enums/type-of-income.enum';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class IncomeItem {\r\n id: number = 0;\r\n name: string = '';\r\n description: string | null = '';\r\n monthlyPay: number;\r\n startDate: string | undefined;\r\n position: string | undefined;\r\n type: TypeOfIncome | undefined;\r\n digitallyVerified: boolean = false;\r\n isValid: boolean = false;\r\n isSelfEmployed: boolean = false;\r\n\r\n guid: string = '';\r\n employmentGuid: string = '';\r\n\r\n incomeBreakdown: IncomeSubItem[] = [];\r\n\r\n constructor(\r\n type: TypeOfIncome,\r\n monthlyPay: number,\r\n isValid: boolean,\r\n position?: string,\r\n startDate?: string,\r\n description: string | null = null\r\n ) {\r\n this.type = type;\r\n this.monthlyPay = monthlyPay;\r\n this.startDate = startDate;\r\n this.position = position;\r\n this.isValid = isValid;\r\n this.description = description;\r\n this.guid = uuidv4();\r\n this.employmentGuid = uuidv4();\r\n }\r\n\r\n public get isOther(): boolean {\r\n if (this.type === TypeOfIncome.OtherTypesOfIncome) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nexport class IncomeSubItem {\r\n type: TypeOfIncome;\r\n monthlyPay: number;\r\n guid: string = '';\r\n}\r\n\r\n","import { CategoryOfIncome } from \"./enums/category-of-income.enum\";\r\nimport { TypeOfIncome } from \"./enums/type-of-income.enum\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class Income {\r\n incomeId!: number;\r\n monthlyIncome: number | undefined;\r\n categoryOfIncome: CategoryOfIncome | undefined;\r\n typeOfIncomeOtherDescription: string = \"\";\r\n businessType: string | undefined;\r\n typeOfIncome: TypeOfIncome | undefined;\r\n borrowerId: number | undefined;\r\n companyId: string | undefined;\r\n modelGuid?: string = \"\";\r\n\r\n constructor() {\r\n this.modelGuid = uuidv4();\r\n }\r\n}\r\n\r\n\r\n","export class LoanType {\r\n loanTypeId: number | undefined;\r\n loanTypeName: string | undefined;\r\n mortgageAppliedForType: string | undefined;\r\n order: number | undefined;\r\n defaultForOnlineApp: boolean = false;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Address } from \"./address-model\";\r\nimport { Asset } from \"./asset.model\";\r\nimport { Borrower } from \"./borrower-model\";\r\nimport { MaritalStatus } from \"./enums/marital-status.enum\";\r\nimport { SpouseTransactionInvolvement } from \"./enums/spouse-txn-involvement.enum\";\r\nimport { HousingExpense } from \"./housing-expense.model\";\r\nimport { MortgageTerm } from \"./mortgage-term.model\";\r\nimport { SubjectProperty } from \"./subject-property.model\";\r\nimport { TransactionDetail } from \"./transaction-detail.model\";\r\nimport { Liability, RealEstateOwned } from \"./mortgage.model\";\r\n\r\n@Injectable()\r\nexport class MortgageApplication {\r\n applicationId: number = 0;\r\n userGuid: string = \"unassigned\";\r\n mortgageId: number = 0;\r\n\r\n channel: string = null;\r\n\r\n subjectProperty: SubjectProperty = new SubjectProperty();\r\n\r\n maritalStatus: MaritalStatus | undefined;\r\n spouseTransactionInvolvement: SpouseTransactionInvolvement | undefined;\r\n propertyAddress: Address | undefined;\r\n currentAddress: Address | undefined;\r\n borrowers: Borrower[] = [];\r\n assets: Asset[] = [];\r\n realEstateOwned: RealEstateOwned[] = [];\r\n liabilities: Liability[] = [];\r\n mortgageTerm: MortgageTerm = new MortgageTerm();\r\n transactionDetail: TransactionDetail = new TransactionDetail();\r\n proposedHousingExpense: HousingExpense = new HousingExpense();\r\n extension: MortgageApplicationExtension = new MortgageApplicationExtension();\r\n\r\n employmentAndIncomeGatheredDigitally: number | undefined;\r\n\r\n constructor() {\r\n this.borrowers = [];\r\n let defaultBorrower = new Borrower();\r\n this.borrowers.push(defaultBorrower);\r\n }\r\n}\r\n\r\nexport class MortgageApplicationExtension {\r\n hasSignedPurchaseAgreement: boolean | undefined | null;\r\n purchaseAgreementContractSignedDate: string | undefined | null;\r\n purchaseAgreementExpectedCOEDate: string | undefined | null;\r\n}\r\n\r\nexport class MortgageCalculationDetails {\r\n ltv: MortgageLtvCalculationDetails;\r\n dti: MortgageDtiCalculationDetails;\r\n fundsToClose: MortgageFundsToCloseCalculationDetails;\r\n}\r\n\r\n\r\nexport class MortgageLtvCalculationDetails implements IHaveMortgageLtvCalculationDetails {\r\n baseLoanAmount: number;\r\n totalLoanAmount: number;\r\n subordinateLienAmount: number;\r\n subordinateLienCreditLimitTotal: number;\r\n collateralValue: number;\r\n ltv: number;\r\n cltv: number;\r\n hcltv: number;\r\n}\r\n\r\nexport class MortgageDtiCalculationDetails {\r\n frontEndDti: number;\r\n backEndDti: number;\r\n frontEndDebt: number;\r\n frontEndDebtInfo: string | null;\r\n incomeMonthlyTotal: number;\r\n debtMonthlyTotal: number;\r\n incomeDetail: DtiIncome[] = [];\r\n debtDetail: DtiDebt[] = [];\r\n}\r\n\r\nexport interface IHaveMortgageLtvCalculationDetails {\r\n ltv: number;\r\n cltv: number;\r\n hcltv: number;\r\n}\r\n\r\nexport class MortgageFundsToCloseCalculationDetails {\r\n salesContractPrice_A?: number;\r\n improvementsRenovationsRepairs_B?: number;\r\n landValue_C?: number;\r\n totalPaidOffForRefinance_D?: number;\r\n debtsPaidOff_E?: number;\r\n borrowerClosingCostsTotal_F?: number;\r\n estimatedPrepaidItems?: number;\r\n estimatedEscrowItems?: number;\r\n estimatedClosingCosts?: number;\r\n pmiMipFundingFee?: number;\r\n discountPoints_G?: number;\r\n totalDueFromBorrowerAThroughG_H?: number;\r\n loanAmount_I?: number;\r\n loanAmountExcludingFinancedMip?: number;\r\n financedMip?: number;\r\n otherNewMortgageLoansOnSubjectProperty_J?: number;\r\n totalMortgageLoansIThroughJ_K?: number;\r\n sellerCredits_L?: number;\r\n otherCredits_M?: number;\r\n lenderCredits?: number;\r\n totalCreditsLThroughM_N?: number;\r\n totalMortgageLoansAndTotalCreditsNAndK?: number;\r\n cashFromToBorrower?: number;\r\n}\r\n\r\nexport class DtiIncome {\r\n name: string;\r\n amount: number;\r\n info: string;\r\n childDetail: DtiIncome[] = [];\r\n}\r\n\r\nexport class DtiDebt {\r\n name: string;\r\n amount: number;\r\n info: string;\r\n childDetail: DtiDebt[] = [];\r\n}\r\n\r\n","\r\nexport class MortgageTerm {\r\n mortgageTermId: number | undefined;\r\n mortgageAppliedFor: string | undefined;\r\n amount: number | undefined;\r\n lenderCaseNumber: string | undefined;\r\n appraisedValue: number | undefined;\r\n}\r\n","import { Address } from \"./address-model\";\r\nimport { BorrowerType } from \"./borrower-type.model\";\r\nimport { ResidencyAddress } from \"./residency-address.model\";\r\n\r\n\r\nexport class Mortgage {\r\n mortgageId?: number;\r\n readonly applicationId?: null | number;\r\n subjectPropertyId?: null | number;\r\n readonly mortgageTermId?: null | number;\r\n readonly transactionDetailId?: null | number;\r\n subjectProperty?: null | SubjectProperty;\r\n mortgageTerm: MortgageTerm;\r\n originatorInformation: OriginatorInformation;\r\n relatedMortgages: Array;\r\n transactionDetail?: null | TransactionDetail;\r\n borrowers: Array;\r\n assets: Array;\r\n liabilities: Array;\r\n governmentLoanDetail: null | GovernmentLoanDetail;\r\n mortgageInsuranceDetail: null | MortgageInsuranceDetail;\r\n realEstateOwned: Array;\r\n readonly companyId?: null | number;\r\n readonly insertedBy?: null | string;\r\n readonly dateInserted?: null | string;\r\n readonly updatedBy?: null | string;\r\n readonly dateUpdated?: null | string;\r\n proposedHousingExpense?: null | HousingExpense;\r\n currentHousingExpense?: null | HousingExpense;\r\n extension?: null | Extension;\r\n ausData?: null | AusData;\r\n ausDataId: number;\r\n}\r\n\r\nexport class Extension {\r\n extensionId: number;\r\n fannieMaeProjectClassificationType: string;\r\n isBalloonPaymentRequiredToPayOffLoan: boolean;\r\n willEscrowBeWaived: boolean;\r\n isLoanCoveredUnderHomeOwnershipEquityProtectionAct: boolean;\r\n isPreApprovalLoan: boolean;\r\n fannieMaeProductDesciptionType: string;\r\n productCode: string;\r\n fannieMaeAdjustableRateMortgagePlanNumber: string;\r\n isLoanAssumableByAnotherParty: boolean;\r\n fannieMaePaymentFrequencyType: string;\r\n isPenaltyChargedInEventOfPrepayment: boolean;\r\n isPrepaymentOfLoanRestricted: boolean;\r\n fannieMaeRepaymentType: string;\r\n buydownInterestRateChangeFrequencyInMonths: number;\r\n buydownInterestRateDurationInMonths: number;\r\n buydownInterestRateAdjustment: number;\r\n isLenderFundingInterestRateBuydown: boolean;\r\n fannieMaeBuydownBaseDateType: string;\r\n isBuydownPermanent: boolean;\r\n balloonTermMonths: number;\r\n isInterestOnly: boolean;\r\n interestOnlyTermMonths: number;\r\n hasNegativeAmortization: boolean;\r\n hasPrepaymentPenalty: boolean;\r\n prepaymentPenaltyTermMonths: number;\r\n hasBuydown: boolean;\r\n initialBuydownRate: number;\r\n otherLoanFeatures: string;\r\n belowMarketSubordinateFinancingProvided: boolean;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class AusData {\r\n ausDataId: number;\r\n buydownContributorType: string;\r\n armIndexCurrent: number;\r\n armIndexMargin: number;\r\n armIndexType: string;\r\n armIndexSourceType: string;\r\n armIndexSourceTypeOtherDescription: string;\r\n armQualifyingRate: number;\r\n armRateAdjustmentLifetimeCap: number;\r\n armMarginRate: number;\r\n armAdjustmentChangeIndexRate: number;\r\n firstPaymentAdjustmentMonths: number;\r\n paymentAdjustmentPeriodicCap: number;\r\n paymentAdjustmentPeriodNumber: number;\r\n subsequentPaymentAdjustmentMonths: number;\r\n firstRateAdjustmentMonths: number;\r\n rateAdjustmentPeriodNumber: number;\r\n rateAdjustmentPeriodicCap: number;\r\n subsequentRateAdjustmentMonths: number;\r\n lenderRegistrationIdentifier: string;\r\n helocMaximumBalanceAmount: number;\r\n subordinateLienHelocAmount: number;\r\n baloonLoanMaturityTermMonths: number;\r\n negativeAmortizationLimit: number;\r\n negativeAmortizationType: string;\r\n productName: string;\r\n vaResidualIncome: number;\r\n sectionOfActType: string;\r\n isPrimaryBorrowerMarriedToCoBorrower: boolean;\r\n refinanceProgramIdentifier: string;\r\n refinanceProgramIdentifierOtherDescription: string;\r\n loanProgramIdentifier: string;\r\n mortgageInsuranceCoveragePercent: number;\r\n hudIncomeLimitAdjustmentPercent: number;\r\n hmdaRateSpread: number;\r\n caseStateType: string;\r\n theWorkNumberReportId: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class RelatedMortgage {\r\n relatedMortgageId: number;\r\n mortgageId: number;\r\n creditorName: string;\r\n lienType: string;\r\n monthlyPayment: number;\r\n loanOrDrawAmount: number;\r\n creditLimit: number;\r\n isAffordableLoan: boolean;\r\n isPrincipalAndInterestDeferredFirstFiveYears: boolean;\r\n fundsSource: string;\r\n fundsSourceOtherDescription: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class SubjectProperty {\r\n subjectPropertyId: number;\r\n addressId: number;\r\n subjectPropertyValuationId: number;\r\n legalDescription: string;\r\n purposeOfLoan: string;\r\n loanPurposeOtherDescription: string;\r\n propertyWillBe: string;\r\n grossRent: number;\r\n occupancyPercent: number;\r\n apn: string;\r\n lot: string;\r\n tract: string;\r\n unit: string;\r\n noOfUnits: number;\r\n yearBuilt: number;\r\n propertyType: string;\r\n isCondominiumHotel: boolean;\r\n isPlannedUnitDevelopment: boolean;\r\n isPropertyNotInAProject: boolean;\r\n constructionPeriodMonths: number;\r\n presentValue: number;\r\n improvementCost: number;\r\n amountExistingLiens: number;\r\n buildingStatus: string;\r\n originalCostYear: number;\r\n originalCost: number;\r\n refiPurpose: string;\r\n refinancePrimaryPurpose: string;\r\n describeImprovement: string;\r\n improvementStatus: string;\r\n cost: number;\r\n refinanceWithOriginalCreditor: boolean;\r\n titleWillBeHeldNames: string;\r\n downPaymentSource: string;\r\n explain: string;\r\n manner: string;\r\n estate: string;\r\n leaseHoldExpirationDate: string;\r\n legalDescriptionType: string;\r\n nativeAmericanLandsType: string;\r\n isCommunityLandTrust: boolean;\r\n isSubjectToPropertyInclusionZoning: boolean;\r\n uniqueDwellingType: string;\r\n sellerFirstName: string;\r\n sellerLastName: string;\r\n sellerMiddleName: string;\r\n sellerNameSuffix: string;\r\n atLeastOneBorrowerLivesInCommunityPropertyState: boolean;\r\n propertyIsInCommunityPropertyState: boolean;\r\n communityLendingProductType: string;\r\n communitySecondsRepaymentType: string;\r\n isConversionOfContractForDeedOrLandContract: boolean;\r\n isRenovation: boolean;\r\n isConstructionConversionOrConstructionToPermanent: boolean;\r\n constructionToPermanentClosingType: string;\r\n projectType: string;\r\n projectDesignType: string;\r\n attachmentType: string;\r\n constructionMethod: string;\r\n constructionStatus: string;\r\n manufacturedHomeWidthType: string;\r\n mannerTitleWillBeHeld: string;\r\n mannerTitleWillBeHeldOtherDescription: string;\r\n trustClassification: string;\r\n mortgageWillFinanceEnergyRelatedImprovements: boolean;\r\n propertyHasLienWithCleanEnergyProgram: boolean;\r\n refinanceProgram: string;\r\n refinanceProgramOther: string;\r\n currentFirstMortgageHolderType: string;\r\n lotOriginalCost: number;\r\n lotAppraisedValue: number;\r\n landValueType: string;\r\n lotAcquiredDate: string;\r\n titleCurrentlyHeldInNames: string;\r\n isFhaSecondaryResidence: boolean;\r\n isMixedUseProperty: boolean;\r\n expectedGrossMonthlyRentalIncome: number;\r\n expectedNetMonthlyRentalIncome: number;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n county: string;\r\n country: string;\r\n countyFips: string;\r\n stateFips: string;\r\n subjectPropertyValuation: SubjectPropertyValuation;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class SubjectPropertyValuation {\r\n subjectPropertyValuationId: number;\r\n appraisalIdentifier: string;\r\n appraisalFormType: string;\r\n appraisalMethodType: string;\r\n appraiserCompanyName: string;\r\n appraiserName: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class HousingExpense {\r\n expenseId: number;\r\n borrowerId: number;\r\n firstMortgagePrincipalAndInterest: number;\r\n homeownersInsurance: number;\r\n homeownersAssociationDuesAndCondominiumFees: number;\r\n condominiumAssociationDues: number;\r\n cooperativeAssociationDues: number;\r\n homeownersAssociationDues: number;\r\n mortgageInsurance: number;\r\n otherHousingExpense: number;\r\n otherHousingExpenseDescription: string;\r\n otherMortgageLoanPrincipalAndInterest: number;\r\n realEstateTax: number;\r\n statePropertyTax: number;\r\n countyPropertyTax: number;\r\n districtPropertyTax: number;\r\n boroughPropertyTax: number;\r\n cityPropertyTax: number;\r\n townPropertyTax: number;\r\n villagePropertyTax: number;\r\n schoolPropertyTax: number;\r\n supplementalPropertyInsurance: number;\r\n earthquakeInsurance: number;\r\n floodInsurance: number;\r\n hailInsurance: number;\r\n volcanoInsurance: number;\r\n windAndStormInsurance: number;\r\n otherSupplementalPropertyInsurance: number;\r\n rent: number;\r\n isCurrent: boolean;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class MortgageTerm {\r\n mortgageTermId?: null | number;\r\n mortgageAppliedFor?: null | string;\r\n loanTypeOtherDescription?: null | string;\r\n incomeAssetsOtherThanBorrowerWillBeUsed?: null | boolean;\r\n incomeAssetsOfSpouseNotUsed?: null | boolean;\r\n agencyCaseNumber?: null | string;\r\n lenderCaseNumber?: null | string;\r\n universalLoanNumber?: null | string;\r\n // universalLoanNumber?: null | number;\r\n mersMortgageIdentifier?: null | string;\r\n amount?: null | number;\r\n totalLoanAmount?: null | number;\r\n appraisedValue?: null | number;\r\n interestRate?: null | number;\r\n qualifyingRate?: null | number;\r\n noOfMonths?: null | number;\r\n amortizationType?: null | string;\r\n // amortizationType?: null | AmortizationTypeEnum;\r\n amortizationOtherDescription?: null | string;\r\n armTextualDescription?: null | string;\r\n lienPosition?: null | string;\r\n companyId?: null | number;\r\n insertedBy?: null | string;\r\n dateInserted?: null | string;\r\n updatedBy?: null | string;\r\n dateUpdated?: null | string;\r\n}\r\n\r\nexport class OriginatorInformation {\r\n originatorInformationId?: number;\r\n name?: string;\r\n nmls?: string;\r\n stateLicense?: string;\r\n email?: string;\r\n phone?: string;\r\n organizationName?: string;\r\n organizationAddress1?: string;\r\n organizationAddress2?: string;\r\n organizationCity?: string;\r\n organizationState?: string;\r\n organizationZipCode?: string;\r\n organizationNmls?: string;\r\n organizationStateLicense?: string;\r\n organizationTaxpayerIdentifier?: string;\r\n originatorFhaLenderId?: string;\r\n originatorFhaSponsorId?: string;\r\n applicationTakenMethod?: string;\r\n applicationSignedDate?: string;\r\n companyId?: number;\r\n insertedBy?: string;\r\n dateInserted?: string;\r\n updatedBy?: string;\r\n dateUpdated?: string;\r\n}\r\n\r\nexport class TransactionDetail {\r\n readonly transactionDetailId?: null | number;\r\n purchasePriceAmount?: null | number;\r\n readonly landAmount?: null | number;\r\n alterationsImprovementsAndRepairsAmount?: null | number;\r\n refinanceIncludingDebtsToBePaidOffAmount?: null | number;\r\n prepaidItemsEstimatedAmount?: null | number;\r\n prepaidEscrowsTotalAmount?: null | number;\r\n estimatedClosingCostsAmount?: null | number;\r\n estimatedClosingCostsExcludingPrepaidsAmount?: null | number;\r\n miAndFundingFeeTotalAmount?: null | number;\r\n borrowerPaidDiscountPointsTotalAmount?: null | number;\r\n subordinateLienAmount?: null | number;\r\n sellerPaidClosingCostsAmount?: null | number;\r\n miAndFundingFeeFinancedAmount?: null | number;\r\n cashFromToBorrowerAmount?: null | number;\r\n reserves?: null | number;\r\n salesConcessionTotal?: null | number;\r\n energyRelatedImprovementsAmount?: null | number;\r\n vaEntitlementAmount?: null | number;\r\n vaResidualIncomeAmount?: null | number;\r\n borrowerPaidFhaVaClosingCosts?: null | number;\r\n purchaseCredits?: null | PurchaseCredit[];\r\n readonly companyId?: null | number;\r\n readonly insertedBy?: null | string;\r\n readonly dateInserted?: null | string;\r\n readonly updatedBy?: null | string;\r\n readonly dateUpdated?: null | string;\r\n\r\n constructor() {\r\n this.purchaseCredits = [];\r\n }\r\n}\r\n\r\nexport enum MaritalStatusTypeEnum {\r\n Single = \"Single\",\r\n Married = \"Married\",\r\n Separated = \"Separated\",\r\n NotProvided = \"NotProvided\",\r\n Other = \"Other\"\r\n}\r\n\r\nexport enum DomesticRelationshipTypeEnum {\r\n CivilUnion = \"CivilUnion\",\r\n DomesticPartnership = \"DomesticPartnership\",\r\n RegisteredReciprocalBeneficiaryRelationship = \"RegisteredReciprocalBeneficiaryRelationship\",\r\n Other = \"Other\"\r\n}\r\n\r\nexport class MortgageBorrower {\r\n borrowerId: number;\r\n mortgageId: number;\r\n contactId: number;\r\n printApplicationIndex: number;\r\n jointWithBorrowerSocialSecurityNumber: string;\r\n jointWithBorrowerId: number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n nameSuffix: string;\r\n yearsOfSchool: number;\r\n authorizedCreditCheck: boolean;\r\n dateAuthorizedCreditCheck: string;\r\n authorizationMethod: string;\r\n socialSecNum: string;\r\n maritalStatus: MaritalStatusTypeEnum;\r\n dateOfBirth: string;\r\n acceptedEConsentDate: string;\r\n creditScore: number;\r\n creditScore_Equifax: number;\r\n creditScore_Experian: number;\r\n creditScore_TransUnion: number;\r\n creditRefNumber: string;\r\n homePhone: string;\r\n mobilePhone: string;\r\n workPhone: string;\r\n primaryEmail: string;\r\n secondaryEmail: string;\r\n typeOfBorrower: BorrowerType;\r\n rawSocialSecurityNumber: string;\r\n dependentCount: number;\r\n isMergedWithBorrower: boolean;\r\n mergedWithBorrowerId: number;\r\n hasServedInMilitary: boolean;\r\n isActiveDutyMilitary: boolean;\r\n militaryTourEndDate: string;\r\n isRetiredDischargedSeparatedFromMilitary: boolean;\r\n onlyNonActivatedReserveOrNationalGuard: boolean;\r\n isSurvivingSpouseOfMilitary: boolean;\r\n\r\n isFirstUseOfVaBenefit: boolean;\r\n isVaFundingFeeExempt: boolean;\r\n\r\n vaFederalTaxAmount: number;\r\n domesticRelationshipType: DomesticRelationshipTypeEnum;\r\n unmarriedRelationshipTypeOther: string;\r\n unmarriedRelationshipState: string;\r\n continuationSheetInformation: string;\r\n applicationSignedDate: string;\r\n authorizedTheWorkNumber: boolean;\r\n formFreeReportId: string;\r\n active: boolean;\r\n aliases: BorrowerAlias[] = [];\r\n //counselingEvents (Array[LE.Lodasoft.Common.Models.Mortgage.BorrowerCounselingEventViewModel], optional),\r\n currentHousingExpenses: HousingExpense;\r\n declarations: Declarations;\r\n dependents: number[] = [];\r\n employments: Employment[] = [];\r\n governmentMonitors: Demographics;\r\n nonEmploymentIncomes: Income[] = [];\r\n residencyAddresses: ResidencyAddress[] = [];\r\n declarationId?: number;\r\n governmentMonitorId?: number;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n\r\n //calculatedStats: BorrowerCalculatedStats = new BorrowerCalculatedStats();\r\n}\r\n\r\nexport class MortgageInsuranceDetail {\r\n miOrFundingFeeTotalAmount: number;\r\n miOrFundingFeeTotalPercent: number;\r\n miOrFundingFeeFinancedAmount: number;\r\n miOrFundingFeeUpFrontAmount: number;\r\n isMIPrepaid: boolean;\r\n monthsPrepaid: number;\r\n prepaidPremiumTotal: number;\r\n cancelAtPercent: number;\r\n level1MonthlyAmount: number;\r\n level1Percent: number;\r\n level1Months: number;\r\n level2MonthlyAmount: number;\r\n level2Percent: number;\r\n level2Months: number;\r\n miCompanyNameType: string;\r\n miCompanyNameTypeOtherDescription: string;\r\n miOrderedDate: string;\r\n miReceivedDate: string;\r\n miCaseNumber: string;\r\n mortgageInsuranceCoveragePercent: number;\r\n premiumRefundableType: string;\r\n premiumRefundableTypeOtherDescription: string;\r\n renewalCalculationType: string;\r\n renewalCalculationTypeOtherDescription: string;\r\n renewalType: string;\r\n premiumRatePlanType: string;\r\n paymentFrequency: string;\r\n paymentFrequencyOtherDescription: string;\r\n duration: string;\r\n premiumSource: string;\r\n calculationBasedOn: string;\r\n calculateBasedOnRemainingBalance: boolean;\r\n midpointPaymentCancellation: boolean;\r\n decliningRenewals: boolean;\r\n mortgageInsuranceDetailId: number;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class MortgageInsuranceCalculationResult {\r\n miOrFundingFeeTotalAmount: number;\r\n miOrFundingFeeTotalPercent: number;\r\n miOrFundingFeeFinancedAmount: number;\r\n totalLoanAmount: number;\r\n level1MonthlyAmount: number;\r\n level2MonthlyAmount: number;\r\n prepaidPremiumTotal: number;\r\n}\r\n\r\nexport class GovernmentLoanDetail {\r\n borrowerFundingFeePercent: number;\r\n borrowerPaidFhaVaClosingCostsAmount: number;\r\n refundProratedUnearnedUpFront: boolean;\r\n roundToNearest50Dollars: boolean;\r\n insuranceChargesIncludedInLoanPayments: boolean;\r\n insuranceChargesCollectedAtClosing: boolean;\r\n lenderPaidMortgageInsurance: boolean;\r\n sectionOfActType: string;\r\n borrowerFinancedFhaDiscountPointsAmount: number;\r\n fhaMiPremiumRefundAmount: number;\r\n fhaAnnualPremiumPercent: number;\r\n fhaAssignmentDate: string;\r\n fhaEndorsementDate: string;\r\n fhaEnergyRelatedRepairsOrImprovementsAmount: number;\r\n fhaGeneralServicesAdministrationIdentifier: string;\r\n fhaInsuranceProgramType: string;\r\n fhaPremiumAnniversaryYearToDateRemittanceAmount: number;\r\n fhaRefinanceInterestOnExistingLienAmount: number;\r\n fhaRefinanceOriginalExistingFhaCaseIdentifier: string;\r\n fhaRefinanceOriginalExistingUpfrontMIPremiumAmount: number;\r\n fhaMIRenewalRatePercent: number;\r\n borrowerHasPositiveRentalHistory: boolean;\r\n vaEntitlementAmount: number;\r\n vaResidualIncomeAmount: number;\r\n vaEntitlementIdentifier: string;\r\n vaFundingFeeExemptionType: string;\r\n governmentLoanDetailId: number;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class Dependent {\r\n dependentId: number;\r\n borrowerId: number;\r\n age: number;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class BorrowerAlias {\r\n borrowerAliasId: number;\r\n borrowerId: number;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n nameSuffix: string;\r\n creditorName: string;\r\n accountNumber: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport interface Expense {\r\n expenseId?: null | number;\r\n readonly borrowerId?: null | number;\r\n readonly monthlyAmount?: null | number;\r\n readonly expenseType?: null | ExpenseTypeEnum;\r\n readonly isCurrent?: null | boolean;\r\n readonly companyId?: null | number;\r\n readonly insertedBy?: null | string;\r\n readonly dateInserted?: null | string;\r\n readonly updatedBy?: null | string;\r\n readonly dateUpdated?: null | string;\r\n}\r\n\r\nexport class Employment {\r\n employmentId: number;\r\n borrowerId: number;\r\n addressId: number;\r\n employer: string;\r\n employerEmail: string;\r\n employerPhone: string;\r\n employmentType: EmploymentTypeEnum;\r\n selfEmployed: boolean = null;\r\n isPrimary: boolean;\r\n position: string;\r\n specialRelationshipType: string;\r\n startDate: string;\r\n endDate: string;\r\n yearsOnJob: number;\r\n monthsOnJob: number;\r\n yearsInLineOfWork: number;\r\n fromCreditReport: boolean;\r\n monthsInLineOfWork: number;\r\n borrowerOwnershipShare: string = null;\r\n borrowerHasSpecialRelationshipWithEmployer: boolean;\r\n selfEmploymentMonthlyIncomeOrLoss: number;\r\n isDigitallyVerified: boolean;\r\n theWorkNumberEmployerCode: string;\r\n address: Address;\r\n incomes: Income[] = [];\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class PurchaseCredit {\r\n purchaseCreditId: number;\r\n transactionDetailId: number;\r\n purchaseCreditType: string;\r\n purchaseCreditTypeOtherDescription: string;\r\n sourceType: string;\r\n purchaseCreditAmount: number;\r\n explanation: string;\r\n companyId?: number;\r\n insertedBy?: string;\r\n dateInserted?: string;\r\n updatedBy?: string;\r\n dateUpdated?: string;\r\n}\r\n\r\nexport class Income {\r\n incomeId?: null | number;\r\n borrowerId?: null | number;\r\n monthlyIncome?: null | number;\r\n typeOfIncome?: null | string;\r\n typeOfIncomeOtherDescription: string | null;\r\n fromCreditReport?: null | boolean;\r\n companyId?: null | number;\r\n insertedBy?: null | string;\r\n dateInserted?: null | string;\r\n updatedBy?: null | string;\r\n dateUpdated?: null | string;\r\n categoryOfIncome?: null | CategoryOfIncomeEnum;\r\n yearlyIncome?: null | number;\r\n employmentModel?: null | Employment;\r\n reoModel?: null | Reo;\r\n description?: null | string;\r\n\r\n amount: number; // fakes\r\n payPeriod: string; //fake\r\n hoursPerWeek: number; //fake\r\n isOmitted: boolean; //fakse\r\n}\r\n\r\nexport class Declarations {\r\n declarationId: number;\r\n haveJudgement: boolean;\r\n haveJudgementInfo: string;\r\n declaredBankruptcy: boolean;\r\n declaredBankruptcyInfo: string;\r\n beenForclosed: boolean;\r\n beenForclosedInfo: string;\r\n haveLawsuit: boolean;\r\n haveLawsuitInfo: string;\r\n haveLoanObligation: boolean;\r\n haveLoanObligationInfo: string;\r\n haveTaxDebt: boolean;\r\n haveTaxDebtInfo: string;\r\n haveChildSupport: boolean;\r\n haveChildSupportInfo: string;\r\n borrowedDownPayment: boolean;\r\n borrowedDownPaymentInfo: string;\r\n coSignedLoan: boolean;\r\n coSignedLoanInfo: string;\r\n isVeteran: boolean;\r\n residenceStatus: string;\r\n occupyProperty: boolean;\r\n havePropertiesOwnership: boolean;\r\n typeOfProperty: string;\r\n heldTitleHow: string;\r\n fromCreditReport: boolean;\r\n haveRelationshipWithSeller: boolean;\r\n undisclosedMoneyAmount: number;\r\n applyingForOtherMortgage: boolean;\r\n applyingForNonMortgageCredit: boolean;\r\n propertyHasLienWithCleanEnergyProgram: boolean;\r\n haveConveyedTitleInLieuOfForeclosure: boolean;\r\n haveCompletedShortSale: boolean;\r\n bankruptcyType: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport class Asset {\r\n assetId: number;\r\n owningBorrowerIds: Array = [];\r\n addressId: number;\r\n assetType: string;\r\n assetInsertionType: string;\r\n cashMarketValue: number;\r\n lifeInsuranceFaceValueAmount: number;\r\n accountNumber: string;\r\n depository: string;\r\n makeModel: string;\r\n year: number;\r\n disposition: string;\r\n amountOfMortgageLien: number;\r\n morgagePayment: number;\r\n gross: number;\r\n netRentalIncome: number;\r\n dividendIncome: number;\r\n insMainTaxMisc: number;\r\n stockBondMutualFundShareCount: number;\r\n otherAssetTypeDescription: string;\r\n isDeposited: boolean;\r\n giftOrGrantSource: string;\r\n holderAddress1: string;\r\n holderAddress2: string;\r\n holderCity: string;\r\n holderState: string;\r\n holderZipCode: string;\r\n holderCounty: string;\r\n holderCountry: string;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n}\r\n\r\nexport enum PayoffType {\r\n None = \"None\",\r\n Partial = \"Partial\",\r\n Full = \"Full\"\r\n}\r\n\r\nexport class Liability {\r\n liabilityId: number;\r\n owningBorrowerIds: Array;\r\n reoId: number;\r\n typeOfLiability: string;\r\n typeOfLiabilityOtherDescription: string;\r\n accountNumber: string;\r\n attention: string;\r\n description: string;\r\n monthlyPayment: number;\r\n monthsLeftToPay: number;\r\n unpaidBalance: number;\r\n creditLimit: number;\r\n interestRate: number;\r\n payoffType: PayoffType | string;\r\n partialPayoffAmount: number;\r\n isResubordinate: boolean;\r\n isExcluded: boolean;\r\n isSecondaryMortgageThatWillBeFinanced: boolean;\r\n isUwRequiredPayoff: boolean;\r\n lienPosition: string;\r\n holderName: string;\r\n holderAddress1: string;\r\n holderCity: string;\r\n holderState: string;\r\n holderZipCode: string;\r\n holderPhone: string;\r\n holderFax: string;\r\n holderComments: string;\r\n late30Days: number;\r\n late60Days: number;\r\n late90Days: number;\r\n late120Days: number;\r\n consumerDisputeIndicator: boolean;\r\n derogatoryDataIndicator: boolean;\r\n fromCreditReport: boolean;\r\n mortgageType: string;\r\n mortgageCreditLimit: number;\r\n mortgageMonthlyPaymentIncludesTaxesAndInsurance: boolean;\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n liabilityWillBePaidOffWithCurrentAssets: boolean;\r\n}\r\n\r\nexport class RealEstateOwned {\r\n reoId: number;\r\n owningBorrowerIds: Array = [];\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n state: string;\r\n zipCode: string;\r\n country: string;\r\n typeOfProperty: string;\r\n dispositionStatus: string;\r\n marketValue: number;\r\n amountOfMortgage: number;\r\n percentOwned: number;\r\n vacancyFactor: number;\r\n grossRentalIncome: number;\r\n netRentalIncome: number;\r\n mortgagePayment: number;\r\n monthlyMiscExpenses: number;\r\n isCurrentResidence: boolean;\r\n isSharedCoborrowerReo: boolean;\r\n isSubjectProperty: boolean;\r\n omitPresentValueFromAssets: boolean;\r\n omitNetRentalIncome: boolean;\r\n includeTaxesInsuranceInDebtRatios: boolean;\r\n currentUsageType: string;\r\n intendedUsageType: string;\r\n unitCount: number;\r\n projectType: string;\r\n liabilities: Array = [];\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: string;\r\n updatedBy: string;\r\n dateUpdated: string;\r\n assetAccountId: string;\r\n\r\n otherFinance: number;\r\n hazardInsurance: number;\r\n propertyTax: number;\r\n mortgageInsurance: number;\r\n hoa: number;\r\n otherMonthlyExpense: number;\r\n purchasePrice: number | undefined;\r\n dateAcquired: string | undefined;\r\n}\r\n\r\nexport class Demographics {\r\n governmentMonitorId: number | undefined;\r\n sex: string | undefined;\r\n race: string | undefined;\r\n raceDesignation: string | undefined;\r\n ethnicity: string | undefined;\r\n ethnicityOrigin: string | undefined;\r\n ethnicityOriginOtherDescription: string | undefined;\r\n otherAsianRace: string | undefined;\r\n otherPacificIslanderRace: string | undefined;\r\n nativeAmericanTribeName: string | undefined;\r\n applicationTakenMethod: string | undefined;\r\n isEthnicityBasedOnVisualOrSurname: boolean | undefined;\r\n isGenderBasedOnVisualOrSurname: boolean | undefined;\r\n isRaceBasedOnVisualOrSurname: boolean | undefined;\r\n}\r\n\r\nexport interface ExtendedEmployment extends Employment {\r\n duration: string;\r\n}\r\n\r\nexport interface ExtendedMortgageBorrower extends MortgageBorrower {\r\n last4Ssn: string;\r\n employments: Array;\r\n digitallySourcedEmployments: Array;\r\n shouldAccordionExpanded: boolean;\r\n form: any;\r\n}\r\n\r\nexport interface Reo {\r\n readonly address1?: null | string;\r\n readonly address2?: null | string;\r\n readonly city?: null | string;\r\n readonly state?: null | string;\r\n readonly zipCode?: null | string;\r\n readonly country?: null | string;\r\n readonly amountOfMortgage?: null | number;\r\n readonly borrowerId?: null | number;\r\n readonly companyId?: null | number;\r\n readonly dateInserted?: null | string;\r\n readonly dateUpdated?: null | string;\r\n readonly dispositionStatus?: null | DispositionStatusEnum;\r\n readonly grossRentalIncome?: null | number;\r\n readonly insertedBy?: null | string;\r\n readonly isCurrentResidence?: null | boolean;\r\n readonly isSubjectProperty?: null | boolean;\r\n readonly marketValue?: null | number;\r\n readonly monthlyMiscExpenses?: null | number;\r\n readonly mortgagePayment?: null | number;\r\n readonly netRentalIncome?: null | number;\r\n readonly reoId?: null | number;\r\n readonly typeOfProperty?: null | TypeOfPropertyEnum;\r\n readonly updatedBy?: null | string;\r\n}\r\n\r\n//#region - enums\r\nexport enum EstateEnum {\r\n 'Fee Simple' = 0,\r\n 'Lease Hold' = 1,\r\n}\r\n\r\nexport enum PropertyTypeEnum {\r\n 'Single Family Residence - Detached' = 3,\r\n 'Single Family Residence - Attached' = 0,\r\n 'Condominium / Townhome' = 1,\r\n 'Condominium - High Rise' = 4,\r\n 'Condominium - Detached' = 10,\r\n 'Cooperative' = 2,\r\n 'Manufactured Housing' = 5,\r\n 'PUD' = 7,\r\n // 'Modular' = 6,\r\n // 'Manufactured Housing Single Wide' = 8,\r\n // 'Manufactured Housing Double Wide' = 9,\r\n // 'Manufactured Home Condominium' = 11,\r\n // 'Manufactured Housing Multi Wide' = 12,\r\n // 'Manufactured Home Condominium Or PUD Or Cooperative' = 13,\r\n // 'Two To Four Unit Building' = 14,\r\n // 'Non Warranted Condo' = 15,\r\n}\r\n\r\nexport enum LoanPurposeEnum {\r\n 'Refinance' = 0,\r\n 'Purchase' = 1,\r\n 'Construction Only' = 2,\r\n 'Construction To Permanent' = 3,\r\n 'Other Loan Purpose' = 4,\r\n 'Refinance Cash Out' = 5,\r\n}\r\n\r\nexport enum PropertyWillBeEnum {\r\n 'Primary Residence' = 0,\r\n 'Secondary Residence' = 1,\r\n 'Investment' = 2,\r\n // 'Short Term Rental' = 3,\r\n}\r\n\r\nexport enum RefiPurposeEnum {\r\n 'Purchase' = 0,\r\n 'Refinance Cash Out' = 1,\r\n 'Refinance No Cash Out' = 2,\r\n 'Streamlined Refinance' = 3,\r\n 'Construction' = 4,\r\n}\r\n\r\nexport enum AmortizationTypeEnum {\r\n 'Fixed Rate' = 0,\r\n 'GEM' = 1,\r\n 'GPM' = 2,\r\n 'ARM' = 3,\r\n 'Other Amortization' = 4,\r\n}\r\n\r\nexport enum LevelOfEducationEnum {\r\n 'Some High School' = 10,\r\n 'High school diploma or GED' = 12,\r\n 'Some college' = 13,\r\n \"Associate's degree / Two-year\" = 14,\r\n \"Bachelor's degree\" = 16,\r\n \"Master's degree\" = 17,\r\n 'Doctoral degree' = 18,\r\n 'None of the above' = 0,\r\n}\r\n\r\nexport enum MaritalStatusEnum {\r\n 'Single' = 0,\r\n 'Married' = 1,\r\n 'Separated' = 2,\r\n}\r\n\r\nexport enum ExpenseTypeEnum {\r\n 'First Mortgage Principal And Interest' = 0,\r\n 'Hazard Insurance' = 1,\r\n 'Homeowners Insurance' = 2,\r\n 'Homeowners Association Dues And Condominium Fees' = 3,\r\n 'Morgage Insurance' = 4,\r\n 'Other Housing Expense' = 5,\r\n 'Other Mortgage Loan Principal And Interest' = 6,\r\n 'Real Estate Tax' = 7,\r\n 'Rent' = 8,\r\n}\r\n\r\nexport enum EmploymentTypeEnum {\r\n CurrentEmployer = 'CurrentEmployer',\r\n FormerEmployer = 'FormerEmployer',\r\n}\r\n\r\nexport enum BusinessTypeEnum {\r\n 'Sole Proprietor' = 0,\r\n 'LLC' = 1,\r\n 'S-Corp' = 2,\r\n 'C-Corp' = 3,\r\n 'Partnership' = 4,\r\n}\r\n\r\nexport enum TypeOfIncomeEnum {\r\n 'AlimonyChildSupport' = 'AlimonyChildSupport',\r\n 'AutomobileExpenseAccount' = 'AutomobileExpenseAccount',\r\n 'Base' = 'Base',\r\n 'Bonus' = 'Bonus',\r\n 'Commissions' = 'Commissions',\r\n 'DividendsInterest' = 'DividendsInterest',\r\n 'Employment Income' = 6,\r\n 'FosterCare' = 'FosterCare',\r\n 'NetRentalIncome' = 'NetRentalIncome',\r\n 'Notes Receivable Installment' = 'NotesReceivableInstallment',\r\n 'OtherTypesOfIncome' = 'OtherTypesOfIncome',\r\n 'Overtime' = 'Overtime',\r\n 'Pension' = 'Pension',\r\n 'SocialSecurity' = 'SocialSecurity',\r\n 'SubjectPropertyNetCashFlow' = 'SubjectPropertyNetCashFlow',\r\n 'Trust' = 'Trust',\r\n 'Unemployment' = 'Unemployment',\r\n 'PublicAssistance' = 'PublicAssistance',\r\n 'VABenefitsNonEducational' = 'VABenefitsNonEducational',\r\n 'MortgageDifferentiall' = 'MortgageDifferential',\r\n 'MilitaryBasePay' = 'MilitaryBasePay',\r\n 'MilitaryRationsAllowance' = 'MilitaryRationsAllowance',\r\n 'MilitaryFlightPayy' = 'MilitaryFlightPay',\r\n 'MilitaryHazardPay' = 'MilitaryHazardPay',\r\n 'MilitaryClothesAllowance' = 'MilitaryClothesAllowance',\r\n 'MilitaryQuartersAllowance' = 'MilitaryQuartersAllowance',\r\n 'MilitaryPropPay' = 'MilitaryPropPay',\r\n 'MilitaryOverseasPay' = 'MilitaryOverseasPay',\r\n 'MilitaryCombatPay' = 'MilitaryCombatPay',\r\n 'MilitaryVariableHousingAllowance' = 'MilitaryVariableHousingAllowance',\r\n}\r\n\r\nexport enum CategoryOfIncomeEnum {\r\n 'Employment (W2)' = 0,\r\n 'Indepedent Contractor' = 1,\r\n 'Military Pay' = 2,\r\n 'Rental' = 3,\r\n 'Social Security' = 4,\r\n 'Pension' = 5,\r\n 'Business / Self Employment' = 6,\r\n 'Other' = 7,\r\n}\r\n\r\nexport enum DispositionStatusEnum {\r\n 'Sold' = 0,\r\n 'Pending Sale' = 1,\r\n 'Retain For Primary Or Secondary Residence' = 2,\r\n 'Rental Property' = 3,\r\n}\r\n\r\nexport enum TypeOfPropertyEnum {\r\n 'Single Family' = 0,\r\n 'Condo' = 1,\r\n 'Townhouse' = 2,\r\n 'Coop' = 3,\r\n 'Two To Four Unit Property' = 4,\r\n 'Multifamily More Than Four Units' = 5,\r\n 'Commercial Non Residential' = 6,\r\n 'Mixed Use Residential' = 7,\r\n 'Farm' = 8,\r\n 'Home And Business Combined' = 9,\r\n 'Land' = 10,\r\n}\r\n\r\nexport type MortgageCalculationType =\r\n | 'AggregateAdjustment'\r\n | 'MonthlyPrincipalAndInterest'\r\n | 'MonthlyMortgageInsurance';\r\n//#endregion\r\n","export class OpenSignerViewRequest {\r\n loanDocTaskId: number;\r\n returnUrl: string\r\n applicationId: number;\r\n leadId: number;\r\n borrowerId: number;\r\n}\r\n","export class Originator {\r\n userId: string = \"\";\r\n avatar: string = \"\";\r\n firstName: string = \"\";\r\n lastName: string = \"\";\r\n nmlsId: string = \"\";\r\n calendarLink: string = \"\";\r\n}\r\n","export class PaymentInformation {\r\n transactionId: string;\r\n paymentType: PaymentType;\r\n accountNumber: string;\r\n billingName: string;\r\n billingPhoneNumber: string;\r\n billingEmail: string;\r\n nullable: true\r\n billingAddress: string;\r\n billingAddress2: string;\r\n billingCity: string;\r\n billingState: string;\r\n billingZip: string;\r\n creditCardType: CreditCardType;\r\n creditCardExpirationMonth: number;\r\n creditCardExpirationYear: number;\r\n driversLicenseNumber: string;\r\n driversLicenseState: string;\r\n checkNumber: string;\r\n checkRoutingNumber: string;\r\n}\r\n\r\nexport enum PaymentType {\r\n Bill = \"Bill\",\r\n Echeck = \"Echeck\",\r\n CreditCard = \"CreditCard\"\r\n}\r\n\r\nexport enum CreditCardType {\r\n AmericanExpress = \"AmericanExpress\",\r\n Discover = \"Discover\",\r\n MasterCard = \"MasterCard\",\r\n Visa = \"Visa\"\r\n}\r\n","import { ProductSearchRequest } from \"./product-search-request-info.model\";\r\n\r\nexport class PricingResponse {\r\n productSearchRequest: ProductSearchRequest;\r\n productSearchResult: ProductSearchResult;\r\n}\r\n\r\n\r\nexport class ProductSearchResult {\r\n pricingVendor: string;\r\n searchId: string;\r\n searchTime: string;\r\n calculatedCltv: number;\r\n calculatedHcltv: number;\r\n calculatedLtv: number;\r\n calculatedTotalLoanAmount: number;\r\n calculatedUpfrontPmiMipFfGfAmount: number;\r\n calculatedUpfrontPmiMipFfGfFinancedAmount: number;\r\n calculatedUpfrontPmiMipFfGfPaidinCash: number;\r\n calculatedUpfrontPmiMipFfGfPercent: number;\r\n products: Array;\r\n}\r\n\r\nexport class Product implements BaseProduct {\r\n productId: string;\r\n productCode: string;\r\n productName: string;\r\n investor: string;\r\n investorId: string;\r\n abbreviatedName: string;\r\n amortizationTerm: string;\r\n amortizationType: string;\r\n armFirstCap: number;\r\n armFixedTerm: string;\r\n armIndex: string;\r\n armMargin: number;\r\n armIndexValue: number;\r\n armLifetimeCap: number;\r\n armPeriodicCap: number;\r\n armRelativeCap: number;\r\n armSubsequentChangePeriod: string;\r\n atrqmRule: String[];\r\n description: string;\r\n documentAgencyNoteType: String[];\r\n expandedApprovalLevel: string;\r\n expandedGuidelines: string;\r\n interestOnly: boolean;\r\n interestOnlyTerm: number;\r\n investorProduct: string;\r\n loanTerm: string;\r\n loanType: string;\r\n miRequiredOver80Ltv: string;\r\n nonStandardLoanTermMinimumTermMonths: number;\r\n nonStandardLoanTermRequreFullYearTerm: string;\r\n nonStandardLoanTermSupport: string;\r\n productType: string;\r\n secondaryOnly: string;\r\n securityType: String[];\r\n quotes: Quote[];\r\n isEligible: boolean;\r\n ineligibleReason?: Array = [];\r\n rateSheetDate: string;\r\n\r\n calculatedValues: ProductCalculatedValues;\r\n priceStatus: string;\r\n}\r\n\r\nexport class PricedProduct implements BaseProduct {\r\n productId: string;\r\n productCode: string;\r\n productName: string;\r\n investor: string;\r\n investorId: string;\r\n abbreviatedName: string;\r\n amortizationTerm: string;\r\n amortizationType: string;\r\n armFirstCap: number;\r\n armFixedTerm: string;\r\n armIndex: string;\r\n armIndexValue: number;\r\n armMargin: number;\r\n armLifetimeCap: number;\r\n armPeriodicCap: number;\r\n armRelativeCap: number;\r\n armSubsequentChangePeriod: string;\r\n atrqmRule: Array = [];\r\n description: string;\r\n documentAgencyNoteType: Array = [];\r\n expandedApprovalLevel: string;\r\n expandedGuidelines: string;\r\n interestOnly: boolean;\r\n interestOnlyTerm: number;\r\n investorProduct: string;\r\n loanTerm: string;\r\n loanType: string;\r\n miRequiredOver80Ltv: string;\r\n nonStandardLoanTermMinimumTermMonths: number;\r\n nonStandardLoanTermRequreFullYearTerm: string;\r\n nonStandardLoanTermSupport: string;\r\n productType: string;\r\n secondaryOnly: string;\r\n securityType: Array = [];\r\n quotes: Array;\r\n parQuotes: Array;\r\n notesAndAdvisories: Array = [];\r\n rateSheetDate: string;\r\n\r\n calculatedValues: ProductCalculatedValues;\r\n priceStatus: string;\r\n}\r\n\r\nexport interface BaseProduct {\r\n productId: string;\r\n productCode: string;\r\n productName: string;\r\n investor: string;\r\n investorId: string;\r\n abbreviatedName: string;\r\n amortizationTerm: string;\r\n amortizationType: string;\r\n armFirstCap: number;\r\n armFixedTerm: string;\r\n armIndex: string;\r\n armMargin: number;\r\n armIndexValue: number;\r\n armLifetimeCap: number;\r\n armPeriodicCap: number;\r\n armRelativeCap: number;\r\n armSubsequentChangePeriod: string;\r\n atrqmRule: String[];\r\n description: string;\r\n documentAgencyNoteType: String[];\r\n expandedApprovalLevel: string;\r\n expandedGuidelines: string;\r\n interestOnly: boolean;\r\n interestOnlyTerm: number;\r\n investorProduct: string;\r\n loanTerm: string;\r\n loanType: string;\r\n miRequiredOver80Ltv: string;\r\n nonStandardLoanTermMinimumTermMonths: number;\r\n nonStandardLoanTermRequreFullYearTerm: string;\r\n nonStandardLoanTermSupport: string;\r\n productType: string;\r\n secondaryOnly: string;\r\n securityType: String[];\r\n quotes: Array;\r\n rateSheetDate: string;\r\n calculatedValues: ProductCalculatedValues;\r\n priceStatus: string;\r\n}\r\n\r\nexport class ProductCalculatedValues {\r\n totalLoanAmount?: number | null | undefined;\r\n upfrontPmiMipFfGfAmount?: number | null | undefined;\r\n upfrontPmiMipFfGfFinancedAmount?: number | null | undefined;\r\n upfrontPmiMipFfGfPaidinCash?: number | null | undefined;\r\n upfrontPmiMipFfGfPercent?: number | null | undefined;\r\n}\r\n\r\nexport class VendorFeatureRequest {\r\n optimalBlueOriginatorId: number;\r\n optimalBlueChannelId: number;\r\n applicationId: number;\r\n credentialId: number;\r\n pricingChannelId: string | number;\r\n encompassTpoOrgId: string;\r\n encompassBrokerPriceGroup: string;\r\n encompassDelegatedPriceGroup: string;\r\n encompassNonDelegatedPriceGroup: string;\r\n}\r\n\r\nexport class Quote {\r\n lockPeriod: number;\r\n baseRate: number;\r\n basePrice: number;\r\n adjustedRate: number;\r\n adjustedPrice: number;\r\n totalPriceAdjustment: number;\r\n totalRateAdjustment: number;\r\n totalMarginAdjustment: number;\r\n totalSrpAdjustment: number;\r\n apr: number;\r\n pricingLastUpdated: string;\r\n lockExpirationDate: string;\r\n margin: number;\r\n principalAndInterest: number;\r\n monthlyMi: number;\r\n monthlyInsurance: number;\r\n monthlyTaxes: number;\r\n totalPayment: number;\r\n totalCredit: number;\r\n loCompensationDollars: number;\r\n loCompensationPercent: number;\r\n borrowerPaidClosingCostDollars: number;\r\n currentFeeCreditDollar: number;\r\n totalClosingCost: number;\r\n totalFeesDollars: number;\r\n totalFeesPercent: number;\r\n discountDollars: number;\r\n discountPercent: number;\r\n rebateDollars: number;\r\n rebatePercent: number;\r\n originationDollars: number;\r\n originationPercent: number;\r\n lenderFeesDollars: number;\r\n lenderFeesPercent: number;\r\n thirdPartyFeesDollars: number;\r\n thirdPartyFeesPercent: number;\r\n qmStatus: String[];\r\n adjustments: Adjustment[];\r\n}\r\n\r\nexport class Adjustment {\r\n pricingAdjustmentId: number;\r\n reason: string;\r\n description: string;\r\n adjustmentType: AdjustmentType;\r\n valueType: AdjustmentValueType;\r\n isHidden: boolean;\r\n amount: number;\r\n applicationId: number;\r\n\r\n companyId: number;\r\n insertedBy: string;\r\n dateInserted: Date;\r\n updatedBy: string;\r\n dateUpdated: Date;\r\n}\r\n\r\n\r\nexport enum AdjustmentValueType {\r\n Point = 'Point',\r\n Rate = 'Rate',\r\n}\r\n\r\nexport enum AdjustmentType {\r\n ParameterValueAdjustor = 'ParameterValueAdjustor',\r\n ProgramNameModifier = 'ProgramNameModifier',\r\n RateGridModifier = 'RateGridModifier',\r\n LLPA = 'LLPA',\r\n Sub = 'Sub',\r\n Margin = 'Margin',\r\n MSR = 'MSR',\r\n TIER = 'TIER',\r\n OtherLLPA = 'OtherLLPA',\r\n AgencyLLPA = 'AgencyLLPA',\r\n AllPriceType = 'AllPriceType',\r\n CompPlan = 'CompPlan',\r\n ToFee = 'ToFee',\r\n PricingException = 'PricingException',\r\n LockExtension = 'LockExtension',\r\n CapAdjustment = 'CapAdjustment',\r\n RME = 'RME',\r\n Eligibility = 'Eligibility',\r\n PointRounding = 'PointRounding',\r\n DescrptiveAdjustment = 'DescrptiveAdjustment',\r\n}\r\n","\r\nexport class PurchaseCredit {\r\n purchaseCreditAmount: number | undefined;\r\n purchaseCreditType: string | undefined | null;\r\n}\r\n","export class RealEstateOwnedItem {\r\n id: number | undefined;\r\n address: string | undefined;\r\n propertyType: string | undefined;\r\n propertyValue: number | undefined;\r\n reoOwners: string | undefined;\r\n isValid: boolean = false;\r\n isReadOnly: boolean = false;\r\n\r\n constructor(id: number, address: string, propertyType:string,\r\n propertyValue:number, reoOwners:string, isValid: boolean) {\r\n this.id = id;\r\n this.address = address;\r\n this.propertyType = propertyType;\r\n this.propertyValue = propertyValue;\r\n this.reoOwners = reoOwners;\r\n this.isValid = isValid;\r\n }\r\n}\r\n","import { Address } from \"./address-model\";\r\nimport { ResidencyBasis } from \"./enums/residency-basis.enum\";\r\n\r\nexport class ResidencyAddress {\r\n addressId: number;\r\n residencyAddressId: number | undefined | null;\r\n residencyBasis: ResidencyBasis | undefined | null = null;\r\n residencyType: string = \"\";\r\n durationYears: number | undefined;\r\n durationMonths: number | undefined;\r\n fromCreditReport: boolean = false;\r\n rent: number = 0;\r\n address: Address | undefined;\r\n\r\n constructor(residencyType: string) {\r\n this.residencyType = residencyType;\r\n this.address = new Address();\r\n this.address.country = \"us\";\r\n }\r\n}\r\n","import { LoanPurpose } from \"projects/borrower-app/src/app/models/enums/loan-purpose.enum\";\r\nimport { Occupancy } from \"projects/borrower-app/src/app/models/enums/occupancy.enum\";\r\nimport { PropertyType } from \"projects/borrower-app/src/app/models/enums/property-type.enum\";\r\n\r\nexport class SubjectProperty {\r\n purposeOfLoan: LoanPurpose | undefined;\r\n propertyWillBe: Occupancy | undefined;\r\n propertyType: PropertyType | undefined;\r\n projectType: string | undefined;\r\n attachmentType: string | undefined;\r\n downPaymentSource: string | undefined | null = null;\r\n presentValue?: number | undefined | null;\r\n yearBuilt: number | undefined;\r\n noOfUnits: number | undefined;\r\n\r\n address1: string = \"\";\r\n address2: string = \"\";\r\n city: string = \"\";\r\n state: string = \"\";\r\n zipCode: string = \"\";\r\n county: string = \"\";\r\n\r\n constructor() {\r\n this.downPaymentSource = null;\r\n }\r\n}\r\n\r\n","import { PurchaseCredit } from \"./purchase-credit.model\";\r\n\r\nexport class TransactionDetail {\r\n purchasePriceAmount: number | undefined;\r\n purchaseCredits: PurchaseCredit[] = [];\r\n cashFromToBorrowerAmount: number | undefined;\r\n}\r\n","export class TurboInsuranceGetQuoteRequest {\r\n requestID: string | null = null;\r\n applicantInfo: TurboInsuranceApplicantInfo;\r\n quotePropertyInfo: TurboInsurancePropertyInfo;\r\n priorPropertyInfo: TurboInsurancePropertyInfo;\r\n loanInfo: TurboInsuranceLoanInfo;\r\n additionalInfo: TurboInsuranceAdditionalInfo;\r\n\r\n constructor() {\r\n this.applicantInfo = new TurboInsuranceApplicantInfo();\r\n this.quotePropertyInfo = new TurboInsurancePropertyInfo();\r\n this.priorPropertyInfo = new TurboInsurancePropertyInfo();\r\n this.loanInfo = new TurboInsuranceLoanInfo();\r\n this.additionalInfo = new TurboInsuranceAdditionalInfo();\r\n }\r\n}\r\n\r\nexport class TurboInsuranceApplicantInfo {\r\n firstName: string | null = null;\r\n lastName: string | null = null;\r\n dob: string | null = null;\r\n email: string | null = null;\r\n phone: string | null = null;\r\n maritalStatus: string | null = null;\r\n}\r\n\r\nexport class TurboInsuranceLoanInfo {\r\n loanUID: string | null = null;\r\n lenderLoanNumber: string | null = null;\r\n loanAmount: string | null = null;\r\n loanPurpose: string | null = null;\r\n lenderName: string | null = null;\r\n officerFirstName: string | null = null;\r\n officerLastName: string | null = null;\r\n officerEmail: string | null = null;\r\n officerPhone: string | null = null;\r\n}\r\n\r\nexport class TurboInsuranceAdditionalInfo {\r\n estimatedPropertyValue: number | null = 0;\r\n propertyType: string | null = null;\r\n occupancyType: string | null = null;\r\n}\r\n\r\nexport class TurboInsurancePropertyInfo {\r\n streetAddress1:string | undefined = undefined;\r\n streetAddress2:string | undefined = undefined;\r\n city:string | null = null;\r\n county:string | null = null;\r\n state:string | null = null;\r\n zip:string | null = null;\r\n monthsAtAddress: number = 0;\r\n}\r\n","import { AusData, Employment, Extension, GovernmentLoanDetail, HousingExpense, Mortgage, MortgageBorrower, MortgageInsuranceDetail, MortgageTerm, OriginatorInformation, PurchaseCredit, SubjectProperty, TransactionDetail } from \"./mortgage.model\";\r\n\r\nexport class UrlaMortgage extends Mortgage {\r\n calculatedStats: MortgageCalculatedStats = new MortgageCalculatedStats();\r\n channel: string;\r\n constructor() {\r\n super();\r\n this.borrowers = [];\r\n this.liabilities = [];\r\n this.assets = [];\r\n this.realEstateOwned = [];\r\n this.transactionDetail = new TransactionDetail();\r\n this.subjectProperty = new SubjectProperty();\r\n this.mortgageTerm = new MortgageTerm();\r\n this.mortgageInsuranceDetail = new MortgageInsuranceDetail();\r\n this.governmentLoanDetail = new GovernmentLoanDetail();\r\n this.relatedMortgages = [];\r\n this.originatorInformation = new OriginatorInformation();\r\n this.proposedHousingExpense = new HousingExpense();\r\n this.currentHousingExpense = new HousingExpense();\r\n this.ausData = new AusData();\r\n this.extension = new Extension();\r\n }\r\n}\r\n\r\nexport class UrlaBorrower extends MortgageBorrower {\r\n calculatedStats: BorrowerCalculatedStats = new BorrowerCalculatedStats();\r\n}\r\n\r\nexport class UrlaEmployment extends Employment {\r\n calculatedStats: EmploymentCalculatedStats = new EmploymentCalculatedStats();\r\n}\r\n\r\nexport class MortgageCalculatedStats {\r\n landValue: number;\r\n sourceOfFunds: number;\r\n totalPaidOffForRefinance: number;\r\n totalDue: number;\r\n totalLoanOrDrawAmount: number;\r\n totalMortgageLoans: number;\r\n lenderCredit: number;\r\n purchaseCredits: Array;\r\n totalCredit: number;\r\n totalDueFromBorrowers: number;\r\n estimatedClosingCostsAmount: number;\r\n cashFromOrToTheBorrower: number;\r\n totalOtherCredit: number;\r\n financialPartialPayoffAmount: number;\r\n financialOtherPartialPayoffAmount: number;\r\n financialPartialPayoffTotalAmount: number;\r\n proposedMonthlyPaymentTotal: number;\r\n totalMortgageLoansAndCredits: number;\r\n}\r\n\r\nexport class BorrowerCalculatedStats {\r\n totalMonthlyIncome: number;\r\n}\r\n\r\nexport class EmploymentCalculatedStats {\r\n monthlyIncome: number;\r\n}\r\n\r\nexport enum PayoffType {\r\n None = \"None\",\r\n Partial = \"Partial\",\r\n Full = \"Full\"\r\n}\r\n","export enum UserType {\r\n Admin = 'Admin',\r\n Borrower = 'Borrower',\r\n Agent = 'Agent',\r\n Tpo = 'TPO',\r\n Service = 'Service',\r\n}\r\n","import { BorrowerAppStatus } from \"./borrower-app-status.model\";\r\nimport { Borrower } from \"./borrower-model\";\r\nimport { ApplicationForUser } from \"./borrower-portal/application-for-user-model\";\r\nimport { FeatureFlags } from \"./feature-flags.model\";\r\nimport { Lead } from \"./lead.model\";\r\nimport { MortgageApplication } from \"./mortgage-app.model\";\r\nimport { Originator } from \"./originator.model\";\r\nimport { WizardFlowCustomerPreferences } from \"./wizard-flow-customer-preferences.model\";\r\n\r\nexport class WizardFlowContext {\r\n mortgage!: MortgageApplication;\r\n customerPreferences!: WizardFlowCustomerPreferences;\r\n currentBorrower!: Borrower;\r\n originator: Originator | undefined;\r\n\r\n creditRunFailed: boolean = false;\r\n skipCreditCheck: boolean = false;\r\n skipAutomatedCreditCheck: boolean = false;\r\n\r\n refiAddressSameAsCurrentAddress: boolean | undefined = undefined;\r\n\r\n //willApplyForBorrower TODO: rename this, the naming of this sucks!\r\n borrowerSettings: Map = new Map();\r\n borrowerAppStatus: BorrowerAppStatus;\r\n\r\n thereAreLoanCharacteristics: boolean = false;\r\n thereAreBorrowerCharacteristics: boolean = false;\r\n\r\n config: FeatureFlags | undefined;\r\n\r\n applicationInfo: ApplicationForUser | undefined;\r\n\r\n companyGuid: string | undefined | null;\r\n companyId: number | undefined | null;\r\n applicationId: number | undefined | null;\r\n\r\n loanPurposeId: number | undefined | null;\r\n\r\n leadSource: string = \"\";\r\n leadSourceType: string = \"\";\r\n\r\n hasMultipleBorrowers: boolean | null = null;\r\n\r\n hasSuccessfullyPulledExistingApplication: boolean = false;\r\n\r\n lead: Lead | undefined;\r\n\r\n constructor(mortgage: MortgageApplication, customerPreferences: WizardFlowCustomerPreferences) {\r\n this.mortgage = mortgage;\r\n this.customerPreferences = customerPreferences;\r\n this.currentBorrower = this.mortgage.borrowers[0];\r\n this.borrowerAppStatus = new BorrowerAppStatus();\r\n }\r\n\r\n getBorrowersThatAreNotPrimary = () => {\r\n let borrowers: Borrower[] = [];\r\n this.mortgage.borrowers.forEach(b => {\r\n const selected = this.borrowerSettings.get(b.borrowerId);\r\n if (selected && selected === true) {\r\n borrowers.push(b);\r\n }\r\n });\r\n }\r\n}\r\n","export class WizardFlowCustomerPreferences {\r\n gatherAssetsDigitally: number = 0;\r\n doNotRunCredit: number = 0;\r\n gatherEmploymentAndIncomeDigitally: number = 0;\r\n showHoiQuotes: boolean = true;\r\n alreadyHasHoiQuote: boolean | undefined | null = null;\r\n}\r\n","import { Borrower } from \"../models/borrower-model\";\r\nimport { MortgageApplication } from \"./mortgage-app.model\";\r\nimport { WizardFlowCustomerPreferences } from \"./wizard-flow-customer-preferences.model\";\r\n\r\nexport class WizardFlowDecisionContext {\r\n mortgage: MortgageApplication | undefined;\r\n mainBorrower: Borrower | undefined;\r\n customerPreferences: WizardFlowCustomerPreferences | undefined;\r\n borrowersThatMainBorrowerIsApplyingFor: Borrower[] = [];\r\n creditRunFailed: boolean = false;\r\n skipCreditCheck: boolean = false;\r\n skipAutomatedCreditCheck: boolean = false;\r\n thereAreLoanCharacteristics: boolean = false;\r\n thereAreBorrowerCharacteristics: boolean = false;\r\n hasSuccessfullyPulledExistingApplication: boolean = false;\r\n loanPurposeId: number | undefined;\r\n}\r\n\r\n","\r\nexport class AddressFields {\r\n\taddress: string;\r\n\tcity: string;\r\n\tstate: string;\r\n\tzipCode: string;\r\n\tcounty: string;\r\n\r\n\tconstructor(address: string, city: string, state: string, zipCode: string, county: string) {\r\n\t\tthis.address = address;\r\n\t\tthis.city = city;\r\n\t\tthis.state = state;\r\n\t\tthis.zipCode = zipCode;\r\n\t\tthis.county = county;\r\n\t}\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CurrentAddressHistoryComponent } from \"../../wizard/wizard-steps/current-address-history/current-address-history.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class AddressHistoryStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CurrentAddressHistoryComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { AddressStepComponent } from \"../../wizard/wizard-steps/address-step/address-step.component\";\r\nimport { Address } from \"../address-model\";\r\nimport { AddressFields } from \"./address-fields.model\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class AddressStep extends WizardStepBase {\r\n private readonly _addressFields: AddressFields;\r\n private readonly _model: any;\r\n\r\n address: Address;\r\n\r\n constructor(id: string, name: string | undefined, path: string,\r\n nextStepDecider: IDecideNextStep | undefined, addressFields: AddressFields, model: any) {\r\n super(id, name, path, nextStepDecider);\r\n this._addressFields = addressFields;\r\n this._model = model;\r\n this.component = AddressStepComponent;\r\n\r\n if (!this._addressFields.county) {\r\n this._addressFields.county = \"county\";\r\n }\r\n\r\n this.address = new Address();\r\n if (this._model) {\r\n this.address.address1 = this._model[this._addressFields.address];\r\n this.address.city = this._model[this._addressFields.city];\r\n this.address.state = this._model[this._addressFields.state];\r\n this.address.zipCode = this._model[this._addressFields.zipCode];\r\n this.address.county = this._model[this._addressFields.county];\r\n }\r\n }\r\n\r\n setAddress = (address: Address): void => {\r\n if (this._model) {\r\n this._model[this._addressFields.address] = address.address1;\r\n this._model[this._addressFields.city] = address.city;\r\n this._model[this._addressFields.state] = address.state;\r\n this._model[this._addressFields.zipCode] = address.zipCode;\r\n this._model[this._addressFields.county] = address.county;\r\n }\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { AssetsStepComponent } from \"../../wizard/wizard-steps/assets-step/assets-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class AssetsStep extends WizardStepBase {\r\n\r\n dontLetUserSkipWithoutAssets: boolean = false;\r\n\r\n addAssetActionLabel: string;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = AssetsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { BorrowerCharacteristicsStepComponent } from \"../../wizard/wizard-steps/borrower-characteristics-step/borrower-characteristics-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class BorrowerCharacteristicsStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = BorrowerCharacteristicsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ChecklistsStepComponent } from \"../../wizard/wizard-steps/checklists-step/checklists-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CheckListsStep extends WizardStepBase {\r\n\r\n selectedChecklistIds: number[] = [];\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = ChecklistsStepComponent;\r\n }\r\n}\r\n","import { AddressFields } from \"../address-fields.model\";\r\nimport { ContextType } from \"./context-type.enum\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class AddressStepConfig extends StepConfig {\r\n addressFields!: AddressFields;\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, contextType: ContextType,\r\n addressFields: AddressFields) {\r\n super(id, name, path, groupId, contextType);\r\n this.addressFields = addressFields;\r\n this.stepType = StepType.AddressStep;\r\n }\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class ChecklistsStepConfig extends StepConfig {\r\n\r\n checklistIds: number[] = [];\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.CheckListsStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n }\r\n}\r\n","import { WizardFlowContext } from \"../../wizard-flow-context.model\";\r\nimport { ContextBoundStepProperties } from \"../context-bound-step-properties.model\";\r\nimport { WizardStepBase } from \"../wizard-step-base.model\";\r\n\r\nexport class ContextInjector {\r\n\r\n public static availableKeys:string[] = [\r\n 'borrower.firstName',\r\n 'borrower.middleName',\r\n 'borrower.lastName',\r\n 'subjectProperty.address1',\r\n 'subjectProperty.city',\r\n 'subjectProperty.state',\r\n 'subjectProperty.zipCode'\r\n ]\r\n\r\n public static injectContextToStep = (wizardFlowContext: WizardFlowContext, step: WizardStepBase): ContextBoundStepProperties => {\r\n let contextBoundStepProperties = new ContextBoundStepProperties();\r\n if (step) {\r\n contextBoundStepProperties.title = step.title;\r\n contextBoundStepProperties.explanation = step.explanation;\r\n contextBoundStepProperties.heading = step.heading;\r\n }\r\n ContextInjector.availableKeys.forEach(\r\n (key: string) => {\r\n const keyParts = key.split('.');\r\n if (keyParts.length === 2) {\r\n const objectIdentifier = keyParts[0];\r\n const fieldIdentifier = keyParts[1];\r\n let valueToReplaceKeyWith: string | undefined = undefined;\r\n let contextObject: any = undefined;\r\n if (objectIdentifier === \"borrower\") {\r\n contextObject = wizardFlowContext.currentBorrower;\r\n } else if (objectIdentifier === \"subjectProperty\") {\r\n contextObject = wizardFlowContext.mortgage.subjectProperty;\r\n }\r\n if (contextObject && fieldIdentifier) {\r\n valueToReplaceKeyWith = contextObject[fieldIdentifier];\r\n const keyToReplace = \"[\" + key + \"]\";\r\n if (valueToReplaceKeyWith) {\r\n if (contextBoundStepProperties.title.includes(keyToReplace)) {\r\n contextBoundStepProperties.title = contextBoundStepProperties.title.replace(keyToReplace, valueToReplaceKeyWith);\r\n }\r\n if (contextBoundStepProperties.explanation.includes(keyToReplace)) {\r\n contextBoundStepProperties.explanation = contextBoundStepProperties.explanation.replace(keyToReplace, valueToReplaceKeyWith);\r\n }\r\n if (contextBoundStepProperties.heading.includes(keyToReplace)) {\r\n contextBoundStepProperties.heading = contextBoundStepProperties.heading.replace(keyToReplace, valueToReplaceKeyWith);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return contextBoundStepProperties;\r\n }\r\n}\r\n","export enum ContextType {\r\n Mortgage = 1,\r\n SubjectProperty = 2,\r\n CustomerPreferences = 3,\r\n MainBorrower = 4,\r\n Borrowers = 5,\r\n WizardFlowContextItself = 6,\r\n Liabilities = 7,\r\n BorrowersThatMainBorrowerIsApplyingFor = 8,\r\n Extension = 9,\r\n ApplicationLoanPurpose = 10,\r\n None = 99\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class CreateAccountStepConfig extends StepConfig {\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.CreateAccount;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class CreditScoresStepConfig extends StepConfig {\r\n\r\n useScoreIndicatorIcons: boolean = true;\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined,\r\n nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.CreditScoresStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n }\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class DemographicsStepConfig extends StepConfig {\r\n\r\n showOptionToNotProvideDemographicsInfo: boolean = true;\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.DemographicsStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n this.showOptionToNotProvideDemographicsInfo = true;\r\n }\r\n}\r\n","import { StepExpression } from \"../step-expression.model\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { NextStepDeciderType } from \"./next-step-decider-type.enum\";\r\n\r\nexport class ExpressionNextStepDeciderConfig extends NextStepDeciderConfig {\r\n public ifStepExpression!: StepExpression;\r\n public elseIfStepExpressions: StepExpression[] | undefined = [];\r\n public elseStepPath: string | undefined;\r\n\r\n constructor(ifStepExpression: StepExpression, elseIfStepExpressions: StepExpression[] | undefined, elseStepPath: string | undefined) {\r\n super();\r\n this.ifStepExpression = ifStepExpression\r\n this.elseIfStepExpressions = elseIfStepExpressions;\r\n this.elseStepPath = elseStepPath;\r\n this.deciderType = NextStepDeciderType.Expression;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ContextExtractor } from \"projects/borrower-app/src/app/services/context-extractor\";\r\nimport { UtilsService } from \"projects/borrower-app/src/app/services/utils.service\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { AddressStep } from \"../../address-step.model\";\r\nimport { WizardStepBase } from \"../../wizard-step-base.model\";\r\nimport { AddressStepConfig } from \"../address-step-config.model\";\r\nimport { StepConfig } from \"../step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class AddressStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n create(config: AddressStepConfig, wizardFlowContext: WizardFlowContext): WizardStepBase {\r\n const nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n const model = ContextExtractor.extractContext(wizardFlowContext, config.contextType);\r\n let addressStep = new AddressStep(config.id, config.name, config.path, nextStepDecider, config.addressFields, model);\r\n addressStep.title = config.title;\r\n addressStep.explanation = config.explanation;\r\n addressStep.heading = config.heading;\r\n return addressStep;\r\n }\r\n\r\n configure(step: WizardStepBase, config: StepConfig): void {\r\n config.explanation = step.explanation;\r\n config.title = step.title;\r\n config.heading = step.heading;\r\n config.groupId = step.groupId;\r\n }\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory,\r\n private readonly _utilsService: UtilsService) {\r\n super();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { AssetsStep } from \"../../assets-step.model\";\r\nimport { AssetsStepConfig } from \"../assets-step-config.model\";\r\n\r\n@Injectable()\r\nexport class AssetsStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, AssetsStep);\r\n }\r\n\r\n create(config: AssetsStepConfig, wizardFlowContext: WizardFlowContext): AssetsStep {\r\n let assetsStep = super.create(config, wizardFlowContext)\r\n assetsStep.dontLetUserSkipWithoutAssets = config.dontLetUserSkipWithoutAssets;\r\n assetsStep.addAssetActionLabel = config.addAssetActionLabel || 'Add Asset';\r\n return assetsStep;\r\n }\r\n\r\n configure(step: AssetsStep, config: AssetsStepConfig): void {\r\n super.configure(step, config);\r\n config.dontLetUserSkipWithoutAssets = step.dontLetUserSkipWithoutAssets;\r\n config.addAssetActionLabel = step.addAssetActionLabel;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UtilsService } from \"projects/borrower-app/src/app/services/utils.service\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { CheckListsStep } from \"../../checklists-step.model\";\r\nimport { ChecklistsStepConfig } from \"../checklists-step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class ChecklistsStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory,\r\n private readonly _utilsService: UtilsService) {\r\n super();\r\n }\r\n\r\n configure(step: CheckListsStep, config: ChecklistsStepConfig): void {\r\n config.title = step.title;\r\n config.explanation = step.explanation;\r\n config.heading = step.heading;\r\n config.checklistIds = step.selectedChecklistIds;\r\n }\r\n\r\n create(config: ChecklistsStepConfig, wizardFlowContext: WizardFlowContext): CheckListsStep {\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.nextStepDeciderConfig) {\r\n nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n }\r\n let checklistsStep = new CheckListsStep(config.id, config.name, config.path, nextStepDecider);\r\n checklistsStep.title = config.title;\r\n checklistsStep.explanation = config.explanation;\r\n checklistsStep.heading = config.heading;\r\n checklistsStep.selectedChecklistIds = config.checklistIds;\r\n checklistsStep.groupId = config.groupId;\r\n\r\n return checklistsStep;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ContextExtractor } from \"projects/borrower-app/src/app/services/context-extractor\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { CreateAccountStep } from \"../../create-account-step.model\";\r\nimport { ContextType } from \"../context-type.enum\";\r\nimport { CreateAccountStepConfig } from \"../create-account-step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class CreateAccountStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super();\r\n }\r\n configure(step: CreateAccountStep, config: CreateAccountStepConfig): void {\r\n config.explanation = step.explanation;\r\n config.title = step.title;\r\n config.heading = step.heading;\r\n config.groupId = step.groupId;\r\n }\r\n\r\n create(config: CreateAccountStepConfig, wizardFlowContext: WizardFlowContext): CreateAccountStep {\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.nextStepDeciderConfig) {\r\n nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n }\r\n const mortgage = ContextExtractor.extractContext(wizardFlowContext, ContextType.Mortgage);\r\n const borrower = mortgage.borrowers[0];\r\n let createAccountStep = new CreateAccountStep(config.id, config.name, config.path, borrower, nextStepDecider);\r\n createAccountStep.title = config.title;\r\n createAccountStep.explanation = config.explanation;\r\n createAccountStep.heading = config.heading;\r\n return createAccountStep;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { CreateMultipleCoBorrowersStep } from \"../../create-multiple-coborrowers-step.model\";\r\nimport { CreateMultipleCoBorrowersStepConfig } from \"../create-multiple-coborrowers-step-config.model\";\r\n\r\n@Injectable()\r\nexport class CreateMultipleCoBorrowersStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, CreateMultipleCoBorrowersStep);\r\n }\r\n\r\n create(config: CreateMultipleCoBorrowersStepConfig, wizardFlowContext: WizardFlowContext): CreateMultipleCoBorrowersStep {\r\n let createMultiCoBorrowersCreditsStep = super.create(config, wizardFlowContext)\r\n createMultiCoBorrowersCreditsStep.restrictMiddleNameToSingleCharacter =\r\n (config.restrictMiddleNameToSingleCharacter != null ? config.restrictMiddleNameToSingleCharacter : false);\r\n return createMultiCoBorrowersCreditsStep;\r\n }\r\n\r\n configure(step: CreateMultipleCoBorrowersStep, config: CreateMultipleCoBorrowersStepConfig): void {\r\n super.configure(step, config);\r\n config.restrictMiddleNameToSingleCharacter = step.restrictMiddleNameToSingleCharacter;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UtilsService } from \"projects/borrower-app/src/app/services/utils.service\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { CreditScoresStep } from \"../../credit-scores-step.model\";\r\nimport { CreditScoresStepConfig } from \"../credit-scores-step.config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class CreditScoresStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory,\r\n private readonly _utilsService: UtilsService) {\r\n super();\r\n }\r\n\r\n configure(step: CreditScoresStep, config: CreditScoresStepConfig): void {\r\n config.title = step.title;\r\n config.explanation = step.explanation;\r\n config.heading = step.heading;\r\n config.useScoreIndicatorIcons = step.useScoreIndicatorIcons;\r\n }\r\n\r\n create(config: CreditScoresStepConfig, wizardFlowContext: WizardFlowContext): CreditScoresStep {\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.nextStepDeciderConfig) {\r\n nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n }\r\n let creditScoresStep = new CreditScoresStep(config.id, config.name, config.path, nextStepDecider);\r\n creditScoresStep.title = config.title;\r\n creditScoresStep.explanation = config.explanation;\r\n creditScoresStep.heading = config.heading;\r\n creditScoresStep.useScoreIndicatorIcons = config.useScoreIndicatorIcons;\r\n creditScoresStep.groupId = config.groupId;\r\n\r\n return creditScoresStep;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { DemographicsStep } from \"../../demographics-step.model\";\r\nimport { DemographicsStepConfig } from \"../demographics-step.config.model\";\r\n\r\n@Injectable()\r\nexport class DemographicsStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, DemographicsStep);\r\n }\r\n\r\n create(config: DemographicsStepConfig, wizardFlowContext: WizardFlowContext): DemographicsStep {\r\n let demographicsStep = super.create(config, wizardFlowContext)\r\n demographicsStep.showOptionToNotProvideDemographicsInfo = config.showOptionToNotProvideDemographicsInfo != null\r\n ? config.showOptionToNotProvideDemographicsInfo : true;\r\n return demographicsStep;\r\n }\r\n\r\n configure(step: DemographicsStep, config: DemographicsStepConfig): void {\r\n super.configure(step, config);\r\n config.showOptionToNotProvideDemographicsInfo = step.showOptionToNotProvideDemographicsInfo;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { DigitalAssetsStep } from \"../../digital-assets-step.model\";\r\nimport { DigitalAssetsStepConfig } from \"../digital-assets-step-config.model\";\r\n\r\n@Injectable()\r\nexport class DigitalAssetsStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, DigitalAssetsStep);\r\n }\r\n\r\n create(config: DigitalAssetsStepConfig, wizardFlowContext: WizardFlowContext): DigitalAssetsStep {\r\n let digitalAssetsStep = super.create(config, wizardFlowContext)\r\n digitalAssetsStep.vendorToUse = config.vendorToUse != null\r\n ? config.vendorToUse : 'FormFree';\r\n return digitalAssetsStep;\r\n }\r\n\r\n configure(step: DigitalAssetsStep, config: DigitalAssetsStepConfig): void {\r\n super.configure(step, config);\r\n config.vendorToUse = step.vendorToUse;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { DigitalIncomeVerificationStep } from \"../../digital-income-verification-step.model\";\r\nimport { DigitalIncomeVerificationStepConfig } from \"../digital-income-verification-step.config.model\";\r\n\r\n@Injectable()\r\nexport class DigitalIncomeVerificationStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, DigitalIncomeVerificationStep);\r\n }\r\n\r\n create(config: DigitalIncomeVerificationStepConfig, wizardFlowContext: WizardFlowContext): DigitalIncomeVerificationStep {\r\n let digitalIncomeVerificationStep = super.create(config, wizardFlowContext)\r\n digitalIncomeVerificationStep.vendorToUse = config.vendorToUse != null\r\n ? config.vendorToUse : 'TWN';\r\n return digitalIncomeVerificationStep;\r\n }\r\n\r\n configure(step: DigitalIncomeVerificationStep, config: DigitalIncomeVerificationStepConfig): void {\r\n super.configure(step, config);\r\n config.vendorToUse = step.vendorToUse;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { ExpressionNextStepDecider } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/expression-next-step.decider\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { ExpressionNextStepDeciderConfig } from \"../expression-next-step-decider-config.model\";\r\n\r\n@Injectable()\r\nexport class ExpressionNextStepDeciderFactory {\r\n\r\n constructor() {\r\n }\r\n\r\n create = (config: ExpressionNextStepDeciderConfig, wizardFlowContext: WizardFlowContext): ExpressionNextStepDecider | undefined => {\r\n const decider = new ExpressionNextStepDecider(wizardFlowContext, config.ifStepExpression, config.elseIfStepExpressions,\r\n config.elseStepPath);\r\n return decider;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WizardFlowContext } from '../../../wizard-flow-context.model';\r\nimport { GenericStepFactory } from './generic-step.factory';\r\nimport { NextStepDeciderFactory } from './next-step-decider.factory';\r\nimport { ICreateStep } from './step-factory.interface';\r\nimport { GatherLeadSourceStep } from '../../gather-lead-source-step.model';\r\nimport { GatherLeadSourceStepConfig } from '../gather-lead-source-step-config.model';\r\n\r\n@Injectable()\r\nexport class GatherLeadSourceStepFactory\r\n extends GenericStepFactory\r\n implements ICreateStep\r\n{\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, GatherLeadSourceStep);\r\n }\r\n\r\n create(\r\n config: GatherLeadSourceStepConfig,\r\n wizardFlowContext: WizardFlowContext\r\n ): GatherLeadSourceStep {\r\n let gatherLeadSourceStep = super.create(config, wizardFlowContext);\r\n gatherLeadSourceStep.pickAgentReferralFromAList =\r\n config.pickAgentReferralFromAList != null\r\n ? config.pickAgentReferralFromAList\r\n : true;\r\n\r\n if (!config.leadSourceOptions) {\r\n gatherLeadSourceStep.leadSourceOptions =\r\n GatherLeadSourceStepConfig.allLeadSourceOptions;\r\n } else {\r\n gatherLeadSourceStep.leadSourceOptions = [...config.leadSourceOptions];\r\n }\r\n\r\n return gatherLeadSourceStep;\r\n }\r\n\r\n configure(\r\n step: GatherLeadSourceStep,\r\n config: GatherLeadSourceStepConfig\r\n ): void {\r\n super.configure(step, config);\r\n config.pickAgentReferralFromAList = step.pickAgentReferralFromAList;\r\n\r\n if (!step.leadSourceOptions) {\r\n config.leadSourceOptions = GatherLeadSourceStepConfig.allLeadSourceOptions;\r\n } else {\r\n config.leadSourceOptions = [...step.leadSourceOptions];\r\n }\r\n }\r\n}\r\n","import { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { WizardStepBase } from \"../../wizard-step-base.model\";\r\nimport { FieldConfigUtils } from \"../field-config-utils\";\r\nimport { GenericStepConfig } from \"../../generic-step-config.model\";\r\nimport { StepConfig } from \"../step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\nexport type Constructor = new (...args: any[]) => T;\r\n\r\nexport class GenericStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n private readonly _nextStepDeciderFactory: NextStepDeciderFactory;\r\n private readonly _cls: Constructor;\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory, cls: Constructor) {\r\n super();\r\n this._nextStepDeciderFactory = nextStepDeciderFactory;\r\n this._cls = cls;\r\n }\r\n\r\n configure(step: WizardStepBase, config: StepConfig): void {\r\n config.explanation = step.explanation;\r\n config.title = step.title;\r\n config.heading = step.heading;\r\n config.groupId = step.groupId;\r\n }\r\n\r\n create(config: StepConfig, wizardFlowContext: WizardFlowContext): TStep {\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.nextStepDeciderConfig) {\r\n nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n }\r\n let step: TStep;\r\n step = this.createStepInstance(config.id, config.name, config.path, nextStepDecider, this._cls);\r\n step.title = config.title;\r\n step.explanation = config.explanation;\r\n step.heading = config.heading;\r\n step.groupId = config.groupId;\r\n let fieldConfig = config.fieldConfig;\r\n if (!fieldConfig || !Object.keys(fieldConfig).length) {\r\n fieldConfig = FieldConfigUtils.generateDefaultFieldConfigForStep(config.stepType);\r\n config.fieldConfig = fieldConfig;\r\n }\r\n step.fieldConfig = fieldConfig;\r\n return step;\r\n }\r\n\r\n private createStepInstance = (\r\n id: string, name: string | undefined, path: string, nextStepDecider: IDecideNextStep | undefined,\r\n destinationConstructor: Constructor\r\n ): T => new destinationConstructor(id, name, path, nextStepDecider);\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { IncomeStep } from \"../../income-step.model\";\r\nimport { IncomeStepConfig } from \"../income-step-config.model\";\r\n\r\n@Injectable()\r\nexport class IncomeStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, IncomeStep);\r\n }\r\n\r\n create(config: IncomeStepConfig, wizardFlowContext: WizardFlowContext): IncomeStep {\r\n let incomeStep = super.create(config, wizardFlowContext)\r\n incomeStep.enforceAtLeast2YearsOfEmploymentHistory = config.enforceAtLeast2YearsOfEmploymentHistory;\r\n incomeStep.w2EmploymentActionLabel = config.w2EmploymentActionLabel || 'Employment (W2)';\r\n incomeStep.independentContractorActionLabel = config.independentContractorActionLabel || 'Independent Contractor';\r\n incomeStep.militaryPayActionLabel = config.militaryPayActionLabel || 'Military Pay';\r\n incomeStep.rentalIncomeActionLabel = config.rentalIncomeActionLabel || 'Rental';\r\n incomeStep.socialSecurityIncomeActionLabel = config.socialSecurityIncomeActionLabel || 'Social Security';\r\n incomeStep.pensionIncomeActionLabel = config.pensionIncomeActionLabel || 'Pension';\r\n incomeStep.businessSelfEmploymentActionLabel = config.businessSelfEmploymentActionLabel || 'Business/Self Employment';\r\n incomeStep.otherIncomeActionLabel = config.otherIncomeActionLabel || 'Other';\r\n return incomeStep;\r\n }\r\n\r\n configure(step: IncomeStep, config: IncomeStepConfig): void {\r\n super.configure(step, config);\r\n config.enforceAtLeast2YearsOfEmploymentHistory = step.enforceAtLeast2YearsOfEmploymentHistory;\r\n config.w2EmploymentActionLabel = step.w2EmploymentActionLabel;\r\n config.independentContractorActionLabel = step.independentContractorActionLabel;\r\n config.militaryPayActionLabel = step.militaryPayActionLabel;\r\n config.rentalIncomeActionLabel = step.rentalIncomeActionLabel;\r\n config.socialSecurityIncomeActionLabel = step.socialSecurityIncomeActionLabel;\r\n config.pensionIncomeActionLabel = step.pensionIncomeActionLabel;\r\n config.businessSelfEmploymentActionLabel = step.businessSelfEmploymentActionLabel;\r\n config.otherIncomeActionLabel = step.otherIncomeActionLabel;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { MyInfoStep } from \"../../my-info-step.model\";\r\nimport { FieldConfigUtils } from \"../field-config-utils\";\r\nimport { MyInfoStepConfig } from \"../my-info-step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class MyInfoStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super();\r\n }\r\n\r\n configure(step: MyInfoStep, config: MyInfoStepConfig): void {\r\n config.explanation = step.explanation;\r\n config.title = step.title;\r\n config.heading = step.heading;\r\n config.groupId = step.groupId;\r\n config.configuresAddressHistory = step.configuresAddressHistory;\r\n config.configuresCoborrowers = step.configuresCoborrowers;\r\n config.borrowerFieldsConfig = step.borrowerFieldsConfig;\r\n config.addressFieldsConfig = step.addressFieldsConfig;\r\n config.restrictMiddleNameToSingleCharacter = step.restrictMiddleNameToSingleCharacter;\r\n }\r\n\r\n create(config: MyInfoStepConfig, wizardFlowContext: WizardFlowContext): MyInfoStep {\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.nextStepDeciderConfig) {\r\n nextStepDecider = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig, wizardFlowContext);\r\n }\r\n let myInfoStep = new MyInfoStep(config.id, config.name, config.path, nextStepDecider);\r\n myInfoStep.groupId = config.groupId;\r\n myInfoStep.title = config.title;\r\n myInfoStep.explanation = config.explanation;\r\n myInfoStep.heading = config.heading;\r\n myInfoStep.configuresAddressHistory = config.configuresAddressHistory;\r\n myInfoStep.restrictMiddleNameToSingleCharacter = config.restrictMiddleNameToSingleCharacter;\r\n myInfoStep.configuresCoborrowers = config.configuresCoborrowers;\r\n let borrowerFieldsConfig = FieldConfigUtils.generateBorrowerFieldsConfig();\r\n if (config.borrowerFieldsConfig) {\r\n borrowerFieldsConfig = { ...borrowerFieldsConfig, ...config.borrowerFieldsConfig };\r\n }\r\n myInfoStep.borrowerFieldsConfig = borrowerFieldsConfig;\r\n myInfoStep.addressFieldsConfig = config.addressFieldsConfig ?? FieldConfigUtils.generateAddressFieldsConfig();\r\n return myInfoStep;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { UtilsService } from \"projects/borrower-app/src/app/services/utils.service\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { ExpressionNextStepDeciderConfig } from \"../expression-next-step-decider-config.model\";\r\nimport { NextStepDeciderConfig } from \"../next-step-decider-config.model\";\r\nimport { NextStepDeciderType } from \"../next-step-decider-type.enum\";\r\nimport { SimpleNextStepDeciderConfig } from \"../simple-next-step-decider-config.model\";\r\nimport { ExpressionNextStepDeciderFactory } from \"./expression-next-step-decider.factory\";\r\nimport { SimpleNextStepDeciderFactory } from \"./simple-next-step.decider.factory\";\r\n\r\n@Injectable()\r\nexport class NextStepDeciderFactory {\r\n constructor(private readonly _simpleNextStepDeciderFactory: SimpleNextStepDeciderFactory,\r\n private readonly _expressionNextStepDeciderFactory: ExpressionNextStepDeciderFactory,\r\n private readonly _utilsService: UtilsService) {\r\n }\r\n\r\n create = (config: NextStepDeciderConfig | undefined, wizardFlowContext: WizardFlowContext): IDecideNextStep | undefined => {\r\n if (!config) {\r\n return undefined;\r\n }\r\n let nextStepDecider: IDecideNextStep | undefined = undefined;\r\n if (config.deciderType == NextStepDeciderType.Simple) {\r\n nextStepDecider = this._simpleNextStepDeciderFactory.create(config);\r\n } else {\r\n nextStepDecider = this._expressionNextStepDeciderFactory.create(config, wizardFlowContext);\r\n }\r\n return nextStepDecider;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { OwnRentStep } from \"../../own-rent-step-model\";\r\nimport { OwnRentStepConfig } from \"../own-rent-step-config.model\";\r\n\r\n@Injectable()\r\nexport class OwnRentStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, OwnRentStep);\r\n }\r\n\r\n create(config: OwnRentStepConfig, wizardFlowContext: WizardFlowContext): OwnRentStep {\r\n let ownRentStep = super.create(config, wizardFlowContext)\r\n ownRentStep.ownActionLabel = config.ownActionLabel || 'Own';\r\n ownRentStep.rentActionLabel = config.rentActionLabel || 'Rent';\r\n ownRentStep.liveRentFreeActionLabel = config.liveRentFreeActionLabel || 'Live Rent Free';\r\n return ownRentStep;\r\n }\r\n\r\n configure(step: OwnRentStep, config: OwnRentStepConfig): void {\r\n super.configure(step, config);\r\n config.ownActionLabel = step.ownActionLabel;\r\n config.rentActionLabel = step.rentActionLabel;\r\n config.liveRentFreeActionLabel = step.liveRentFreeActionLabel;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { PricingStep } from \"../../pricing-step.model\";\r\nimport { PricingStepConfig } from \"../pricing-step.config.model\";\r\n\r\n@Injectable()\r\nexport class PricingStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, PricingStep);\r\n }\r\n\r\n create(config: PricingStepConfig, wizardFlowContext: WizardFlowContext): PricingStep {\r\n let pricingStep = super.create(config, wizardFlowContext);\r\n pricingStep.noProductFoundMessageTitle = config.noProductFoundMessageTitle || \"No Available Products\";\r\n pricingStep.noProductsFoundMessageText = config.noProductsFoundMessageText || \"We were not able to find any available products based on your loan criteria.\";\r\n return pricingStep;\r\n }\r\n\r\n configure(step: PricingStep, config: PricingStepConfig): void {\r\n super.configure(step, config);\r\n config.noProductFoundMessageTitle = step.noProductFoundMessageTitle;\r\n config.noProductsFoundMessageText = step.noProductsFoundMessageText;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { PurchaseCreditsStep } from \"../../purchase-credits-step.model\";\r\nimport { PurchaseCreditsStepConfig } from \"../purchase-credits-step-config.model\";\r\n\r\n@Injectable()\r\nexport class PurchaseCreditsStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, PurchaseCreditsStep);\r\n }\r\n\r\n create(config: PurchaseCreditsStepConfig, wizardFlowContext: WizardFlowContext): PurchaseCreditsStep {\r\n let purchaseCreditsStep = super.create(config, wizardFlowContext)\r\n purchaseCreditsStep.underContractActionLabel = config.underContractActionLabel || 'Under Contract';\r\n purchaseCreditsStep.lookingToGetPreApprovedActionLabel = config.lookingToGetPreApprovedActionLabel || 'Looking to Get Pre-approved';\r\n purchaseCreditsStep.subjectPropertyAddressTbdLabel = config.subjectPropertyAddressTbdLabel || 'TBD';\r\n purchaseCreditsStep.restrictStatesToLicenseStates =\r\n (config.restrictStatesToLicenseStates != null ? config.restrictStatesToLicenseStates : false);\r\n purchaseCreditsStep.requireUserToEnterZipcode =\r\n (config.requireUserToEnterZipcode != null ? config.requireUserToEnterZipcode : false);\r\n purchaseCreditsStep.autoSelectLookingToGetPreApproved = (config.autoSelectLookingToGetPreApproved != null ?\r\n config.autoSelectLookingToGetPreApproved: false);\r\n purchaseCreditsStep.autoSelectTbdForSubjectPropertyAddress = (config.autoSelectTbdForSubjectPropertyAddress != null ?\r\n config.autoSelectTbdForSubjectPropertyAddress : false);\r\n return purchaseCreditsStep;\r\n }\r\n\r\n configure(step: PurchaseCreditsStep, config: PurchaseCreditsStepConfig): void {\r\n super.configure(step, config);\r\n config.underContractActionLabel = step.underContractActionLabel;\r\n config.lookingToGetPreApprovedActionLabel = step.lookingToGetPreApprovedActionLabel;\r\n config.subjectPropertyAddressTbdLabel = step.subjectPropertyAddressTbdLabel;\r\n config.restrictStatesToLicenseStates = step.restrictStatesToLicenseStates;\r\n config.requireUserToEnterZipcode = step.requireUserToEnterZipcode;\r\n config.autoSelectLookingToGetPreApproved = step.autoSelectLookingToGetPreApproved;\r\n config.autoSelectTbdForSubjectPropertyAddress = step.autoSelectTbdForSubjectPropertyAddress;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { RealEstateOwnedStep } from \"../../reo-step.model\";\r\nimport { ReoStepConfig } from \"../reo-step-config.model\";\r\n\r\n@Injectable()\r\nexport class ReoStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, RealEstateOwnedStep);\r\n }\r\n\r\n create(config: ReoStepConfig, wizardFlowContext: WizardFlowContext): RealEstateOwnedStep {\r\n let reoStep = super.create(config, wizardFlowContext)\r\n reoStep.addRealEstateActionLabel = config.addRealEstateActionLabel || 'Add Real Estate';\r\n return reoStep;\r\n }\r\n\r\n configure(step: RealEstateOwnedStep, config: ReoStepConfig): void {\r\n super.configure(step, config);\r\n config.addRealEstateActionLabel = step.addRealEstateActionLabel;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\nimport { ReviewApplicationStep } from \"../../review-application.model\";\r\nimport { ReviewApplicationStepConfig } from \"../review-application-step-config.model\";\r\n\r\n@Injectable()\r\nexport class ReviewApplicationStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, ReviewApplicationStep);\r\n }\r\n\r\n create(config: ReviewApplicationStepConfig, wizardFlowContext: WizardFlowContext): ReviewApplicationStep {\r\n let reviewApplicationStep = super.create(config, wizardFlowContext);\r\n const allowEditingOfSubjectProperty = ((config.allowEditingOfSubjectProperty === undefined || config.allowEditingOfSubjectProperty === null) ?\r\n true : config.allowEditingOfSubjectProperty);\r\n const showSubjectPropertyDetails = ((config.showSubjectPropertyDetails === undefined || config.showSubjectPropertyDetails === null) ?\r\n true : config.showSubjectPropertyDetails);\r\n reviewApplicationStep.allowEditingOfSubjectProperty = allowEditingOfSubjectProperty;\r\n reviewApplicationStep.showSubjectPropertyDetails = showSubjectPropertyDetails;\r\n reviewApplicationStep.loanDetailsSectionTitle = config.loanDetailsSectionTitle || \"Loan Details\";\r\n return reviewApplicationStep;\r\n }\r\n\r\n configure(step: ReviewApplicationStep, config: ReviewApplicationStepConfig): void {\r\n super.configure(step, config);\r\n config.allowEditingOfSubjectProperty = step.allowEditingOfSubjectProperty;\r\n config.showSubjectPropertyDetails = step.showSubjectPropertyDetails;\r\n config.loanDetailsSectionTitle = step.loanDetailsSectionTitle;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { SimpleNextStepDecider } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/simple-next-step-decider\";\r\nimport { SimpleNextStepDeciderConfig } from \"../simple-next-step-decider-config.model\";\r\n\r\n@Injectable()\r\nexport class SimpleNextStepDeciderFactory {\r\n\r\n constructor() {\r\n }\r\n\r\n create = (config: SimpleNextStepDeciderConfig) : IDecideNextStep | undefined => {\r\n if (config.gotoStepPath) {\r\n const decider = new SimpleNextStepDecider(config.gotoStepPath);\r\n return decider;\r\n }\r\n return undefined;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { IDecideNextStep } from \"projects/borrower-app/src/app/services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { SingleChoiceQuestionStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { SingleChoiceQuestionStep } from \"../../single-choice-question-step.model\";\r\nimport { SingleChoiceQuestionStepConfig } from \"../single-choice-question-step-config.model\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { StepFactoryBase } from \"./step-factory-base\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class SingleChoiceQuestionStepFactory extends StepFactoryBase implements ICreateStep {\r\n\r\n constructor(private readonly _nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super();\r\n }\r\n\r\n configure(step: SingleChoiceQuestionStep, config: SingleChoiceQuestionStepConfig): void {\r\n\r\n config.title = step.title;\r\n config.explanation = step.explanation;\r\n config.heading = step.heading || step.question.text;\r\n config.groupId = step.groupId;\r\n\r\n config.optionsProviderType = step.optionsProviderType;\r\n config.nameOfDefaultOptionToSetAndSkip = step.nameOfDefaultOptionToSetAndSkip;\r\n\r\n config.question.options.forEach(optionConfig => {\r\n const option = step.question.options.find(o => o.name === optionConfig.name);\r\n if (option) {\r\n optionConfig.text = option.text;\r\n optionConfig.explanation = option.explanation\r\n }\r\n });\r\n }\r\n\r\n create = (config: SingleChoiceQuestionStepConfig, wizardFlowContext: WizardFlowContext): SingleChoiceQuestionStep => {\r\n let nextStepDecider: IDecideNextStep | undefined = this._nextStepDeciderFactory.create(config.nextStepDeciderConfig,\r\n wizardFlowContext);\r\n let step = new SingleChoiceQuestionStep(config.id, config.name,\r\n config.path, config.question, nextStepDecider, config.fieldToSetWithAnswer, wizardFlowContext, config.contextType, SingleChoiceQuestionStepComponent);\r\n step.title = config.title;\r\n step.explanation = config.explanation;\r\n step.heading = config.heading;\r\n step.groupId = config.groupId;\r\n\r\n step.optionsProviderType = config.optionsProviderType;\r\n step.nameOfDefaultOptionToSetAndSkip = config.nameOfDefaultOptionToSetAndSkip;\r\n step.question.text = config.heading || step.question.text;\r\n\r\n step.question.options.forEach(option => {\r\n const optionConfig = config.question.options.find(o => o.name === option.name);\r\n if (optionConfig) {\r\n option.text = optionConfig.text;\r\n option.explanation = optionConfig.explanation;\r\n }\r\n });\r\n\r\n return step;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Constants } from \"projects/borrower-app/src/app/services/constants\";\r\nimport { WizardFlowConfigServiceBase } from \"projects/borrower-app/src/app/services/wizard/wizard-flow-config-service.base\";\r\nimport { MyInfoStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/my-info-step/my-info-step.component\";\r\nimport { AddressFields } from \"../../address-fields.model\";\r\nimport { AddressStepConfig } from \"../address-step-config.model\";\r\nimport { ContextType } from \"../context-type.enum\";\r\nimport { CreateAccountStepConfig } from \"../create-account-step-config.model\";\r\nimport { CreditScoresStepConfig } from \"../credit-scores-step.config.model\";\r\nimport { GenericStepConfig } from \"../../generic-step-config.model\";\r\nimport { MyInfoStepConfig } from \"../my-info-step-config.model\";\r\nimport { SimpleNextStepDeciderConfig } from \"../simple-next-step-decider-config.model\";\r\nimport { SingleChoiceQuestionStepConfig } from \"../single-choice-question-step-config.model\";\r\nimport { StepConfig } from \"../step-config.model\";\r\nimport { StepTypeConfig } from \"../step-type.config\";\r\nimport { StepType } from \"../step-type.enum\";\r\nimport { WizardFlowConfig } from \"../wizard-flow-config.model\";\r\nimport { ChecklistsStepConfig } from \"../checklists-step-config.model\";\r\nimport { GatherLeadSourceStepConfig } from \"../gather-lead-source-step-config.model\";\r\nimport { DemographicsStepConfig } from \"../demographics-step.config.model\";\r\nimport { PricingStepConfig } from \"../pricing-step.config.model\";\r\n\r\nconst defaultStepName: string = \"My New Step\";\r\nconst defaultPath: string = \"my-new-step\";\r\n\r\n@Injectable()\r\nexport class StepConfigFactory {\r\n\r\n constructor(private readonly _wizardFlowConfigService: WizardFlowConfigServiceBase) {\r\n }\r\n\r\n public static getConfig(stepType: StepType): StepTypeConfig | undefined {\r\n if (stepType == StepType.MyInfoStep) {\r\n return new StepTypeConfig(Constants.stepPaths.myInfo, MyInfoStepComponent)\r\n }\r\n return undefined;\r\n }\r\n\r\n public createConfig = (stepType: StepType, withinFlow: WizardFlowConfig, groupId?: number, path?: string): StepConfig | undefined => {\r\n const stepsOfTypeAlreadyInFlow = withinFlow.steps.filter(s => s.stepType === stepType);\r\n if (!path) {\r\n path = defaultPath;\r\n }\r\n if (stepsOfTypeAlreadyInFlow && stepsOfTypeAlreadyInFlow.length > 0) {\r\n const step = stepsOfTypeAlreadyInFlow[stepsOfTypeAlreadyInFlow.length - 1];\r\n path = step.path + \"-\" + (stepsOfTypeAlreadyInFlow.length + 1).toString();\r\n }\r\n let maxStepId = 0;\r\n if (withinFlow.steps && withinFlow.steps.length) {\r\n maxStepId = Math.max(...withinFlow.steps.map(o => isNaN(o.id as any) ? -9999 : Number(o.id)));\r\n }\r\n const id = (maxStepId + 1).toString();\r\n\r\n let stepConfig: StepConfig | undefined;\r\n if (stepType == StepType.MyInfoStep) {\r\n stepConfig = new MyInfoStepConfig(id, defaultStepName, path, undefined, undefined);\r\n } else if (stepType == StepType.CreateAccount) {\r\n stepConfig = new CreateAccountStepConfig(id, defaultStepName, path, undefined);\r\n } else if (stepType == StepType.AddressStep) {\r\n stepConfig = new AddressStepConfig(id, defaultStepName, path, groupId || 0, ContextType.None, new AddressFields(\"\", \"\", \"\", \"\", \"\"));\r\n } else if (stepType == StepType.CreditScoresStep) {\r\n stepConfig = new CreditScoresStepConfig(id, defaultStepName, path, groupId || 0, undefined);\r\n } else if (stepType == StepType.SingleChoiceQuestionStep) {\r\n stepConfig = new SingleChoiceQuestionStepConfig(id, defaultStepName, path, groupId || 0, ContextType.None, undefined, undefined, undefined);\r\n } else if (stepType == StepType.CheckListsStep) {\r\n stepConfig = new ChecklistsStepConfig(id, defaultStepName, path, groupId, undefined);\r\n } else if (stepType === StepType.GatherLeadSourceStep) {\r\n stepConfig = new GatherLeadSourceStepConfig(id, defaultStepName, path, groupId || 0, undefined);\r\n } else if (stepType === StepType.DemographicsStep) {\r\n stepConfig = new DemographicsStepConfig(id, defaultStepName, path, groupId || 0, undefined);\r\n } else if (stepType === StepType.PricingStep) {\r\n stepConfig = new PricingStepConfig(id, defaultStepName, path, groupId || 0, undefined);\r\n } else {\r\n stepConfig = new GenericStepConfig(id, defaultStepName, path, groupId || 0, stepType, undefined);\r\n }\r\n stepConfig.nextStepDeciderConfig = new SimpleNextStepDeciderConfig(\"\");\r\n return stepConfig;\r\n }\r\n}\r\n","import { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { WizardStepBase } from \"../../wizard-step-base.model\";\r\nimport { StepConfig } from \"../step-config.model\";\r\n\r\nexport abstract class StepFactoryBase {\r\n abstract create(config: TStepConfig, wizardFlowContext: WizardFlowContext): WizardStepBase;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Constants } from \"projects/borrower-app/src/app/services/constants\";\r\nimport { MilitaryServiceStepComponent } from \"projects/borrower-app/src/app/wizard/military-service-step/military-service-step.component\";\r\nimport { AddressStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/address-step/address-step.component\";\r\nimport { AssetsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/assets-step/assets-step.component\";\r\nimport { BorrowerCharacteristicsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/borrower-characteristics-step/borrower-characteristics-step.component\";\r\nimport { ChecklistsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/checklists-step/checklists-step.component\";\r\nimport { ConsentAuthorizationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/consent-authorization-step/consent-authorization-step.component\";\r\nimport { CreateAccountStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/create-account-step/create-account-step.component\";\r\nimport { CreateMultipleCoBorrowersStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/create-multiple-coborrowers/create-multiple-coborrowers-step.component\";\r\nimport { CreditInquiryStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/credit-inquiry-step/credit-inquiry-step.component\";\r\nimport { CreditScoresStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/credit-scores-step/credit-scores-step.component\";\r\nimport { CurrentAddressHistoryComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/current-address-history/current-address-history.component\";\r\nimport { CurrentAddressComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/current-address/current-address.component\";\r\nimport { DeclarationsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/declarations-step/declarations-step.component\";\r\nimport { DemographicsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/demographics-step/demographics-step.component\";\r\nimport { DigitalAssetsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/digital-assets-step/digital-assets-step.component\";\r\nimport { DigitalIncomeVerificationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/digital-income-verification-step/digital-income-verification-step.component\";\r\nimport { HoiStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/hoi-step/hoi-step.component\";\r\nimport { IncomeStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/income-step/income-step.component\";\r\nimport { LoanCharacteristicsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/loan-characteristics-step/loan-characteristics-step.component\";\r\nimport { MultiBorrowersAddressHistoryComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/multiborrowers-address-history-step/multiborrowers-address-history-step.component\";\r\nimport { MyInfoStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/my-info-step/my-info-step.component\";\r\nimport { NumberOfBorrowersComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/number-of-borrowers/number-of-borrowers.component\";\r\nimport { OwnRentComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/own-rent/own-rent.component\";\r\nimport { PurchaseCreditsStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/purchase-credits-step/purchase-credits-step.component\";\r\nimport { RealEstateOwnedStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/reo-step/reo-step.component\";\r\nimport { ReviewApplicationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/review-application-step/review-application-step.component\";\r\nimport { ReviewCreditStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/review-credit-step/review-credit-step.component\";\r\nimport { SelectOriginatorStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/select-originator-step/select-originator-step.component\";\r\nimport { SingleChoiceQuestionStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component\";\r\nimport { SubmitApplicationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/submit-application-step/submit-application-step.component\";\r\nimport { TypeOfLoanStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/type-of-loan-step/type-of-loan-step.component\";\r\nimport { VerifyCreditStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/verify-credit-step/verify-credit-step.component\";\r\nimport { StepTypeConfig } from \"../step-type.config\";\r\nimport { StepType } from \"../step-type.enum\";\r\nimport { GatherLeadSourceStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/gather-lead-source-step/gather-lead-source-step.component\";\r\nimport { PricingStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/pricing-step/pricing-step.component\";\r\nimport { PullExistingApplicationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/pull-existing-application-step/pull-existing-application-step.component\";\r\nimport { LinkLiabilitiesToReoStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/link-liabilities-to-reo-step/link-liabilities-to-reo-step.component\";\r\nimport { HomeownershipEducationStepComponent } from \"projects/borrower-app/src/app/wizard/wizard-steps/homeownership-education-step/homeownership-education-step.component\";\r\n\r\n@Injectable()\r\nexport class StepTypeConfigFactory {\r\n\r\n private _configs: any = {};\r\n\r\n getStepTypeConfig = (stepType: StepType): StepTypeConfig => {\r\n return this._configs[stepType];\r\n }\r\n\r\n constructor() {\r\n this._configs[StepType.SingleChoiceQuestionStep] = new StepTypeConfig(\"\", SingleChoiceQuestionStepComponent);\r\n this._configs[StepType.MyInfoStep] = new StepTypeConfig(Constants.stepPaths.myInfo, MyInfoStepComponent);\r\n this._configs[StepType.AddressStep] = new StepTypeConfig(Constants.stepPaths.address, AddressStepComponent);\r\n this._configs[StepType.CreateAccount] = new StepTypeConfig(Constants.stepPaths.createAccount, CreateAccountStepComponent);\r\n this._configs[StepType.NumberOfBorrowersStep] = new StepTypeConfig(Constants.stepPaths.numberOfBorrowers, NumberOfBorrowersComponent);\r\n this._configs[StepType.CreateCoBorrowersStep] = new StepTypeConfig(Constants.stepPaths.createCoBorrowers, CreateMultipleCoBorrowersStepComponent);\r\n this._configs[StepType.CurrentAddressStep] = new StepTypeConfig(Constants.stepPaths.currentAddress, CurrentAddressComponent);\r\n this._configs[StepType.OwnershipStatusStep] = new StepTypeConfig(Constants.stepPaths.ownershipStatus, OwnRentComponent);\r\n this._configs[StepType.AddressHistoryStep] = new StepTypeConfig(Constants.stepPaths.addressHistory, CurrentAddressHistoryComponent);\r\n this._configs[StepType.DigitalIncomeAndEmploymentStep] = new StepTypeConfig(Constants.stepPaths.digitalIncomeAndEmployment, DigitalIncomeVerificationStepComponent);\r\n this._configs[StepType.ManualIncomeAndEmploymentStep] = new StepTypeConfig(Constants.stepPaths.manualIncomeAndEmployment, IncomeStepComponent);\r\n this._configs[StepType.DigitalAssetsStep] = new StepTypeConfig(Constants.stepPaths.digitalAssets, DigitalAssetsStepComponent);\r\n this._configs[StepType.ManualAssetsStep] = new StepTypeConfig(Constants.stepPaths.manualAssets, AssetsStepComponent);\r\n this._configs[StepType.ReoStep] = new StepTypeConfig(Constants.stepPaths.reo, RealEstateOwnedStepComponent);\r\n this._configs[StepType.VerifyCreditStep] = new StepTypeConfig(Constants.stepPaths.verifyCredit, VerifyCreditStepComponent);\r\n this._configs[StepType.CreditScoresStep] = new StepTypeConfig(Constants.stepPaths.creditScores, CreditScoresStepComponent);\r\n this._configs[StepType.ReviewCreditStep] = new StepTypeConfig(Constants.stepPaths.reviewCredit, ReviewCreditStepComponent);\r\n this._configs[StepType.CreditInquiryStep] = new StepTypeConfig(Constants.stepPaths.creditInquiry, CreditInquiryStepComponent);\r\n this._configs[StepType.LoanTypeStep] = new StepTypeConfig(Constants.stepPaths.loanInfo, TypeOfLoanStepComponent);\r\n this._configs[StepType.DeclarationsStep] = new StepTypeConfig(Constants.stepPaths.declarations, DeclarationsStepComponent);\r\n this._configs[StepType.DemographicsStep] = new StepTypeConfig(Constants.stepPaths.demographics, DemographicsStepComponent);\r\n this._configs[StepType.EConsentStep] = new StepTypeConfig(Constants.stepPaths.econsent, ConsentAuthorizationStepComponent);\r\n this._configs[StepType.ReviewApplicationStep] = new StepTypeConfig(Constants.stepPaths.reviewApplication, ReviewApplicationStepComponent);\r\n this._configs[StepType.SubmitApplicationStep] = new StepTypeConfig(Constants.stepPaths.submitApplication, SubmitApplicationStepComponent);\r\n this._configs[StepType.SelectOriginatorStep] = new StepTypeConfig(Constants.stepPaths.originator, SelectOriginatorStepComponent);\r\n this._configs[StepType.MultiBorrowersAddressHistoryStep] = new StepTypeConfig(Constants.stepPaths.multiBorrowerAddressHistory, MultiBorrowersAddressHistoryComponent);\r\n this._configs[StepType.MilitaryServiceStep] = new StepTypeConfig(Constants.stepPaths.militaryService, MilitaryServiceStepComponent);\r\n this._configs[StepType.HoiStep] = new StepTypeConfig(Constants.stepPaths.hoi, HoiStepComponent);\r\n this._configs[StepType.LoanCharacteristicsStep] = new StepTypeConfig(Constants.stepPaths.loanCharacteristics, LoanCharacteristicsStepComponent);\r\n this._configs[StepType.BorrowerCharacteristicsStep] = new StepTypeConfig(Constants.stepPaths.borrowerCharacteristics, BorrowerCharacteristicsStepComponent);\r\n this._configs[StepType.PurchaseCreditsStep] = new StepTypeConfig(Constants.stepPaths.purchaseCredits, PurchaseCreditsStepComponent);\r\n this._configs[StepType.CheckListsStep] = new StepTypeConfig(Constants.stepPaths.checklists, ChecklistsStepComponent);\r\n this._configs[StepType.GatherLeadSourceStep] = new StepTypeConfig(Constants.stepPaths.gatherLeadSource, GatherLeadSourceStepComponent);\r\n this._configs[StepType.PricingStep] = new StepTypeConfig(Constants.stepPaths.pricing, PricingStepComponent);\r\n this._configs[StepType.PullExistingApplicationStep] = new StepTypeConfig(Constants.stepPaths.pullExistingApplication,\r\n PullExistingApplicationStepComponent);\r\n this._configs[StepType.LinkLiabilitiesToReoStep] = new StepTypeConfig(Constants.stepPaths.linkLiabilitiesToReo, LinkLiabilitiesToReoStepComponent);\r\n this._configs[StepType.HomeownershipEducationStep] = new StepTypeConfig(Constants.stepPaths.homeownershipEducation, HomeownershipEducationStepComponent);\r\n }\r\n}\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { WizardFlowContext } from \"../../../wizard-flow-context.model\";\r\nimport { VerifyCreditStep } from \"../../verify-credit-step.model\";\r\nimport { VerifyCreditStepConfig } from \"../verify-credit-step-config.model\";\r\nimport { GenericStepFactory } from \"./generic-step.factory\";\r\nimport { NextStepDeciderFactory } from \"./next-step-decider.factory\";\r\nimport { ICreateStep } from \"./step-factory.interface\";\r\n\r\n@Injectable()\r\nexport class VerifyCreditStepFactory extends GenericStepFactory implements ICreateStep {\r\n\r\n constructor(nextStepDeciderFactory: NextStepDeciderFactory) {\r\n super(nextStepDeciderFactory, VerifyCreditStep);\r\n }\r\n\r\n create(config: VerifyCreditStepConfig, wizardFlowContext: WizardFlowContext): VerifyCreditStep {\r\n let verifyCreditStep = super.create(config, wizardFlowContext)\r\n verifyCreditStep.hideRealTimeCreditRunOption = config.hideRealTimeCreditRunOption;\r\n return verifyCreditStep;\r\n }\r\n\r\n configure(step: VerifyCreditStep, config: VerifyCreditStepConfig): void {\r\n super.configure(step, config);\r\n config.hideRealTimeCreditRunOption = step.hideRealTimeCreditRunOption;\r\n }\r\n}\r\n","export class FieldConfig {\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n isHidden: boolean = false;\r\n isRequired: boolean = true;\r\n\r\n constructor(name: string, displayName: string) {\r\n this.name = name;\r\n this.displayName = displayName;\r\n }\r\n}\r\n","import { FieldConfig } from \"./field-config-model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class FieldConfigUtils {\r\n\r\n public static generateAddressHistoryStepFieldConfig = (): any => {\r\n let addressHistoryStepFieldConfig: any = {};\r\n addressHistoryStepFieldConfig[\"residencyAddress.durationYears\"] = new FieldConfig(\"residencyAddress.durationYears\", \"Year(s)\");\r\n addressHistoryStepFieldConfig[\"residencyAddress.durationMonths\"] = new FieldConfig(\"residencyAddress.durationMonths\", \"Month(s)\");\r\n addressHistoryStepFieldConfig[\"residencyAddress.residencyBasis\"] = new FieldConfig(\"residencyAddress.residencyBasis\", \"Ownership Status\");\r\n addressHistoryStepFieldConfig[\"residencyAddress.rent\"] = new FieldConfig(\"residencyAddress.rent\", \"Monthly Rent\");\r\n\r\n const reoFieldsConfig = this.generateReoStepFieldConfig();\r\n addressHistoryStepFieldConfig = { ...addressHistoryStepFieldConfig, ...reoFieldsConfig };\r\n return addressHistoryStepFieldConfig;\r\n }\r\n\r\n public static generateAssetsStepFieldConfig = (): any => {\r\n let assetsStepFieldConfig: any = {};\r\n assetsStepFieldConfig[\"asset.assetType\"] = new FieldConfig(\"asset.assetType\", \"Asset Type\");\r\n assetsStepFieldConfig[\"asset.depository\"] = new FieldConfig(\"asset.depository\", \"Name of Bank/Credit Union\");\r\n assetsStepFieldConfig[\"asset.cashMarketValue\"] = new FieldConfig(\"asset.cashMarketValue\", \"Amount\");\r\n assetsStepFieldConfig[\"asset.accountNumber\"] = new FieldConfig(\"asset.accountNumber\", \"Account Number\");\r\n assetsStepFieldConfig[\"asset.makeModel\"] = new FieldConfig(\"asset.makeModel\", \"Make/Model\");\r\n assetsStepFieldConfig[\"asset.year\"] = new FieldConfig(\"asset.year\", \"Year\");\r\n assetsStepFieldConfig[\"asset.disposition\"] = new FieldConfig(\"asset.disposition\", \"Disposition\");\r\n assetsStepFieldConfig[\"asset.amountOfMortgageLien\"] = new FieldConfig(\"asset.amountOfMortgageLien\", \"Amount Of Mortgage Lien\");\r\n assetsStepFieldConfig[\"asset.mortgagePayment\"] = new FieldConfig(\"asset.mortgagePayment\", \"Mortgage Payment\");\r\n assetsStepFieldConfig[\"asset.gross\"] = new FieldConfig(\"asset.gross\", \"Gross\");\r\n assetsStepFieldConfig[\"asset.netRentalIncome\"] = new FieldConfig(\"asset.netRentalIncome\", \"Net Rental Income\");\r\n assetsStepFieldConfig[\"asset.insMainTaxMisc\"] = new FieldConfig(\"asset.insMainTaxMisc\", \"Insurance Maintainance Taxes Misc\");\r\n return assetsStepFieldConfig;\r\n }\r\n\r\n public static generatePurchaseCreditsStepFieldConfig = (): any => {\r\n let purchaseCreditsStepFieldConfig: any = {};\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.presentValue\"] = new FieldConfig(\"subjectProperty.presentValue\", \"Estimated Value\");\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.propertyWillBe\"] = new FieldConfig(\"subjectProperty.propertyWillBe\", \"Property Will Be\");\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.state\"] = new FieldConfig(\"subjectProperty.state\", \"State\");\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.yearBuilt\"] = new FieldConfig(\"subjectProperty.yearBuilt\", \"Year Built\");\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.yearBuilt\"].isRequired = false;\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.noOfUnits\"] = new FieldConfig(\"subjectProperty.noOfUnits\", \"Number of Units\");\r\n purchaseCreditsStepFieldConfig[\"subjectProperty.noOfUnits\"].isRequired = false;\r\n purchaseCreditsStepFieldConfig[\"mortgageApplication.extension.purchaseAgreementContractSignedDate\"] =\r\n new FieldConfig(\"mortgageApplication.extension.purchaseAgreementContractSignedDate\", \"When was the contract signed?\");\r\n purchaseCreditsStepFieldConfig[\"mortgageApplication.extension.purchaseAgreementExpectedCOEDate\"] =\r\n new FieldConfig(\"mortgageApplication.extension.purchaseAgreementExpectedCOEDate\", \"When is the expected close of escrow?\");\r\n\r\n purchaseCreditsStepFieldConfig[\"mortgageApplication.transactionDetail.purchaseCredits.earnestMoneyDeposit\"] =\r\n new FieldConfig(\"mortgageApplication.transactionDetail.purchaseCredits.earnestMoneyDeposit\", \"How much is the earnest money deposit?\");\r\n\r\n purchaseCreditsStepFieldConfig[\"mortgageApplication.transactionDetail.purchaseCredits.sellerCredits\"] =\r\n new FieldConfig(\"mortgageApplication.transactionDetail.purchaseCredits.sellerCredits\", \"What is the amount?\");\r\n\r\n return purchaseCreditsStepFieldConfig;\r\n }\r\n\r\n public static generateReviewApplicationStepFieldConfig = (): any => {\r\n let reviewApplicationStepFieldConfig: any = {};\r\n reviewApplicationStepFieldConfig[\"mortgage.transactionDetail.purchasePriceAmount\"] = new FieldConfig(\"mortgage.transactionDetail.purchasePriceAmount\", \"Purchase Price\");\r\n return reviewApplicationStepFieldConfig;\r\n }\r\n\r\n public static generateIncomeStepFieldConfig = (): any => {\r\n let incomeStepFieldConfig: any = {};\r\n incomeStepFieldConfig[\"employment.businessType\"] = new FieldConfig(\"employment.businessType\", \"Business Type\");\r\n incomeStepFieldConfig[\"employment.employer\"] = new FieldConfig(\"employment.employer\", \"Employer Name\");\r\n incomeStepFieldConfig[\"employment.isPrimary\"] = new FieldConfig(\"employment.isPrimary\", \"Job Type\");\r\n incomeStepFieldConfig[\"employment.position\"] = new FieldConfig(\"employment.position\", \"Position\");\r\n incomeStepFieldConfig[\"employment.employmentType\"] = new FieldConfig(\"employment.employmentType\", \"Current or Former\");\r\n incomeStepFieldConfig[\"employment.employerPhone\"] = new FieldConfig(\"employment.employerPhone\", \"Corporate Phone\");\r\n incomeStepFieldConfig[\"employment.yearsInLineOfWork\"] = new FieldConfig(\"employment.yearsInLineOfWork\", \"Year(s) in Profession\");\r\n incomeStepFieldConfig[\"employment.startDate\"] = new FieldConfig(\"employment.startDate\", \"Start Date\");\r\n incomeStepFieldConfig[\"employment.endDate\"] = new FieldConfig(\"employment.endDate\", \"End Date\");\r\n incomeStepFieldConfig[\"employment.selfEmploymentMonthlyIncomeOrLoss\"] = new FieldConfig(\"employment.selfEmploymentMonthlyIncomeOrLoss\", \"Monthly Income/Loss\");\r\n incomeStepFieldConfig[\"employment.borrowerOwnershipShare\"] = new FieldConfig(\"employment.borrowerOwnershipShare\", \"Ownership Share\");\r\n incomeStepFieldConfig[\"employment.selfEmploymentForm\"] = new FieldConfig(\"employment.selfEmploymentForm\", \"Self Employment Form\");\r\n incomeStepFieldConfig[\"monthlyPay\"] = new FieldConfig(\"monthlyPay\", \"Monthly Pay\");\r\n incomeStepFieldConfig[\"employment.selfEmployed\"] = new FieldConfig(\"employment.selfEmployed\", \"Self Employed\");\r\n incomeStepFieldConfig[\"income.typeOfIncomeOtherDescription\"] = new FieldConfig(\"income.typeOfIncomeOtherDescription\", \"Description\");\r\n incomeStepFieldConfig[\"income.monthlyIncome\"] = new FieldConfig(\"income.monthlyIncome\", \"Monthly Income\");\r\n incomeStepFieldConfig[\"income.monthlyRent\"] = new FieldConfig(\"income.monthlyRent\", \"Monthly Rent\");\r\n return incomeStepFieldConfig;\r\n }\r\n\r\n public static generateReoStepFieldConfig = (): any => {\r\n let reoStepFieldConfig: any = {};\r\n reoStepFieldConfig[\"reo.typeOfProperty\"] = new FieldConfig(\"reo.typeOfProperty\", \"Property Type\");\r\n reoStepFieldConfig[\"reo.marketValue\"] = new FieldConfig(\"reo.marketValue\", \"Property Value\");\r\n reoStepFieldConfig[\"reo.currentUsageType\"] = new FieldConfig(\"reo.currentUsageType\", \"How do you currently use this property?\");\r\n reoStepFieldConfig[\"reo.intendedUsageType\"] = new FieldConfig(\"reo.intendedUsageType\", \"How do you plan on using this property?\");\r\n reoStepFieldConfig[\"reo.dispositionStatus\"] = new FieldConfig(\"reo.dispositionStatus\", \"Do you plan on selling this property?\");\r\n reoStepFieldConfig[\"reo.amountOfMortgage\"] = new FieldConfig(\"reo.amountOfMortgage\", \"Current balance of existing liens on this property?\");\r\n reoStepFieldConfig[\"reo.mortgagePayment\"] = new FieldConfig(\"reo.mortgagePayment\", \"Monthly Payment\");\r\n reoStepFieldConfig[\"reo.monthlyMiscExpenses\"] = new FieldConfig(\"reo.monthlyMiscExpenses\", \"Insurance, HOA, Tax\");\r\n reoStepFieldConfig[\"reo.grossRentalIncome\"] = new FieldConfig(\"reo.grossRentalIncome\", \"Gross Rental Income\");\r\n reoStepFieldConfig[\"reo.purchasePrice\"] = new FieldConfig(\"reo.purchasePrice\", \"Original Purchase Price\");\r\n reoStepFieldConfig[\"reo.dateAcquired\"] = new FieldConfig(\"reo.dateAcquired\", \"Date Acquired\");\r\n return reoStepFieldConfig;\r\n }\r\n\r\n public static generateLoanInfoStepFieldConfig = (): any => {\r\n let loanInfoStepFieldConfig: any = {};\r\n loanInfoStepFieldConfig[\"mortgageApplication.mortgageTerm.mortgageAppliedFor\"] =\r\n new FieldConfig(\"mortgageApplication.mortgageTerm.mortgageAppliedFor\", \"If you do, please choose it from the list below. If not, please click continue.\");\r\n loanInfoStepFieldConfig[\"mortgage.transactionDetail.purchasePriceAmount\"] = new FieldConfig(\"mortgage.transactionDetail.purchasePriceAmount\", \"Purchase Price\");\r\n loanInfoStepFieldConfig[\"mortgage.transactionDetail.downpayment\"] =\r\n new FieldConfig(\"mortgage.transactionDetail.downpayment\", \"Down Payment\"); // mortgage.transactionDetail.downpayment does not really exist on mortgage model\r\n loanInfoStepFieldConfig['mortgage.subjectProperty.downPaymentSource'] = new FieldConfig('mortgage.subjectProperty.downPaymentSource', 'Down Payment Source');\r\n return loanInfoStepFieldConfig;\r\n }\r\n\r\n public static generateBorrowerFieldsConfig = (): any => {\r\n let borrowerFieldsConfig: any = {};\r\n borrowerFieldsConfig[\"borrower.firstName\"] = new FieldConfig(\"borrower.firstName\", \"First Name\");\r\n borrowerFieldsConfig[\"borrower.lastName\"] = new FieldConfig(\"borrower.lastName\", \"Last Name\");\r\n borrowerFieldsConfig[\"borrower.middleName\"] = new FieldConfig(\"borrower.middleName\", \"Middle Name\");\r\n borrowerFieldsConfig[\"borrower.middleName\"].isRequired = false;\r\n borrowerFieldsConfig[\"borrower.nameSuffix\"] = new FieldConfig(\"borrower.nameSuffix\", \"Suffix\");\r\n borrowerFieldsConfig[\"borrower.nameSuffix\"].isRequired = false;\r\n borrowerFieldsConfig[\"borrower.mobilePhone\"] = new FieldConfig(\"borrower.mobilePhone\", \"Phone Number\");\r\n borrowerFieldsConfig[\"borrower.dateOfBirth\"] = new FieldConfig(\"borrower.dateOfBirth\", \"Birth Date\");\r\n borrowerFieldsConfig[\"borrower.socialSecNum\"] = new FieldConfig(\"borrower.socialSecNum\", \"Social Security Number\");\r\n borrowerFieldsConfig[\"borrower.declarations.residenceStatus\"] = new FieldConfig(\"borrower.declarations.residenceStatus\", \"Citizenship\");\r\n borrowerFieldsConfig[\"borrower.maritalStatus\"] = new FieldConfig(\"borrower.maritalStatus\", \"Marital Status\");\r\n borrowerFieldsConfig[\"borrower.numberOfDependents\"] = new FieldConfig(\"borrower.numberOfDependents\", \"Number of Dependents\");\r\n borrowerFieldsConfig[\"borrower.languagePreference\"] = new FieldConfig(\"borrower.languagePreference\", \"Language Preference\");\r\n borrowerFieldsConfig[\"borrower.languagePreferenceOtherDescription\"] =\r\n new FieldConfig(\"borrower.languagePreferenceOtherDescription\", \"Specify Language\");\r\n borrowerFieldsConfig[\"borrower.dependentAges\"] = new FieldConfig(\"borrower.dependentAges\", \"Dependent Ages\");\r\n return borrowerFieldsConfig;\r\n }\r\n\r\n public static generateCoBorrowerFieldsConfig = (): any => {\r\n let borrowerFieldsConfig: any = {};\r\n borrowerFieldsConfig[\"borrower.firstName\"] = new FieldConfig(\"borrower.firstName\", \"First Name\");\r\n borrowerFieldsConfig[\"borrower.lastName\"] = new FieldConfig(\"borrower.lastName\", \"Last Name\");\r\n borrowerFieldsConfig[\"borrower.middleName\"] = new FieldConfig(\"borrower.middleName\", \"Middle Name\");\r\n borrowerFieldsConfig[\"borrower.middleName\"].isRequired = false;\r\n borrowerFieldsConfig[\"borrower.nameSuffix\"] = new FieldConfig(\"borrower.nameSuffix\", \"Suffix\");\r\n borrowerFieldsConfig[\"borrower.nameSuffix\"].isRequired = false;\r\n borrowerFieldsConfig[\"borrower.primaryEmail\"] = new FieldConfig(\"borrower.primaryEmail\", \"E-mail\");\r\n borrowerFieldsConfig[\"borrower.mobilePhone\"] = new FieldConfig(\"borrower.mobilePhone\", \"Phone Number\");\r\n borrowerFieldsConfig[\"borrower.dateOfBirth\"] = new FieldConfig(\"borrower.dateOfBirth\", \"Birth Date\");\r\n borrowerFieldsConfig[\"borrower.socialSecNum\"] = new FieldConfig(\"borrower.socialSecNum\", \"Social Security Number\");\r\n borrowerFieldsConfig[\"borrower.declarations.residenceStatus\"] = new FieldConfig(\"borrower.declarations.residenceStatus\", \"Citizenship\");\r\n borrowerFieldsConfig[\"borrower.maritalStatus\"] = new FieldConfig(\"borrower.maritalStatus\", \"Marital Status\");\r\n return borrowerFieldsConfig;\r\n }\r\n\r\n public static generateAddressFieldsConfig = (): any => {\r\n let addressFieldsConfig: any = {};\r\n addressFieldsConfig[\"residencyAddress.durationYears\"] = new FieldConfig(\"residencyAddress.durationYears\", \"Year(s)\");\r\n addressFieldsConfig[\"residencyAddress.durationMonths\"] = new FieldConfig(\"residencyAddress.durationMonths\", \"Month(s)\");\r\n addressFieldsConfig[\"residencyAddress.residencyBasis\"] = new FieldConfig(\"residencyAddress.residencyBasis\", \"Ownership Status\");\r\n addressFieldsConfig[\"residencyAddress.rent\"] = new FieldConfig(\"residencyAddress.rent\", \"Monthly Payment\");\r\n return addressFieldsConfig;\r\n }\r\n\r\n public static generateDefaultFieldConfigForStep = (stepType: StepType): any => {\r\n let fieldConfig: any = {}\r\n if (stepType === StepType.MyInfoStep) {\r\n\r\n } else if (stepType === StepType.ManualIncomeAndEmploymentStep) {\r\n fieldConfig = FieldConfigUtils.generateIncomeStepFieldConfig();\r\n } else if (stepType === StepType.ManualAssetsStep) {\r\n fieldConfig = FieldConfigUtils.generateAssetsStepFieldConfig();\r\n } else if (stepType === StepType.ReoStep) {\r\n fieldConfig = FieldConfigUtils.generateReoStepFieldConfig();\r\n } else if (stepType === StepType.AddressHistoryStep) {\r\n fieldConfig = FieldConfigUtils.generateAddressFieldsConfig();\r\n } else if (stepType === StepType.LoanTypeStep) {\r\n fieldConfig = FieldConfigUtils.generateLoanInfoStepFieldConfig();\r\n } else if (stepType === StepType.PurchaseCreditsStep) {\r\n fieldConfig = FieldConfigUtils.generatePurchaseCreditsStepFieldConfig();\r\n } else if (stepType === StepType.ReviewApplicationStep) {\r\n fieldConfig = FieldConfigUtils.generateReviewApplicationStepFieldConfig();\r\n } else if (stepType === StepType.CreateCoBorrowersStep) {\r\n fieldConfig = FieldConfigUtils.generateCoBorrowerFieldsConfig();\r\n }\r\n return fieldConfig;\r\n }\r\n\r\n public static isHidden = (fieldConfig: any, fieldName: string): boolean => {\r\n if (fieldConfig[fieldName]) {\r\n return fieldConfig[fieldName].isHidden;\r\n }\r\n return false;\r\n }\r\n\r\n public static isRequied = (fieldConfig: any, fieldName: string): boolean => {\r\n if (fieldConfig[fieldName]) {\r\n return fieldConfig[fieldName].isRequied;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n// Just to trigger a build\r\n","import { WizardNavGroup } from \"../wizard-nav-group.model\";\r\nimport { NavigationType } from \"./nav-type.enum\";\r\n\r\nexport class WizardFlowSettings {\r\n title: string = \"\";\r\n comment: string = \"\";\r\n navigationType: NavigationType = NavigationType.Horizontal;\r\n hasProgressBar: boolean = true;\r\n isDefault: boolean = false;\r\n isActive: boolean = false;\r\n navGroups: WizardNavGroup[] = [];\r\n}\r\n","export enum FlowType {\r\n Register = 1,\r\n Apply = 2,\r\n CoApply = 3\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\nimport { Option } from \"../../../models/wizard/option.model\";\r\n\r\nexport class GatherLeadSourceStepConfig extends StepConfig {\r\n\r\n private static _allLeadSourceOptions: Option[] = [\r\n new Option('Social Media', 'Social Media', 'Social Media', 'Social Media'),\r\n new Option('Real Estate Agent', 'Real Estate Agent', 'Real Estate Agent', 'Real Estate Agent'),\r\n new Option('Internet', 'Internet', 'Internet', 'Internet'),\r\n new Option('Past Clients', 'Past Clients', 'Past Clients', 'Past Clients'),\r\n new Option('Radio', 'Radio', 'Radio', 'Radio'),\r\n new Option('Letter in the Mail', 'Letter in the Mail', 'Letter in the Mail', 'Letter in the Mail'),\r\n new Option('Other', 'Other', 'Other', 'Other')\r\n ]\r\n\r\n static get allLeadSourceOptions(): Option[] {\r\n return [...GatherLeadSourceStepConfig._allLeadSourceOptions];\r\n }\r\n\r\n pickAgentReferralFromAList: boolean = true;\r\n\r\n leadSourceOptions: Option[] = GatherLeadSourceStepConfig.allLeadSourceOptions;\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.GatherLeadSourceStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n this.pickAgentReferralFromAList = true;\r\n }\r\n}\r\n","import { GraphLink } from \"./link.model\";\r\nimport { GraphNode } from \"./node.model\";\r\n\r\nexport class Graph {\r\n nodes: GraphNode[] = [];\r\n links: GraphLink[] = [];\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { FieldConfigUtils } from \"./field-config-utils\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class MyInfoStepConfig extends StepConfig {\r\n\r\n configuresAddressHistory: boolean = true;\r\n\r\n restrictMiddleNameToSingleCharacter: boolean = false;\r\n\r\n configuresCoborrowers: boolean = true;\r\n\r\n borrowerFieldsConfig: any = {};\r\n\r\n addressFieldsConfig: any = {};\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.MyInfoStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n this.borrowerFieldsConfig = FieldConfigUtils.generateBorrowerFieldsConfig();\r\n this.addressFieldsConfig = FieldConfigUtils.generateAddressFieldsConfig();\r\n }\r\n}\r\n","export enum NavigationType {\r\n Horizontal = 1,\r\n Vertical = 2,\r\n None = 3\r\n}\r\n","import { NextStepDeciderType } from \"./next-step-decider-type.enum\";\r\n\r\nexport abstract class NextStepDeciderConfig {\r\n deciderType!: NextStepDeciderType\r\n}\r\n","export enum NextStepDeciderType {\r\n Expression = 1,\r\n Simple = 2\r\n}\r\n","export class GraphNode {\r\n name: string;\r\n group: string | undefined;\r\n\r\n constructor(name: string, group: string) {\r\n this.name = name;\r\n this.group = group;\r\n }\r\n}\r\n","import { Option } from \"../../option.model\";\r\nimport { IProvideOptions } from \"./options-provider.interface\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class DefaultPropertyTypeOptionsProvider implements IProvideOptions {\r\n\r\n constructor() {\r\n }\r\n\r\n getOptions(): Observable {\r\n const singleFamilyOption = new Option('singleFamily', 'Single Family', '', 'SFR', 'stockholm-home-heart');\r\n const townhouseOption = new Option('townhouse', 'Townhouse', '', 'Townhouse', 'duotone-building');\r\n const condoOption = new Option('condo', 'Condo', '', 'Condominium');\r\n condoOption.iconClass = 'fa fa-2x fa-building';\r\n condoOption.iconType = 'font-awesome';\r\n const multiUnitOption = new Option('multiUnit', 'Multi Unit', '', 'MultiFamilyResidence', 'duotone-building2');\r\n const manufacturedHomeOption = new Option('manufacturedHousing', 'Manufactured Home', '', 'ManufacturedHousing');\r\n manufacturedHomeOption.iconType = 'font-awesome';\r\n manufacturedHomeOption.iconClass = 'las la-tools fs-3x';\r\n const cooperativeOption = new Option('cooperative', 'Co-op', '', 'Cooperative');\r\n cooperativeOption.iconType = 'font-awesome';\r\n cooperativeOption.iconClass = 'las la-building fs-3x';\r\n return of([singleFamilyOption, townhouseOption, condoOption, multiUnitOption, manufacturedHomeOption, cooperativeOption]);\r\n }\r\n}\r\n","import { ApplicationContextService } from \"projects/borrower-app/src/app/services/application-context.service\";\r\nimport { Option } from \"../../option.model\";\r\nimport { IProvideOptions } from \"./options-provider.interface\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, Subscription, map } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class LoanPurposeOptionsProvider implements IProvideOptions {\r\n\r\n private _appContextSubscription: Subscription;\r\n\r\n constructor(private readonly _applicationContextService: ApplicationContextService) {\r\n }\r\n\r\n getOptions(): Observable {\r\n return this._applicationContextService.context.pipe(map(context => {\r\n return context.globalConfig.loanPurpose.map(lp => {\r\n return new Option(lp.loanPurposeName, lp.loanPurposeName, \"\", lp.mortgageLoanPurpose || \"\", \"\");\r\n })\r\n }))\r\n }\r\n\r\n ngOnDestroy() {\r\n this._appContextSubscription?.unsubscribe();\r\n }\r\n}\r\n","import { ApplicationContextService } from \"projects/borrower-app/src/app/services/application-context.service\";\r\nimport { Option } from \"../../option.model\";\r\nimport { IProvideOptions } from \"./options-provider.interface\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, Subscription, map } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class LoanPurposeOptionsProviderV2 implements IProvideOptions {\r\n\r\n private _appContextSubscription: Subscription;\r\n\r\n constructor(private readonly _applicationContextService: ApplicationContextService) {\r\n }\r\n\r\n getOptions(): Observable {\r\n return this._applicationContextService.context.pipe(map(context => {\r\n return context.globalConfig.loanPurpose.map(lp => {\r\n return new Option(lp.loanPurposeName, lp.loanPurposeName, \"\", lp.loanPurposeId || \"\", \"\");\r\n })\r\n }))\r\n }\r\n\r\n ngOnDestroy() {\r\n this._appContextSubscription?.unsubscribe();\r\n }\r\n}\r\n","import { Injectable, Injector } from \"@angular/core\";\r\nimport { IProvideOptions } from \"./options-provider.interface\";\r\nimport { LoanPurposeOptionsProvider } from \"./loan-purpose-options-provider\";\r\nimport { LoanPurposeOptionsProviderV2 } from \"./loan-purpose-options-providerv2\";\r\nimport { DefaultPropertyTypeOptionsProvider } from \"./default-property-type-options-provider\";\r\n\r\n@Injectable()\r\nexport class OptionsProviderFactory {\r\n\r\n constructor(private readonly _injector: Injector) {\r\n }\r\n\r\n create = (providerType: OptionsProviderTypes): IProvideOptions | null => {\r\n switch(providerType) {\r\n case OptionsProviderTypes.LoanPurpose:\r\n const loanPurposeProvider = this._injector.get(LoanPurposeOptionsProvider);\r\n return loanPurposeProvider;\r\n case OptionsProviderTypes.loanPurposeV2:\r\n const loanPurposeProviderV2 = this._injector.get(LoanPurposeOptionsProviderV2);\r\n return loanPurposeProviderV2;\r\n case OptionsProviderTypes.propertyType:\r\n const propertyTypeProvider = this._injector.get(DefaultPropertyTypeOptionsProvider);\r\n return propertyTypeProvider;\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport enum OptionsProviderTypes {\r\n LoanPurpose = \"LoanPurpose\",\r\n loanPurposeV2 = \"LoanPurposeV2\",\r\n propertyType = \"PropertyType\",\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class PricingStepConfig extends StepConfig {\r\n\r\n noProductFoundMessageTitle: string = \"No Available Products\";\r\n\r\n noProductsFoundMessageText: string = \"We were not able to find any available products based on your loan criteria.\";\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = StepType.PricingStep;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n }\r\n}\r\n","import { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { NextStepDeciderType } from \"./next-step-decider-type.enum\";\r\n\r\nexport class SimpleNextStepDeciderConfig extends NextStepDeciderConfig {\r\n gotoStepPath: string | undefined;\r\n\r\n constructor(gotoStepPath: string) {\r\n super();\r\n this.gotoStepPath = gotoStepPath;\r\n this.deciderType = NextStepDeciderType.Simple;\r\n }\r\n}\r\n","import { SingleChoiceQuestion } from \"../single-choice-question.model\";\r\nimport { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { OptionsProviderTypes } from \"./options-providers/options-provider.factory\";\r\nimport { StepConfig } from \"./step-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport class SingleChoiceQuestionStepConfig extends StepConfig {\r\n\r\n question!: SingleChoiceQuestion | undefined;\r\n\r\n fieldToSetWithAnswer!: string;\r\n\r\n listOptionsVertically: boolean = false;\r\n\r\n optionsProviderType: OptionsProviderTypes | undefined | null = null;\r\n\r\n nameOfDefaultOptionToSetAndSkip: any | undefined | null = null;\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined,\r\n contextType: ContextType,\r\n question: SingleChoiceQuestion | undefined, nextStepDeciderConfig: NextStepDeciderConfig | undefined,\r\n stepType?: StepType\r\n ) {\r\n super(id, name, path, groupId, contextType);\r\n this.question = question;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n if (!stepType) {\r\n this.stepType = StepType.SingleChoiceQuestionStep;\r\n } else {\r\n this.stepType = stepType;\r\n }\r\n }\r\n}\r\n","import { ContextType } from \"./context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./next-step-decider-config.model\";\r\nimport { StepType } from \"./step-type.enum\";\r\n\r\nexport abstract class StepConfig {\r\n title: string = \"\";\r\n explanation: string = \"\";\r\n heading: string = \"\";\r\n\r\n id!: string;\r\n name: string | undefined;\r\n path!: string;\r\n\r\n groupId: number | undefined;\r\n\r\n stepType!: StepType;\r\n\r\n contextType!: ContextType;\r\n\r\n nextStepDeciderConfig: NextStepDeciderConfig | undefined;\r\n\r\n fieldConfig: any = {};\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined,\r\n contextType: ContextType) {\r\n this.id = id;\r\n this.name = name;\r\n this.path = path;\r\n this.groupId = groupId;\r\n this.contextType = contextType;\r\n }\r\n}\r\n","import { Type } from \"@angular/core\";\r\n\r\nexport class StepTypeConfig {\r\n\r\n path: string;\r\n component: Type;\r\n\r\n constructor(path: string, component: Type) {\r\n this.path = path;\r\n this.component = component;\r\n }\r\n}\r\n","\r\nexport enum StepType {\r\n SingleChoiceQuestionStep = 1,\r\n MyInfoStep = 2,\r\n AddressStep = 3,\r\n CreateAccount = 4,\r\n NumberOfBorrowersStep = 5,\r\n CreateCoBorrowersStep = 6,\r\n CurrentAddressStep = 7,\r\n OwnershipStatusStep = 8,\r\n AddressHistoryStep = 9,\r\n DigitalIncomeAndEmploymentStep = 10,\r\n ManualIncomeAndEmploymentStep = 11,\r\n DigitalAssetsStep = 12,\r\n ManualAssetsStep = 13,\r\n ReoStep = 14,\r\n VerifyCreditStep = 15,\r\n CreditScoresStep = 16,\r\n ReviewCreditStep = 17,\r\n CreditInquiryStep = 18,\r\n LoanTypeStep = 19,\r\n DeclarationsStep = 20,\r\n DemographicsStep = 21,\r\n EConsentStep = 22,\r\n ReviewApplicationStep = 23,\r\n SubmitApplicationStep = 24,\r\n SelectOriginatorStep = 25,\r\n MultiBorrowersAddressHistoryStep = 26,\r\n LoanCharacteristicsStep = 27,\r\n BorrowerCharacteristicsStep = 28,\r\n MilitaryServiceStep = 29,\r\n HoiStep = 34,\r\n PurchaseCreditsStep = 35,\r\n CheckListsStep = 36,\r\n GatherLeadSourceStep = 37,\r\n PricingStep = 38,\r\n PullExistingApplicationStep = 39,\r\n LinkLiabilitiesToReoStep = 40,\r\n HomeownershipEducationStep = 41,\r\n}\r\n\r\n\r\n","import { WizardGroupEnum } from \"../../enums/wizard-group-enum\";\r\nimport { WizardNavGroup } from \"../wizard-nav-group.model\";\r\nimport { NavigationType } from \"./nav-type.enum\";\r\nimport { StepConfig } from \"./step-config.model\";\r\n\r\nexport class WizardFlowConfig {\r\n steps: StepConfig[] = [];\r\n isDefault: boolean = false;\r\n stepGroups: WizardNavGroup[] = [];\r\n}\r\n\r\nexport class WizardFlowConfigs {\r\n applicationFlowConfig!: WizardFlowConfig;\r\n coApplicationFlowConfig!: WizardFlowConfig;\r\n registrationFlowConfig!: WizardFlowConfig;\r\n\r\n title: string = \"\";\r\n comment: string = \"\";\r\n guid: string = \"\";\r\n isDefault: boolean = false;\r\n userCreationAutoConfirmed: boolean = false;\r\n navigationType: NavigationType = NavigationType.Horizontal;\r\n\r\n hasProgressBar: boolean = true;\r\n\r\n constructor(applicationFlowConfig: WizardFlowConfig, coApplicationFlowConfig: WizardFlowConfig, registrationFlowConfig: WizardFlowConfig) {\r\n this.applicationFlowConfig = applicationFlowConfig;\r\n this.coApplicationFlowConfig = coApplicationFlowConfig;\r\n this.registrationFlowConfig = registrationFlowConfig;\r\n\r\n if (!this.applicationFlowConfig.stepGroups || !this.applicationFlowConfig.stepGroups.length) {\r\n this.applicationFlowConfig.stepGroups = this.getDefaultStepGroups();\r\n }\r\n }\r\n\r\n private getDefaultStepGroups(): WizardNavGroup[] {\r\n // Here you will return the nav groups\r\n const myInfoGroup = new WizardNavGroup(WizardGroupEnum.MyInfo, \"My Info\", \"user-svg-icon\", \"\");\r\n const myFinancesGroup = new WizardNavGroup(WizardGroupEnum.MyFinances, \"My Finances\", \"\", \"fa fa-money-bill-alt\");\r\n const myPropertyAndLoanGroup = new WizardNavGroup(WizardGroupEnum.PropertyAndLoan, \"Property and Loan\", \"\", \"fas fa-home\");\r\n const myDeclarationsGroup = new WizardNavGroup(WizardGroupEnum.Declarations, \"Declarations\", \"\", \"far fa-file-alt\");\r\n const myReviewAndSubmitGroup = new WizardNavGroup(WizardGroupEnum.ReviewAndSubmit, \"Review and Submit\", \"\", \"fas fa-check-square\");\r\n let navGroups: WizardNavGroup[] = [];\r\n navGroups.push(myInfoGroup);\r\n navGroups.push(myFinancesGroup);\r\n navGroups.push(myPropertyAndLoanGroup);\r\n navGroups.push(myDeclarationsGroup);\r\n navGroups.push(myReviewAndSubmitGroup);\r\n\r\n return navGroups;\r\n }\r\n}\r\n","import { AbstractValueAccessor } from \"projects/shared/abstract-value-accessor\";\r\nimport { FieldConfig } from \"./config/field-config-model\";\r\n\r\nexport class ConfigurableFieldHost extends AbstractValueAccessor {\r\n\r\n hasCustomFieldConfigEditor: boolean = false;\r\n\r\n protected _fieldsToConfig: any = {};\r\n\r\n set fieldConfig(value: any) {\r\n this._fieldsToConfig = value;\r\n }\r\n\r\n get fieldConfig(): any {\r\n return this._fieldsToConfig;\r\n }\r\n\r\n isHidden = (fieldName: string): boolean => {\r\n if (this.fieldConfig && this.fieldConfig[fieldName]) {\r\n return this.fieldConfig[fieldName].isHidden;\r\n }\r\n return false;\r\n }\r\n\r\n isRequired = (fieldName: string): boolean => {\r\n if (this.fieldConfig && this.fieldConfig[fieldName]) {\r\n return this.fieldConfig[fieldName].isRequired;\r\n }\r\n return true;\r\n }\r\n\r\n getLabel = (fieldName: string, defaultLabel: string): string => {\r\n if (this.fieldConfig && this.fieldConfig[fieldName]) {\r\n return this.fieldConfig[fieldName].displayName;\r\n }\r\n return defaultLabel;\r\n }\r\n\r\n getFieldsToConfig = (fieldConfig: any): FieldConfig[] => {\r\n let result: FieldConfig[] = [];\r\n Object.entries(fieldConfig).forEach(\r\n ([key, value]) => result.push(value));\r\n return result;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ConsentAuthorizationStepComponent } from \"../../wizard/wizard-steps/consent-authorization-step/consent-authorization-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class ConsentAuthorizationStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = ConsentAuthorizationStepComponent;\r\n }\r\n}\r\n","export class ContextBoundStepProperties {\r\n title: string = \"\"\r\n explanation: string = \"\";\r\n heading: string = \"\";\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CreateAccountStepComponent } from \"../../wizard/wizard-steps/create-account-step/create-account-step.component\";\r\nimport { Borrower } from \"../borrower-model\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CreateAccountStep extends WizardStepBase {\r\n\r\n borrower!: Borrower;\r\n\r\n configuresAddressHistory: boolean = true;\r\n\r\n userCreationAutoConfirmed: boolean = false;\r\n\r\n override get hasNextStep(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(id: string, name: string | undefined, path: string, borrower: Borrower, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CreateAccountStepComponent;\r\n this.borrower = borrower;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CreateMultipleCoBorrowersStepComponent } from \"../../wizard/wizard-steps/create-multiple-coborrowers/create-multiple-coborrowers-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CreateMultipleCoBorrowersStep extends WizardStepBase {\r\n\r\n restrictMiddleNameToSingleCharacter: boolean = false;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CreateMultipleCoBorrowersStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CreditInquiryStepComponent } from \"../../wizard/wizard-steps/credit-inquiry-step/credit-inquiry-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CreditInquiryStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CreditInquiryStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CreditScoresStepComponent } from \"../../wizard/wizard-steps/credit-scores-step/credit-scores-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CreditScoresStep extends WizardStepBase {\r\n\r\n useScoreIndicatorIcons: boolean = true;\r\n\r\n constructor(id: string, name: string | undefined, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CreditScoresStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { CurrentAddressComponent } from \"../../wizard/wizard-steps/current-address/current-address.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class CurrentAddressStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = CurrentAddressComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { DeclarationsStepComponent } from \"../../wizard/wizard-steps/declarations-step/declarations-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class DeclarationsStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = DeclarationsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { DemographicsStepComponent } from \"../../wizard/wizard-steps/demographics-step/demographics-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class DemographicsStep extends WizardStepBase {\r\n\r\n showOptionToNotProvideDemographicsInfo: boolean = true;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = DemographicsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { DigitalAssetsStepComponent } from \"../../wizard/wizard-steps/digital-assets-step/digital-assets-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class DigitalAssetsStep extends WizardStepBase {\r\n\r\n vendorToUse: string = \"FormFree\";\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = DigitalAssetsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { DigitalIncomeVerificationStepComponent } from \"../../wizard/wizard-steps/digital-income-verification-step/digital-income-verification-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class DigitalIncomeVerificationStep extends WizardStepBase {\r\n\r\n vendorToUse: string = \"TWN\";\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = DigitalIncomeVerificationStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { GatherLeadSourceStepComponent } from \"../../wizard/wizard-steps/gather-lead-source-step/gather-lead-source-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\nimport { Option } from \"../../models/wizard/option.model\";\r\n\r\nexport class GatherLeadSourceStep extends WizardStepBase {\r\n\r\n pickAgentReferralFromAList: boolean = true;\r\n\r\n leadSourceOptions: Option[] = [\r\n new Option('Social Media', 'Social Media', 'Social Media', 'Social Media'),\r\n new Option('Real Estate Agent', 'Real Estate Agent', 'Real Estate Agent', 'Real Estate Agent'),\r\n new Option('Internet', 'Internet', 'Internet', 'Internet'),\r\n new Option('Past Clients', 'Past Clients', 'Past Clients', 'Past Clients'),\r\n new Option('Radio', 'Radio', 'Radio', 'Radio'),\r\n new Option('Letter in the Mail', 'Letter in the Mail', 'Letter in the Mail', 'Letter in the Mail'),\r\n new Option('Other', 'Other', 'Other', 'Other')\r\n ];\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = GatherLeadSourceStepComponent;\r\n }\r\n}\r\n\r\n","import { ContextType } from \"./config/context-type.enum\";\r\nimport { NextStepDeciderConfig } from \"./config/next-step-decider-config.model\";\r\nimport { StepConfig } from \"./config/step-config.model\";\r\nimport { StepType } from \"./config/step-type.enum\";\r\n\r\nexport class GenericStepConfig extends StepConfig {\r\n\r\n constructor(id: string, name: string | undefined, path: string, groupId: number | undefined,\r\n stepType: StepType, nextStepDeciderConfig: NextStepDeciderConfig | undefined) {\r\n super(id, name, path, groupId, ContextType.None);\r\n this.stepType = stepType;\r\n this.contextType = ContextType.None;\r\n this.nextStepDeciderConfig = nextStepDeciderConfig;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { HoiStepComponent } from \"../../wizard/wizard-steps/hoi-step/hoi-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class HoiStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = HoiStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { HomeownershipEducationStepComponent } from \"../../wizard/wizard-steps/homeownership-education-step/homeownership-education-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class HomeownershipEducationStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = HomeownershipEducationStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { IncomeStepComponent } from \"../../wizard/wizard-steps/income-step/income-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class IncomeStep extends WizardStepBase {\r\n\r\n enforceAtLeast2YearsOfEmploymentHistory: boolean = false;\r\n\r\n w2EmploymentActionLabel: string;\r\n independentContractorActionLabel: string;\r\n militaryPayActionLabel: string;\r\n rentalIncomeActionLabel: string;\r\n socialSecurityIncomeActionLabel: string;\r\n pensionIncomeActionLabel: string;\r\n businessSelfEmploymentActionLabel: string;\r\n otherIncomeActionLabel: string;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = IncomeStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { LinkLiabilitiesToReoStepComponent } from \"../../wizard/wizard-steps/link-liabilities-to-reo-step/link-liabilities-to-reo-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class LinkLiabilitiesToReoStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = LinkLiabilitiesToReoStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { LoanCharacteristicsStepComponent } from \"../../wizard/wizard-steps/loan-characteristics-step/loan-characteristics-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class LoanCharacteristicsStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = LoanCharacteristicsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { MilitaryServiceStepComponent } from \"../../wizard/military-service-step/military-service-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class MilitaryServiceStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = MilitaryServiceStepComponent;\r\n }\r\n}","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { MultiBorrowersAddressHistoryComponent } from \"../../wizard/wizard-steps/multiborrowers-address-history-step/multiborrowers-address-history-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class MultiBorrowersAddressHistoryStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = MultiBorrowersAddressHistoryComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { MyInfoStepComponent } from \"../../wizard/wizard-steps/my-info-step/my-info-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class MyInfoStep extends WizardStepBase {\r\n\r\n configuresAddressHistory: boolean = true;\r\n\r\n configuresCoborrowers: boolean = true;\r\n\r\n restrictMiddleNameToSingleCharacter: boolean = false;\r\n\r\n borrowerFieldsConfig: any = {};\r\n\r\n addressFieldsConfig: any = {};\r\n\r\n constructor(id: string, name: string | undefined, path: string, nextStepDecider?: IDecideNextStep | undefined) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = MyInfoStepComponent;\r\n this.hasCustomFieldConfigEditor = true;\r\n }\r\n\r\n get fieldConfig() {\r\n return {...this.borrowerFieldsConfig, ...this.addressFieldsConfig};\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { NumberOfBorrowersComponent } from \"../../wizard/wizard-steps/number-of-borrowers/number-of-borrowers.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class NumberOfBorrowersStep extends WizardStepBase {\r\n\r\n constructor(id: string, name: string | undefined, path: string, nextStepDecider?: IDecideNextStep | undefined) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = NumberOfBorrowersComponent;\r\n }\r\n}\r\n","export class Option {\r\n name: string = \"\";\r\n text: string = \"\";\r\n explanation: string = \"\";\r\n value: any = \"\";\r\n iconName: string | undefined;\r\n selected: boolean;\r\n iconType: string = \"svg\";\r\n iconClass: string | undefined;\r\n\r\n constructor(name: string, text: string, explanation: string, value: any, iconName?: string) {\r\n this.text = text;\r\n this.explanation = explanation;\r\n this.value = value;\r\n this.selected = false;\r\n this.name = name;\r\n this.iconName = iconName;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { OwnRentComponent } from \"../../wizard/wizard-steps/own-rent/own-rent.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class OwnRentStep extends WizardStepBase {\r\n\r\n ownActionLabel: string = \"Own\";\r\n rentActionLabel: string = \"Rent\";\r\n liveRentFreeActionLabel: \"Live Rent Free\";\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = OwnRentComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { PricingStepComponent } from \"../../wizard/wizard-steps/pricing-step/pricing-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class PricingStep extends WizardStepBase {\r\n\r\n noProductFoundMessageTitle: string = \"No Available Products\";\r\n\r\n noProductsFoundMessageText: string = \"We were not able to find any available products based on your loan criteria.\";\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = PricingStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { PullExistingApplicationStepComponent } from \"../../wizard/wizard-steps/pull-existing-application-step/pull-existing-application-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class PullExistingApplicationStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = PullExistingApplicationStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { PurchaseCreditsStepComponent } from \"../../wizard/wizard-steps/purchase-credits-step/purchase-credits-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class PurchaseCreditsStep extends WizardStepBase {\r\n\r\n underContractActionLabel: string = \"Under Contract\";\r\n lookingToGetPreApprovedActionLabel: string = \"Looking to Get Pre-approved\";\r\n subjectPropertyAddressTbdLabel: string = \"TBD\";\r\n\r\n restrictStatesToLicenseStates: boolean = false;\r\n requireUserToEnterZipcode: boolean = false;\r\n\r\n autoSelectLookingToGetPreApproved: boolean = false;\r\n autoSelectTbdForSubjectPropertyAddress: boolean = false;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = PurchaseCreditsStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { RealEstateOwnedStepComponent } from \"../../wizard/wizard-steps/reo-step/reo-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class RealEstateOwnedStep extends WizardStepBase {\r\n\r\n addRealEstateActionLabel: string;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = RealEstateOwnedStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ReviewApplicationStepComponent } from \"../../wizard/wizard-steps/review-application-step/review-application-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class ReviewApplicationStep extends WizardStepBase {\r\n\r\n allowEditingOfSubjectProperty: boolean = true;\r\n\r\n showSubjectPropertyDetails: boolean = false;\r\n\r\n loanDetailsSectionTitle: string = \"Loan Details\";\r\n\r\n override get hasNextStep(): boolean {\r\n return true;\r\n }\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = ReviewApplicationStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ReviewCreditStepComponent } from \"../../wizard/wizard-steps/review-credit-step/review-credit-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class ReviewCreditStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = ReviewCreditStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { SelectOriginatorStepComponent } from \"../../wizard/wizard-steps/select-originator-step/select-originator-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class SelectOriginatorStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = SelectOriginatorStepComponent;\r\n }\r\n}\r\n","import { Type } from \"@angular/core\";\r\nimport { ContextExtractor } from \"../../services/context-extractor\";\r\nimport { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { SingleChoiceQuestionStepComponent } from \"../../wizard/wizard-steps/single-choice-question-step/single-choice-question-step.component\";\r\nimport { BorrowerStepStatus } from \"../borrower-step-status.model\";\r\nimport { WizardFlowContext } from \"../wizard-flow-context.model\";\r\nimport { ContextType } from \"./config/context-type.enum\";\r\nimport { Option } from \"./option.model\";\r\nimport { SingleChoiceQuestion } from \"./single-choice-question.model\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\nimport { OptionsProviderTypes } from \"./config/options-providers/options-provider.factory\";\r\n\r\nexport class SingleChoiceQuestionStep extends WizardStepBase {\r\n\r\n question: SingleChoiceQuestion | undefined;\r\n\r\n private readonly _fieldToSetWithAnswer: string;\r\n private readonly _wizardFlowContext: WizardFlowContext;\r\n private readonly _contextType: ContextType;\r\n\r\n private _selectedOption: Option | undefined;\r\n\r\n listOptionsVertically: boolean = false;\r\n\r\n optionsProviderType: OptionsProviderTypes | undefined | null;\r\n\r\n nameOfDefaultOptionToSetAndSkip: any | undefined | null = null;\r\n\r\n public get selectedOption(): Option | undefined {\r\n return this._selectedOption;\r\n }\r\n\r\n override get requiresNextButton(): boolean {\r\n return !!this._selectedOption;\r\n }\r\n\r\n setModelFieldValue = (answer: any) => {\r\n let model = ContextExtractor.extractContext(this._wizardFlowContext, this._contextType);\r\n model[this._fieldToSetWithAnswer] = answer;\r\n this.setBorrowerStatusForStep(answer);\r\n this.selectOption();\r\n }\r\n\r\n selectOptionByDefaultIfSetOnModel = () => {\r\n this.selectOption();\r\n }\r\n\r\n setModelFieldValueFromStepStatus = () => {\r\n // get the value from status\r\n let borrowerStepStatus = this._wizardFlowContext.borrowerAppStatus.details.borrowerStepStatuses.\r\n find(b => b.borrowerId == this._wizardFlowContext.currentBorrower.borrowerId);\r\n if (!borrowerStepStatus) {\r\n return;\r\n }\r\n if (borrowerStepStatus.stepStatusValues[this.id]) {\r\n if (borrowerStepStatus.stepStatusValues[this.id][this._fieldToSetWithAnswer]) {\r\n this.setModelFieldValue(borrowerStepStatus.stepStatusValues[this.id][this._fieldToSetWithAnswer]);\r\n }\r\n }\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return this._selectedOption !== undefined;\r\n }\r\n\r\n constructor(id: string, name: string | undefined, path: string, question: SingleChoiceQuestion | undefined,\r\n nextStepDecider: IDecideNextStep | undefined, fieldToSetWithAnswer: string,\r\n wizardFlowContext: WizardFlowContext, contextType: ContextType, component: Type) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = component;\r\n this.question = question;\r\n this._fieldToSetWithAnswer = fieldToSetWithAnswer;\r\n this._wizardFlowContext = wizardFlowContext;\r\n this._contextType = contextType;\r\n this.selectOption();\r\n }\r\n\r\n private setBorrowerStatusForStep = (answer: any) => {\r\n let borrowerStepStatus = this._wizardFlowContext.borrowerAppStatus.details.borrowerStepStatuses.find(b => b.borrowerId ==\r\n this._wizardFlowContext.currentBorrower.borrowerId);\r\n if (!borrowerStepStatus) {\r\n borrowerStepStatus = new BorrowerStepStatus(this._wizardFlowContext.currentBorrower.borrowerId!);\r\n this._wizardFlowContext.borrowerAppStatus.details.borrowerStepStatuses.push(borrowerStepStatus);\r\n }\r\n if (!borrowerStepStatus.stepStatusValues) {\r\n borrowerStepStatus.stepStatusValues = {};\r\n }\r\n borrowerStepStatus.stepStatusValues[this.id] = {};\r\n borrowerStepStatus.stepStatusValues[this.id][this._fieldToSetWithAnswer] = answer;\r\n }\r\n\r\n private selectOption = () => {\r\n let model = ContextExtractor.extractContext(this._wizardFlowContext, this._contextType);\r\n if (!model) {\r\n return;\r\n }\r\n if (this.question) {\r\n for (let option of this.question.options) {\r\n option.selected = model[this._fieldToSetWithAnswer] == option.value;\r\n if (option.selected) {\r\n this._selectedOption = option;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Option } from \"./option.model\";\r\n\r\nexport class SingleChoiceQuestion {\r\n text: string = \"\";\r\n explanation: string = \"\";\r\n options: Option[] = [];\r\n\r\n constructor(text: string, explanation: string, options: Option[]) {\r\n this.text = text;\r\n this.explanation = explanation;\r\n this.options = options;\r\n }\r\n}\r\n","export class StepExpression\r\n{\r\n ifCondition!: string;\r\n goToPath!: string;\r\n\r\n constructor(ifCondition: string, gotoPath: string) {\r\n this.ifCondition = ifCondition;\r\n this.goToPath = gotoPath;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { SubmitApplicationStepComponent } from \"../../wizard/wizard-steps/submit-application-step/submit-application-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class SubmitApplicationStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = SubmitApplicationStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { TypeOfLoanStepComponent } from \"../../wizard/wizard-steps/type-of-loan-step/type-of-loan-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class TypeOfLoanStep extends WizardStepBase {\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = TypeOfLoanStepComponent;\r\n }\r\n}\r\n","import { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { VerifyCreditStepComponent } from \"../../wizard/wizard-steps/verify-credit-step/verify-credit-step.component\";\r\nimport { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class VerifyCreditStep extends WizardStepBase {\r\n\r\n hideRealTimeCreditRunOption: boolean = false;\r\n\r\n constructor(id: string, name: string, path: string, nextStepDecider?: IDecideNextStep) {\r\n super(id, name, path, nextStepDecider);\r\n this.component = VerifyCreditStepComponent;\r\n }\r\n}\r\n","import { WizardStepBase } from \"./wizard-step-base.model\";\r\n\r\nexport class WizardFlow {\r\n steps: WizardStepBase[] = [];\r\n entryPath: string = \"\";\r\n}\r\n","export class WizardNavGroup {\r\n id: number | undefined;\r\n title: string = '';\r\n svgIconName: string = '';\r\n iconClass: string = '';\r\n\r\n constructor(\r\n id: number,\r\n title: string,\r\n svgIconName: string,\r\n iconClass: string\r\n ) {\r\n this.id = id;\r\n this.title = title;\r\n this.svgIconName = svgIconName;\r\n this.iconClass = iconClass;\r\n }\r\n}\r\n","import { Type } from \"@angular/core\";\r\nimport { IDecideNextStep } from \"../../services/wizard/next-step-decider/next-step-decider.interface\";\r\nimport { ConfigurableFieldHost } from \"./configurable-field-host.model\";\r\n\r\nexport abstract class WizardStepBase extends ConfigurableFieldHost {\r\n id!: string;\r\n name: string | undefined;\r\n path: string;\r\n title: string;\r\n explanation: string;\r\n heading: string;\r\n component: Type | undefined;\r\n previousStep: any | undefined;\r\n inEditMode: boolean = false;\r\n groupId!: number | undefined;\r\n\r\n private readonly _nextStepDecider: IDecideNextStep | undefined;\r\n\r\n private _requiresNextButton: boolean = true;\r\n\r\n public get hasPreviousStep(): boolean {\r\n return this.previousStep !== undefined && this.previousStep !== null;\r\n }\r\n\r\n public get hasNextStep(): boolean {\r\n return this._nextStepDecider !== undefined && this._nextStepDecider !== null;\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return true;\r\n }\r\n\r\n get requiresNextButton(): boolean {\r\n return this._requiresNextButton;\r\n }\r\n\r\n set requiresNextButton(value: boolean) {\r\n this._requiresNextButton = value;\r\n }\r\n\r\n constructor(id: string, name: string | undefined, path: string, nextStepDecider?: IDecideNextStep | undefined) {\r\n super();\r\n this.id = id;\r\n this.name = name;\r\n this._nextStepDecider = nextStepDecider;\r\n this.path = path;\r\n this.title = \"\";\r\n this.explanation = \"\";\r\n this.heading = \"\";\r\n }\r\n\r\n nextStepPath = (): string | undefined => {\r\n let nextStepPath: string | undefined = \"\";\r\n if (this._nextStepDecider) {\r\n nextStepPath = this._nextStepDecider.nextStepPath();\r\n }\r\n return nextStepPath;\r\n }\r\n}\r\n","import { Component, OnInit, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { LocalStorageService } from '../services/local-storage.service';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../services/wizard/wizard-flow-service.base';\r\nimport { WizardMainBaseComponent } from '../wizard/wizard-main/wizard-main-base.component';\r\nimport { MortgageApplicationService } from '../services/mortgage-application.service';\r\n\r\n@Component({\r\n selector: 'mortgage-application',\r\n templateUrl: '../wizard/wizard-main/wizard-main.component.html'\r\n})\r\n\r\nexport class MortgageApplicationComponent extends WizardMainBaseComponent implements OnInit {\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _authService: AuthService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _viewContainerRef: ViewContainerRef,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly localStorageService: LocalStorageService,\r\n private readonly navigationService: NavigationService,\r\n private readonly mortgageApplicationService: MortgageApplicationService) {\r\n super(_wizardFlowService, _utilsService, _authService, _environment, _viewContainerRef,\r\n activatedRoute, localStorageService, navigationService, mortgageApplicationService);\r\n }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PortalContent } from \"../../models/borrower-portal/portal-content-model-model\";\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\nimport { NotificationService } from '../../services/notification.service';\r\n\r\n@Component({\r\n selector: 'portal-about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.scss'],\r\n})\r\n\r\nexport class PortalAboutComponent implements OnInit {\r\n\r\n portalContent: PortalContent = new PortalContent();\r\n aboutUsContent: any;\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notifyService: NotificationService,\r\n private sanitizer: DomSanitizer,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this._spinner.show();\r\n this._portalService.getPortalContent().subscribe({\r\n next: (portalContent) => {\r\n this.portalContent = portalContent;\r\n this.aboutUsContent = this.sanitizer.bypassSecurityTrustHtml(this.portalContent.aboutUsContent);\r\n this._spinner.hide();\r\n },\r\n error: (err) => {\r\n this._spinner.hide();\r\n this._notifyService.showError(err.message || err, \"Error!\");\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'agent-contact-info',\r\n templateUrl: 'agent-contact-info.component.html',\r\n styleUrls: ['./agent-contact-info.component.scss']\r\n})\r\nexport class AgentContactInfoComponent implements OnInit {\r\n\r\n @Input()\r\n agent: AgentContactInfo;\r\n\r\n @Input()\r\n agentAddressHidden: boolean = true;\r\n\r\n @Output()\r\n agentNameClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n onAgentNameClicked = () => {\r\n this.agentNameClicked.emit(this.agent);\r\n }\r\n}\r\n\r\nexport class AgentContactInfo {\r\n agentAvatarUrl: string;\r\n firstName: string;\r\n lastName: string;\r\n agentNMLS: string;\r\n companyNMLS: string;\r\n phoneNumber: string;\r\n faxNumber: string;\r\n emailAddress: string;\r\n address: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n role: string;\r\n calendarLink: string | undefined;\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{agent?.firstName }}\r\n {{ agent?.lastName }}\r\n \r\n

\r\n \r\n NMLS#: {{agent.agentNMLS || agent.companyNMLS}}\r\n \r\n

\r\n

\r\n Role: {{agent.role}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ agent.address || \"No Street Address\" }}\r\n \r\n {{agent.city ? agent.city + \",\" : \"\"}}{{ agent.state }}{{ agent.zip }}\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PortalScope } from '../../login/login.component';\r\nimport { LocalStorageService } from '../../services/local-storage.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { PortalBaseComponent } from '../portal-base.component';\r\nimport { PortalServiceFactory } from '../../services/portal-service.factory';\r\n\r\n@Component({\r\n selector: 'app-confirm-e-signer',\r\n templateUrl: './confirm-e-signer.component.html',\r\n styleUrls: ['./confirm-e-signer.component.scss']\r\n})\r\nexport class ConfirmESignerComponent extends PortalBaseComponent implements OnInit {\r\n\r\n isAgent: boolean = false;\r\n\r\n constructor(\r\n private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _router: Router,\r\n private readonly _localStorage: LocalStorageService\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n let portalScope = this._localStorage.getItem(\"portalScope\") as PortalScope;\r\n if (portalScope && portalScope == PortalScope.Agent) {\r\n this.isAgent = true;\r\n }\r\n\r\n const taskId = Number(this._activatedRoute.snapshot.queryParamMap.get('loanDocTaskId'));\r\n const action = this._activatedRoute.snapshot.queryParamMap.get('event');\r\n const loanId = Number(this._activatedRoute.snapshot.paramMap.get('id'));\r\n\r\n this.portalService.onSignerViewSubmitted(taskId, action)\r\n .subscribe({\r\n next: (response) => {\r\n this._spinner.hide();\r\n window.parent.postMessage({\r\n shouldCloseEsignDocIframe: true,\r\n response: response\r\n }, '*');\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Accept E-Sign Consent failed');\r\n this._spinner.hide();\r\n setTimeout(() => {\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/loans`, loanId], { queryParams: { companyGuid: this._navigationService.companyGuid } });\r\n }, 2000)\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

E-sign Document

\r\n

\r\n Congratulations! You've successfully signed your document.\r\n

\r\n Going Back to Your Loan\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PortalScope } from '../../login/login.component';\r\nimport { NavigationService } from '../../services/navigation.service';\r\n\r\n@Component({\r\n selector: 'confirm-registration',\r\n templateUrl: 'confirm-registration.component.html'\r\n})\r\nexport class ConfirmRegistrationComponent implements OnInit {\r\n\r\n private _portalScopeSubscription: any;\r\n\r\n constructor(\r\n private readonly _navigationService: NavigationService,\r\n private readonly _activatedRoute: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n this._portalScopeSubscription = this._activatedRoute.data.subscribe((data) => {\r\n let portalScope = data[\"scope\"] as PortalScope;\r\n this._navigationService.navigateToPath(\"/confirm-account\", true, { goToPortal: portalScope || PortalScope.Borrower });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._portalScopeSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { AssetService } from '../../services/asset-service';\r\nimport TruvBridge, { SuccessMetadata } from '@truv/bridge';\r\nimport { BorrowerVerificationService } from '../../services/borrower-verification.service';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'digital-assets-verification',\r\n templateUrl: './digital-assets-verification.component.html',\r\n styleUrls: ['./digital-assets-verification.component.scss']\r\n})\r\nexport class DigitalAssetsVerificationComponent implements OnInit, OnDestroy {\r\n\r\n @Input() applicationId: number;\r\n @Input() borrowerId: number;\r\n\r\n @Input() taskId: number | null | undefined;\r\n\r\n @Input() provider: string = \"FormFree\";\r\n @Input() thirdPartyEnrollmentWidget: string = \"\";\r\n\r\n @Output() complete: EventEmitter = new EventEmitter();\r\n @Output() error: EventEmitter = new EventEmitter();\r\n @Output() close: EventEmitter = new EventEmitter();\r\n\r\n private _truvBridge: any;\r\n\r\n private _componentIsBeingDestroyed: boolean = false;\r\n\r\n private _linkCreated: boolean = false;\r\n\r\n private _verificationMarkedAsComplete: boolean = false;\r\n\r\n constructor(\r\n private readonly _assetService: AssetService,\r\n private readonly _borrowerVerificationService: BorrowerVerificationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notificationService: NotificationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.provider == \"FormFree\") {\r\n this.initializeFormFree();\r\n }\r\n else if (this.provider == \"Truv\") {\r\n this.initializeTruvBridge();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._componentIsBeingDestroyed = true;\r\n this._truvBridge?.close();\r\n }\r\n\r\n private initializeFormFree = () => {\r\n let htmlWidgetSrc = this.thirdPartyEnrollmentWidget;\r\n htmlWidgetSrc = htmlWidgetSrc.replace(\r\n 'element.parentNode.removeChild(element);',\r\n ''\r\n );\r\n\r\n document.getElementById(\"digital-assets-order-container\").innerHTML = htmlWidgetSrc\r\n window.addEventListener('message', this.messageListener);\r\n }\r\n\r\n private initializeTruvBridge = () => {\r\n setTimeout(() => {\r\n this._truvBridge = TruvBridge.init({\r\n bridgeToken: this.thirdPartyEnrollmentWidget,\r\n position: {\r\n type: 'inline',\r\n container: document.querySelector('#digital-assets-order-container')\r\n },\r\n onLoad: () => {\r\n // Optional, called when Bridge loads\r\n console.log('Bridge loaded')\r\n },\r\n onSuccess: (public_token: string, metadata: SuccessMetadata) => {\r\n console.log('success handler')\r\n // Send the public_token to your server to exchange for an access_token\r\n // and retrieve payroll data.\r\n // The metadata object contains info about the Link.\r\n console.log(\"token: \", public_token)\r\n console.log(\"metadata: \", metadata)\r\n },\r\n onEvent: async (event_type: string, payload: any) => {\r\n // all events fire this function. event_type indicates what the event is,\r\n // payload has additional information depending on the event.\r\n if (event_type == \"LINK_CREATED\") {\r\n this._linkCreated = true;\r\n } else if (event_type == \"CLOSE\") {\r\n if (this._linkCreated) {\r\n await this.markVerificationAsComplete();\r\n }\r\n }\r\n console.log('event: ', event_type)\r\n console.log('payload: ', payload)\r\n\r\n if (event_type == \"ERROR\") {\r\n if (payload?.error?.error_type == 'SESSION_EXPIRED') {\r\n // Bridge token is expired\r\n }\r\n }\r\n },\r\n onClose: () => {\r\n // Optional, called when Bridge is closed by the user.\r\n console.log('Bridge closed');\r\n if (!this._componentIsBeingDestroyed) {\r\n this.close.emit();\r\n }\r\n }\r\n });\r\n\r\n this._truvBridge.open();\r\n }, 100);\r\n }\r\n\r\n private markVerificationAsComplete = async () => {\r\n try {\r\n if (this.taskId) {\r\n await firstValueFrom(this._borrowerVerificationService.markBorrowerVerificationTaskComplete(this.taskId));\r\n } else {\r\n await firstValueFrom(this._assetService.markFormFreeForBorrowerComplete(this.borrowerId, this.applicationId));\r\n }\r\n this.complete.emit();\r\n } catch (error) {\r\n this._notificationService.showError(error.message || \"An error occurred while sharing assets digitally.\", \"Error!\");\r\n this.error.emit();\r\n } finally {\r\n this._spinner.hide();\r\n }\r\n }\r\n\r\n private messageListener = async (msg: any) => {\r\n // Doing this to avoid multiple calls to markVerificationAsComplete, since I saw this message being sent multiple times\r\n if (msg.data === 'closeFrame' && !this._verificationMarkedAsComplete) {\r\n await this.markVerificationAsComplete();\r\n this._verificationMarkedAsComplete = true;\r\n\r\n window.removeEventListener('message', this.messageListener);\r\n }\r\n };\r\n}\r\n","
\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport TruvBridge, { SuccessMetadata } from '@truv/bridge';\r\nimport { BorrowerVerificationService } from '../../services/borrower-verification.service';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { IncomeService } from '../../services/income-service';\r\n\r\n@Component({\r\n selector: 'digital-income-employment-verification',\r\n templateUrl: './digital-income-employment-verification.component.html',\r\n styleUrls: ['./digital-income-employment-verification.component.scss']\r\n})\r\nexport class DigitalIncomeEmploymentVerificationComponent implements OnInit, OnDestroy {\r\n\r\n @Input() applicationId: number;\r\n @Input() borrowerId: number;\r\n\r\n @Input() taskId: number | null | undefined;\r\n\r\n @Input() provider: string = \"Truv\";\r\n @Input() thirdPartyEnrollmentWidget: string = \"\";\r\n\r\n @Output() complete: EventEmitter = new EventEmitter();\r\n @Output() error: EventEmitter = new EventEmitter();\r\n @Output() close: EventEmitter = new EventEmitter();\r\n\r\n private _truvBridge: any;\r\n\r\n private _componentIsBeingDestroyed: boolean = false;\r\n\r\n private _linkCreated: boolean = false;\r\n\r\n constructor(\r\n private readonly _incomeService: IncomeService,\r\n private readonly _borrowerVerificationService: BorrowerVerificationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notificationService: NotificationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.provider == \"FormFree\") {\r\n this.initializeFormFree();\r\n } else if (this.provider == \"Truv\") {\r\n this.initializeTruvBridge();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._componentIsBeingDestroyed = true;\r\n this._truvBridge?.close();\r\n }\r\n\r\n private initializeFormFree = () => {\r\n let htmlWidgetSrc = this.thirdPartyEnrollmentWidget;\r\n htmlWidgetSrc = htmlWidgetSrc.replace(\r\n 'element.parentNode.removeChild(element);',\r\n ''\r\n );\r\n\r\n document.getElementById(\"digital-income-employment-order-container\").innerHTML = htmlWidgetSrc\r\n window.addEventListener('message', this.messageListener);\r\n }\r\n\r\n private initializeTruvBridge = () => {\r\n setTimeout(() => {\r\n this._truvBridge = TruvBridge.init({\r\n bridgeToken: this.thirdPartyEnrollmentWidget,\r\n position: {\r\n type: 'inline',\r\n container: document.querySelector('#digital-income-employment-order-container')\r\n },\r\n onLoad: () => {\r\n // Optional, called when Bridge loads\r\n console.log('Bridge loaded');\r\n var iframe = document.getElementById(\"citadel-widget-flow\");\r\n },\r\n onSuccess: (public_token: string, metadata: SuccessMetadata) => {\r\n console.log('success handler')\r\n // Send the public_token to your server to exchange for an access_token\r\n // and retrieve payroll data.\r\n // The metadata object contains info about the Link.\r\n console.log(\"token: \", public_token)\r\n console.log(\"metadata: \", metadata)\r\n },\r\n onEvent: async (event_type: string, payload: any) => {\r\n // all events fire this function. event_type indicates what the event is,\r\n // payload has additional information depending on the event.\r\n if (event_type == \"LINK_CREATED\") {\r\n this._linkCreated = true;\r\n } else if (event_type == \"CLOSE\") {\r\n if (this._linkCreated) {\r\n await this.markVerificationAsComplete();\r\n }\r\n }\r\n console.log('event: ', event_type)\r\n console.log('payload: ', payload)\r\n\r\n if (event_type == \"ERROR\") {\r\n if (payload?.error?.error_type == 'SESSION_EXPIRED') {\r\n // Bridge token is expired\r\n }\r\n }\r\n },\r\n onClose: () => {\r\n // Optional, called when Bridge is closed by the user.\r\n console.log('Bridge closed');\r\n if (!this._componentIsBeingDestroyed) {\r\n this.close.emit();\r\n }\r\n }\r\n });\r\n\r\n this._truvBridge.open();\r\n }, 100);\r\n }\r\n\r\n private markVerificationAsComplete = async () => {\r\n try {\r\n if (this.taskId) {\r\n await firstValueFrom(this._borrowerVerificationService.markBorrowerVerificationTaskComplete(this.taskId));\r\n } else {\r\n await firstValueFrom(this._incomeService.markFormFreeForBorrowerComplete(this.borrowerId, this.applicationId));\r\n }\r\n this.complete.emit();\r\n } catch (error) {\r\n this._notificationService.showError(error.message || \"An error occurred while verifying income/employment digitally.\", \"Error!\");\r\n this.error.emit();\r\n } finally {\r\n this._spinner.hide();\r\n }\r\n }\r\n\r\n private messageListener = async (msg: any) => {\r\n if (msg.data === 'closeFrame') {\r\n await this.markVerificationAsComplete();\r\n\r\n window.removeEventListener('message', this.messageListener);\r\n }\r\n };\r\n}\r\n","
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PortalServiceFactory } from '../../services/portal-service.factory';\r\nimport { LocalStorageService } from '../../services/local-storage.service';\r\nimport { PortalBaseComponent } from '../portal-base.component';\r\nimport { PortalScope } from '../../login/login.component';\r\n\r\n@Component({\r\n selector: 'e-sign-via-token-confirmation',\r\n templateUrl: './e-sign-via-token-confirmation.component.html',\r\n styleUrls: ['./e-sign-via-token-confirmation.component.scss'],\r\n})\r\nexport class ESignViaTokenConfirmationComponent\r\n extends PortalBaseComponent\r\n implements OnInit {\r\n\r\n isAgent: boolean = false;\r\n\r\n protected taskNumber: string;\r\n protected allTasksCount: string;\r\n\r\n protected messageToUserAfterEsign: string = '';\r\n protected messageTitleToUserAfterEsign: string = '';\r\n\r\n private _orderId: number;\r\n\r\n constructor(\r\n private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _localStorage: LocalStorageService\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit(): void {\r\n let portalScope = this._localStorage.getItem('portalScope') as PortalScope;\r\n if (portalScope && portalScope == PortalScope.Agent) {\r\n this.isAgent = true;\r\n }\r\n\r\n const eSignToken = this._activatedRoute.snapshot.paramMap.get('token');\r\n this.taskNumber = this._activatedRoute.snapshot.paramMap.get('taskNumber');\r\n this.allTasksCount = this._activatedRoute.snapshot.paramMap.get('allTasksCount');\r\n this._orderId = Number(this._activatedRoute.snapshot.paramMap.get('orderId'));\r\n\r\n if (this.taskNumber == this.allTasksCount) {\r\n this.messageToUserAfterEsign = `Congratulations - You've successfully signed all your documents`;\r\n this.messageTitleToUserAfterEsign = 'You can now close this browser window.';\r\n } else {\r\n this.messageToUserAfterEsign = `You've successfully signed ${this.taskNumber} of ${this.allTasksCount} documents`;\r\n this.messageTitleToUserAfterEsign = `Please wait while we load the next document...`;\r\n }\r\n const loanDocTaskId = Number(\r\n this._activatedRoute.snapshot.queryParamMap.get('loanDocTaskId')\r\n );\r\n const action = this._activatedRoute.snapshot.queryParamMap.get('event');\r\n\r\n this.portalService\r\n .onSignerViewSubmittedForAnonymousEsign(eSignToken, loanDocTaskId, action)\r\n .subscribe({\r\n next: (response) => {\r\n this._spinner.hide();\r\n window.parent.postMessage(\r\n {\r\n shouldCloseEsignDocIframe: true,\r\n orderId: this._orderId,\r\n response: response,\r\n },\r\n '*'\r\n );\r\n },\r\n error: (error) => {\r\n console.error(\r\n error.error.message\r\n ? error.error.message\r\n : 'E-sign confirmation failed.'\r\n );\r\n this._spinner.hide();\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
{{messageTitleToUserAfterEsign}}
\r\n {{messageToUserAfterEsign}}\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, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { PortalScope } from '../../login/login.component';\r\nimport { Constants } from '../../services/constants';\r\nimport { PortalServiceFactory } from '../../services/portal-service.factory';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\nimport { Observer, firstValueFrom } from 'rxjs';\r\nimport { Alert } from 'projects/shared/models/alert.model';\r\nimport { AlertType } from 'projects/shared/models/alert-type.enum';\r\nimport { EsignOrder, ValidateESignPropertyInfoResponse } from '../../models/e-sign/validate-esign-property-info.model';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { CreateSignerViewResponse } from '../../models/e-sign/create-signer-view-response.model';\r\nimport { OpenSignerViewRequest } from '../../models/open-signer-view-request.model';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'e-sign-via-token',\r\n templateUrl: 'e-sign-via-token.component.html',\r\n styleUrls: ['./e-sign-via-token.component.scss'],\r\n})\r\nexport class ESignViaTokenComponent implements OnInit {\r\n \r\n @ViewChild('loanValidationForm')\r\n loanValidationForm: NgForm;\r\n\r\n protected userScope: PortalScope = PortalScope.Borrower;\r\n\r\n protected alert: Alert;\r\n protected loadingMessage: string;\r\n\r\n protected isLoading: boolean = false;\r\n protected readyToSign: boolean = false;\r\n protected needEconsent: boolean = false;\r\n protected needToValidateLoan: boolean = false;\r\n\r\n protected zipCodePlaceHolder = 'XXXXX';\r\n protected zipCodeMask = '00000';\r\n protected zipCodePattern = '^[0-9]{5}?$';\r\n\r\n protected ssnPlaceHolder = 'XXXX';\r\n protected ssnMask = '0000';\r\n protected ssnPattern = '^[0-9]{4}?$';\r\n\r\n protected subjectPropertyZipCode: string;\r\n protected borrowerSsn: string;\r\n\r\n protected initialToken: string;\r\n\r\n protected signerViewUrl: SafeResourceUrl;\r\n protected documentSigningVendor: string;\r\n protected econsentGiven: boolean = false;\r\n\r\n protected isPropertyZipRequired?: boolean = false;\r\n protected isLast4DigitsOfSsnRequired?: boolean = false;\r\n\r\n protected esignOrderPackage: ValidateESignPropertyInfoResponse;\r\n\r\n private readonly _portalService: BasePortalService;\r\n\r\n private _ordersToSign: EsignOrder[] = [];\r\n\r\n private _indexOfCurrentOrder: number = 0;\r\n\r\n private _finishedOrderIds: number[] = [];\r\n\r\n constructor(\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _portalServiceFactory: PortalServiceFactory,\r\n private readonly _domSanitizer: DomSanitizer,\r\n private readonly _authService: AuthService\r\n ) {\r\n if (this._activatedRoute.snapshot.url.find((s) => s.path.includes('agent-portal'))) {\r\n this.userScope = PortalScope.Agent;\r\n }\r\n this._portalService = this._portalServiceFactory.createByScope(\r\n this.userScope\r\n );\r\n\r\n this._authService.logout();\r\n\r\n this._activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n this._activatedRoute.queryParams.subscribe((params) => {\r\n this.initialToken = params[Constants.token];\r\n if (this.initialToken) {\r\n this.confirmEsignToken(this.initialToken);\r\n } else {\r\n this.alert = new Alert(\r\n 'There is no token.',\r\n 'There needs to be a token in the e-sign URL.',\r\n AlertType.Error\r\n );\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n protected onSubmitClicked() {\r\n if (!this.isFormValid()) {\r\n return;\r\n }\r\n this.alert = null;\r\n this.validateLoan();\r\n }\r\n\r\n protected onEconsentSubmitClicked() {\r\n if (!this.isFormValid()) {\r\n return;\r\n }\r\n const observer: Observer = {\r\n next: (result: any) => {\r\n this.isLoading = false;\r\n this.needEconsent = false;\r\n setTimeout(() => {\r\n this.startEsignProcess();\r\n });\r\n },\r\n error: (err: any) => {\r\n let errorMessage = 'An error occurred while submitting your e-consent. Please contact your loan officer for assistance.';\r\n if (err.status == 403) {\r\n errorMessage =\r\n 'You do not have permission to submit e-consent for this loan.';\r\n } else {\r\n // Here, we need to start over\r\n this.startOverTheProcess();\r\n }\r\n this.alert = new Alert(\r\n 'A problem occurred.',\r\n errorMessage,\r\n AlertType.Error\r\n );\r\n },\r\n complete: () => { },\r\n };\r\n\r\n this.isLoading = true;\r\n this.loadingMessage = 'Submitting E-consent, please wait...';\r\n const orderThatHasPrivateTokenMatchingInitialOne =\r\n this._ordersToSign.find(o => o.publicToken.toLowerCase() === this.initialToken.toLowerCase());\r\n this._portalService\r\n .acceptEsignConsentForAnonymousEsign(\r\n this.initialToken,\r\n encodeURIComponent(orderThatHasPrivateTokenMatchingInitialOne.privateToken),\r\n this.esignOrderPackage.applicationId,\r\n this.esignOrderPackage.borrowerId,\r\n this.esignOrderPackage.mortgageBorrowerId\r\n )\r\n .subscribe(observer)\r\n .add(() => {\r\n this.isLoading = false;\r\n });\r\n }\r\n\r\n private startOverTheProcess = async () => {\r\n this.needEconsent = false;\r\n this.readyToSign = false;\r\n await this.confirmEsignToken(this.initialToken);\r\n };\r\n\r\n private confirmEsignToken = async (token: string): Promise => {\r\n this.isLoading = true;\r\n this.loadingMessage = 'Validating token, please wait...';\r\n\r\n try {\r\n const response = await firstValueFrom(\r\n this._portalService.confirmEsignToken(token)\r\n );\r\n this.needToValidateLoan =\r\n response.requiresSsnLastFourDigits ||\r\n response.requiresSubjectPropertyZip;\r\n this.isLast4DigitsOfSsnRequired = response.requiresSsnLastFourDigits;\r\n this.isPropertyZipRequired = response.requiresSubjectPropertyZip;\r\n } catch (err) {\r\n this.alert = new Alert(\r\n 'A problem occurred.',\r\n \"An error occurred validating your token. It's either invalid or has expired.\",\r\n AlertType.Error\r\n );\r\n }\r\n this.isLoading = false;\r\n };\r\n\r\n private validateLoan = () => {\r\n const observer: Observer = {\r\n next: (response: any) => {\r\n this.isLoading = false;\r\n this.loadingMessage = '';\r\n this.needToValidateLoan = false;\r\n this.esignOrderPackage = response;\r\n let ordersToSign = this.esignOrderPackage.eSignOrderDetail.filter((o) => !!o.publicToken && !!o.privateToken);\r\n this._ordersToSign = _.orderBy(ordersToSign, ['signingOrder'], ['asc']);\r\n this.needEconsent = !response.borrowerHasConsented;\r\n if (!this.needEconsent) {\r\n this.startEsignProcess();\r\n } else if (response.eConsentText) {\r\n this.loadEconsentText(response.eConsentText);\r\n }\r\n },\r\n error: (err: any) => {\r\n const errorMessage = 'An error occurred while validating your application. Please contact your loan officer for assistance.';\r\n this.alert = new Alert(\r\n 'A problem occurred.',\r\n errorMessage,\r\n AlertType.Error\r\n );\r\n },\r\n complete: () => { },\r\n };\r\n\r\n this.isLoading = true;\r\n this.loadingMessage = 'Validating loan, please wait...';\r\n const last4DigitsOfSsn = this.borrowerSsn?.slice(-4);\r\n this._portalService\r\n .validateLoanForAnonymousEsign(\r\n this.initialToken,\r\n this.subjectPropertyZipCode,\r\n last4DigitsOfSsn\r\n )\r\n .subscribe(observer)\r\n .add(() => {\r\n this.isLoading = false;\r\n });\r\n };\r\n\r\n private startEsignProcess = () => {\r\n if (this._ordersToSign.length > 0) {\r\n this.gotoEsignView(this._ordersToSign[0]);\r\n }\r\n };\r\n\r\n private gotoEsignView = (order: EsignOrder) => {\r\n const observer: Observer = {\r\n next: (response: any) => {\r\n this.documentSigningVendor = response.documentSigningVendor;\r\n this.signerViewUrl = this._domSanitizer.bypassSecurityTrustResourceUrl(\r\n response.signerViewUrl\r\n );\r\n this.readyToSign = true;\r\n window.addEventListener(\r\n 'message',\r\n (event) => {\r\n if (event.data.shouldCloseEsignDocIframe) {\r\n setTimeout(() => {\r\n const orderIdThatIsJustSigned = event.data.orderId;\r\n if (!this._finishedOrderIds.includes(orderIdThatIsJustSigned)) {\r\n this._finishedOrderIds.push(orderIdThatIsJustSigned);\r\n // Find the index of the order after this one\r\n console.log('Order just signed: ', orderIdThatIsJustSigned + \", index: \" + this._indexOfCurrentOrder);\r\n const indexOfOrderJustSigned = this._ordersToSign.findIndex(o => o.signingOrder === orderIdThatIsJustSigned);\r\n const indexOfNextOrder = indexOfOrderJustSigned + 1;\r\n if (indexOfNextOrder < this._ordersToSign.length) {\r\n this._indexOfCurrentOrder = indexOfNextOrder;\r\n this.gotoEsignView(this._ordersToSign[indexOfNextOrder]);\r\n }\r\n }\r\n }, 2000);\r\n }\r\n },\r\n false\r\n );\r\n },\r\n error: (err: any) => {\r\n let errorMessage = 'The data entered does not match our records, please try again.';\r\n if (err.status == 403) {\r\n errorMessage =\r\n 'You do not have permission to submit e-consent for this loan.';\r\n } else {\r\n // Here, we need to start over\r\n this.startOverTheProcess();\r\n }\r\n this.alert = new Alert(\r\n 'A problem occurred.',\r\n errorMessage,\r\n AlertType.Error\r\n );\r\n },\r\n complete: () => { },\r\n };\r\n\r\n const portalUrlSegment =\r\n this.userScope == PortalScope.Borrower\r\n ? 'borrower-portal'\r\n : 'agent-portal';\r\n const returnUrl = `${window.location.protocol}//${window.location.host}/${portalUrlSegment}/esign-confirmation/${order.publicToken}/${this._indexOfCurrentOrder + 1}/${this._ordersToSign.length}/${order.signingOrder}`;\r\n\r\n let request = new OpenSignerViewRequest();\r\n request.returnUrl = returnUrl;\r\n request.loanDocTaskId = order.loanDocTaskId;\r\n request.applicationId = this.esignOrderPackage.applicationId;\r\n request.borrowerId = this.esignOrderPackage.borrowerId;\r\n\r\n this.isLoading = true;\r\n this.loadingMessage = 'Fetching esign URL, please wait...';\r\n this._portalService\r\n .openEsignerViewForAnonymousEsign(\r\n order.publicToken,\r\n encodeURIComponent(order.privateToken),\r\n order.loanDocTaskId,\r\n request\r\n )\r\n .subscribe(observer)\r\n .add(() => {\r\n this.isLoading = false;\r\n });\r\n };\r\n\r\n private isFormValid = (): boolean => {\r\n if (this.loanValidationForm) {\r\n this.loanValidationForm.form.markAllAsTouched();\r\n return !this.loanValidationForm.form.invalid;\r\n }\r\n return true;\r\n };\r\n\r\n private loadEconsentText = (econsentText: string) => {\r\n setTimeout(() => {\r\n let iframe = document.getElementById('econsent-text-iframe') as HTMLIFrameElement;\r\n if (!iframe) {\r\n return;\r\n }\r\n let doc = iframe.contentDocument;\r\n doc.open();\r\n doc.write(econsentText);\r\n doc.close();\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
{{ alert.title }}
\r\n {{ alert.message }}\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

{{ loadingMessage }}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a zip code.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Please enter last 4 digits of your SSN.\r\n
\r\n
\r\n
\r\n
\r\n Submit\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 Consent to Do Business Electronically \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Submit\r\n
\r\n","import { AfterViewInit, Component, ElementRef, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ActivatedRoute, ParamMap, Router } from \"@angular/router\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { DocumentSigningOrder } from '../../models/e-sign/document-signing-recipient.model';\r\nimport { OpenSignerViewRequest } from '../../models/open-signer-view-request.model';\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\nimport { NavigationService } from \"../../services/navigation.service\";\r\nimport { NotificationService } from '../../services/notification.service';\r\n\r\n@Component({\r\n selector: 'e-sign',\r\n templateUrl: './e-sign.component.html'\r\n})\r\nexport class EsignComponent implements OnInit, AfterViewInit {\r\n\r\n appId: number;\r\n\r\n eSignOrder: DocumentSigningOrder = new DocumentSigningOrder();\r\n\r\n signerViewUrl: SafeResourceUrl;\r\n\r\n isLoading: boolean = false;\r\n isAgent: boolean = false;\r\n\r\n constructor(private readonly _portalService: BasePortalService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _domSanitizer: DomSanitizer,\r\n private readonly _router: Router,\r\n private readonly _route: ActivatedRoute,\r\n private readonly _elementRef: ElementRef,) {\r\n this._route.paramMap.subscribe((params: ParamMap) => {\r\n this.appId = +params.get('appId');\r\n const taskId = +params.get('taskId');\r\n if (taskId && !isNaN(Number(taskId))) {\r\n this.openSignerView(Number(taskId));\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this._route.data.subscribe((data) => {\r\n this.isAgent = data[\"isAgent\"] as boolean;\r\n });\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const thisElement = this._elementRef.nativeElement;\r\n const parentElement = thisElement.parentElement;\r\n const layoutEl = parentElement.parentElement.parentElement;\r\n\r\n const makeFullHeight = (el: HTMLElement | undefined) => {\r\n if (el) {\r\n el.style.height = '100%';\r\n }\r\n };\r\n\r\n [parentElement, layoutEl].forEach(makeFullHeight);\r\n }\r\n\r\n private openSignerView = (taskId: number) => {\r\n this._spinner.show();\r\n\r\n const returnUrl = `${window.location.protocol}//${window.location.host}/e-sign-confirmation/${this.appId}`;\r\n\r\n let request = new OpenSignerViewRequest();\r\n request.returnUrl = returnUrl;\r\n request.loanDocTaskId = taskId;\r\n\r\n this.isLoading = true;\r\n this._portalService.getSigningOrder(taskId).subscribe({\r\n next: (signingOrderResponse) => {\r\n this._portalService.openSignerView(taskId, request).subscribe({\r\n next: (response) => {\r\n this.eSignOrder = signingOrderResponse && signingOrderResponse[taskId] && signingOrderResponse[taskId].length > 0 ? signingOrderResponse[taskId][0] : null;\r\n\r\n this.signerViewUrl = this._domSanitizer.bypassSecurityTrustResourceUrl(response.signerViewUrl);\r\n\r\n this.isLoading = false;\r\n this._spinner.hide();\r\n window.addEventListener('message', event => {\r\n if (event.data.shouldCloseEsignDocIframe) {\r\n setTimeout(() => {\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/loans`, this.appId], { queryParams: { companyGuid: this._navigationService.companyGuid } });\r\n }, 2000)\r\n }\r\n }, false);\r\n },\r\n error: (err) => {\r\n this.onOpenSignerViewErrored(err);\r\n }\r\n })\r\n },\r\n error: (err) => {\r\n this.onOpenSignerViewErrored(err);\r\n }\r\n });\r\n }\r\n\r\n private onOpenSignerViewErrored = (err: any) => {\r\n this.isLoading = false;\r\n this._spinner.hide();\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"Couldn't open signer view.\", 'Error!');\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/loans`], { queryParams: { companyGuid: this._navigationService.companyGuid } });\r\n }\r\n}\r\n","
\r\n \r\n\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as _ from 'lodash';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\nimport { LoanDocTask } from '../../../models/tasks/loan-doc-task.model';\r\n\r\n@Component({\r\n selector: 'app-add-documents-to-loan-dialog',\r\n templateUrl: './add-documents-to-loan-dialog.component.html',\r\n})\r\nexport class AddDocumentsToLoanDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @Input()\r\n application: ApplicationForUser = new ApplicationForUser();\r\n\r\n protected notes: string = '';\r\n protected selectedBorrowerId: number;\r\n\r\n protected isUploading: boolean = false;\r\n\r\n constructor(public activeModal: NgbActiveModal, private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _notifsService: NotificationService\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedBorrowerId = this.application.myDetails.borrowerId;\r\n }\r\n\r\n protected onUploadClicked = async (files: any[]) => {\r\n let taskToAttachFilesTo: LoanDocTask = null;\r\n // First get the task using the portal service\r\n try {\r\n taskToAttachFilesTo = await firstValueFrom(this.portalService.getTaskForFileUpload(this.application.applicationId,\r\n this.selectedBorrowerId, this.notes));\r\n } catch (err) {\r\n const errorMessage = getErrorMessageOrDefault(err, {\r\n defaultMessage: 'Error getting task to attach files to.',\r\n });\r\n this._notifsService.showError(errorMessage, 'Error!');\r\n return;\r\n }\r\n // Then upload the files\r\n files.forEach((file, index) => {\r\n this.portalService.uploadDocument(taskToAttachFilesTo.loanDocTaskId, '', file).subscribe(\r\n (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.isUploading = true;\r\n file.progress = Math.round(100 * event.loaded / event.total);\r\n } else if (event instanceof HttpResponse) {\r\n this.isUploading = false;\r\n this.activeModal.close();\r\n }\r\n },\r\n (err: any) => {\r\n const errorMessage = getErrorMessageOrDefault(err, {\r\n defaultMessage: 'Error uploading additional documents to loan.',\r\n });\r\n this._notifsService.showError(errorMessage, 'Error!');\r\n file.progress = 0;\r\n this.isUploading = false;\r\n this.activeModal.close();\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n
Add Files
\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GeneratePrequalLetterRequestModel } from '../../../models/borrower-portal/generate-prequal-letter-request.model';\r\nimport { PrequalDetailsModel } from '../../../models/borrower-portal/prequal-details.model';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\n\r\n@Component({\r\n selector: 'app-generate-prequal-letter-dialog',\r\n templateUrl: './generate-prequal-letter-dialog.component.html',\r\n styleUrls: ['./generate-prequal-letter-dialog.component.scss']\r\n})\r\nexport class GeneratePrequalLetterDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @Input() details: PrequalDetailsModel;\r\n\r\n req: GeneratePrequalLetterRequestModel = new GeneratePrequalLetterRequestModel();\r\n\r\n step: number = 1;\r\n\r\n showAdditionalOptionsStep: boolean = false;\r\n\r\n constructor(\r\n private readonly portalServiceFactory: PortalServiceFactory,\r\n public activeModal: NgbActiveModal\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.showAdditionalOptionsStep = !!this.details.proofOfFundsDocFileId || !!this.details.duDocFileId || !!this.details.lpaDocFileId || !!this.details.duHistoryDocumentId || !!this.details.lpaHistoryDocumentId;\r\n }\r\n\r\n generatePrequalLetter = () => {\r\n this.activeModal.close(this.req);\r\n }\r\n}\r\n","
\r\n
\r\n Generate a\r\n Preapproval Letter\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
    \r\n \r\n

    Get Started

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

    Property Address

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

    Purchase Price

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

    Down Payment

    \r\n \r\n
  1. \r\n

    \r\n Additional Options\r\n

    \r\n
  2. \r\n \r\n

    Review Information

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

    Get Started

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

    Property Address

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

    Purchase Price

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

    Down Payment

    \r\n \r\n
  1. \r\n

    Additional Options

    \r\n
  2. \r\n \r\n

    Review Information

    \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","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { GeneratePrequalLetterRequestModel } from 'projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model';\r\nimport { PrequalDetailsModel } from 'projects/borrower-app/src/app/models/borrower-portal/prequal-details.model';\r\n\r\n@Component({\r\n selector: 'wizard-additional-options',\r\n templateUrl: './wizard-additional-options.component.html',\r\n styleUrls: ['./wizard-additional-options.component.scss']\r\n})\r\nexport class WizardAdditionalOptionsComponent implements OnInit {\r\n\r\n @ViewChild('additionalOptionsForm') additionalOptionsForm: NgForm | undefined;\r\n\r\n @Input() request: GeneratePrequalLetterRequestModel;\r\n @Input() details: PrequalDetailsModel;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n nextClicked = () => {\r\n this.additionalOptionsForm.form.markAllAsTouched();\r\n if (this.additionalOptionsForm.form.valid) {\r\n this.next.emit();\r\n }\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n backClicked = () => {\r\n this.additionalOptionsForm.form.markAllAsTouched();\r\n if (this.additionalOptionsForm.form.valid) {\r\n this.back.emit();\r\n }\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n \r\n Would you like to include?\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 Close\r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n Next\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { GeneratePrequalLetterRequestModel } from 'projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model';\r\n\r\n@Component({\r\n selector: 'prequal-letter-wizard-down-payment',\r\n templateUrl: './prequal-letter-wizard-down-payment.component.html'\r\n})\r\nexport class PrequalLetterWizardDownPaymentComponent implements OnInit {\r\n\r\n @ViewChild('downPaymentForm') downPaymentForm: NgForm | undefined;\r\n\r\n @Input() request: GeneratePrequalLetterRequestModel;\r\n @Input() minDownPaymentPercent: number;\r\n @Input() maxDownPaymentPercent: number;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n minDownPaymentValue: number = 0;\r\n maxDownPaymentValue: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n if(this.minDownPaymentPercent && this.minDownPaymentPercent > 1){\r\n this.minDownPaymentPercent = this.minDownPaymentPercent / 100;\r\n }\r\n if(this.maxDownPaymentPercent && this.maxDownPaymentPercent > 1){\r\n this.maxDownPaymentPercent = this.maxDownPaymentPercent / 100;\r\n }\r\n\r\n this.minDownPaymentValue = this.request.downPayment = (this.request.purchasePrice || 0) * (this.minDownPaymentPercent || 0.2);\r\n this.maxDownPaymentValue = (this.request.purchasePrice || 0) * (this.maxDownPaymentPercent || 1);\r\n }\r\n\r\n nextClicked = () => {\r\n this.downPaymentForm.form.markAllAsTouched();\r\n if (this.downPaymentForm.form.valid) {\r\n this.next.emit();\r\n }\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n backClicked = () => {\r\n this.downPaymentForm.form.markAllAsTouched();\r\n if (this.downPaymentForm.form.valid) {\r\n this.back.emit();\r\n }\r\n }\r\n\r\n}\r\n\r\n","
\r\n

\r\n How much will your down payment be? \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Use the slide to adjust down payment, or simply type in the\r\n value.\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n Next\r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'prequal-letter-wizard-get-started',\r\n templateUrl: './prequal-letter-wizard-get-started.component.html'\r\n})\r\nexport class PrequalLetterWizardGetStartedComponent implements OnInit {\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n nextClicked = () => {\r\n this.next.emit();\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n Answer the following questions to create a custom preapproval\r\n letter.\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { GeneratePrequalLetterRequestModel } from 'projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model';\r\nimport { EnumsService } from 'projects/borrower-app/src/app/services/enums.service';\r\nimport { PortalServiceFactory } from 'projects/borrower-app/src/app/services/portal-service.factory';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { PortalBaseComponent } from '../../../portal-base.component';\r\n\r\n@Component({\r\n selector: 'prequal-letter-wizard-property-address',\r\n templateUrl: './prequal-letter-wizard-property-address.component.html'\r\n})\r\nexport class PrequalLetterWizardPropertyAddressComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @ViewChild('propertyAddressForm') propertyAddressForm: NgForm | undefined;\r\n\r\n @Input() request: GeneratePrequalLetterRequestModel\r\n @Input() appId: number;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n states: EnumerationItem[] = [];\r\n stateChangingEnabled: boolean = true;\r\n\r\n constructor(\r\n private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _enumsService: EnumsService\r\n ) {\r\n super(portalServiceFactory);\r\n this.states = this._enumsService.stateNames;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadApplicationDetails(this.appId);\r\n }\r\n\r\n loadApplicationDetails = (appId: number) => {\r\n this.portalService.getLoanDataForAppId(appId).subscribe(application => {\r\n this.request.address = application.address;\r\n this.request.city = application.city;\r\n this.request.zip = application.zip;\r\n this.request.state = this.states.find(s => s.name.toLowerCase() == application.state?.toLowerCase())?.value;\r\n\r\n this.stateChangingEnabled = !application.state;\r\n })\r\n }\r\n\r\n nextClicked = () => {\r\n this.propertyAddressForm.form.markAllAsTouched();\r\n if (this.propertyAddressForm.form.valid) {\r\n this.next.emit();\r\n }\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n backClicked = () => {\r\n this.propertyAddressForm.form.markAllAsTouched();\r\n if (this.propertyAddressForm.form.valid) {\r\n this.back.emit();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n First of all, what is the address of the property you're looking to\r\n prequalify for?\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n Next\r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { GeneratePrequalLetterRequestModel } from 'projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model';\r\n\r\n@Component({\r\n selector: 'prequal-letter-wizard-purchase-price',\r\n templateUrl: './prequal-letter-wizard-purchase-price.component.html'\r\n})\r\nexport class PrequalLetterWizardPurchasePriceComponent implements OnInit {\r\n\r\n @ViewChild('purchasePriceForm') purchasePriceForm: NgForm | undefined;\r\n\r\n @Input() request: GeneratePrequalLetterRequestModel;\r\n @Input() maxPurchasePrice: number;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n @Output() back: EventEmitter = new EventEmitter();\r\n\r\n minLoanAmountValue: number = 10000;\r\n maxLoanAmountValue: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.maxLoanAmountValue = this.request.purchasePrice = this.maxPurchasePrice;\r\n }\r\n\r\n nextClicked = () => {\r\n this.purchasePriceForm.form.markAllAsTouched();\r\n if (this.purchasePriceForm.form.valid) {\r\n this.next.emit();\r\n }\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n backClicked = () => {\r\n this.purchasePriceForm.form.markAllAsTouched();\r\n if (this.purchasePriceForm.form.valid) {\r\n this.back.emit();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n What is the purchase price of the property?\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Use the slide to adjust purchase price, or simply type in the\r\n value.\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n \r\n \r\n Back\r\n \r\n \r\n Next\r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { GeneratePrequalLetterRequestModel } from 'projects/borrower-app/src/app/models/borrower-portal/generate-prequal-letter-request.model';\r\n\r\n@Component({\r\n selector: 'prequal-letter-wizard-review-information',\r\n templateUrl: './prequal-letter-wizard-review-information.component.html'\r\n})\r\nexport class PrequalLetterWizardReviewInformationComponent implements OnInit {\r\n\r\n @Input() request: GeneratePrequalLetterRequestModel;\r\n @Input() showAdditionalOptionsStep: boolean;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Output() next: EventEmitter = new EventEmitter();\r\n @Output() goStep: EventEmitter = new EventEmitter();\r\n\r\n haveEmptySections: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n nextClicked = () => {\r\n this.haveEmptySections = !this.request.address || !this.request.purchasePrice;\r\n\r\n if (!this.haveEmptySections) {\r\n this.next.emit();\r\n }\r\n }\r\n\r\n closeClicked = () => {\r\n this.close.emit();\r\n }\r\n\r\n goToStep = (stepNumber: number) => {\r\n this.goStep.emit(stepNumber);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n And finally, please review the information below before generating your\r\n document.\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
Property Address\r\n {{ request.address }} , {{ request.city }} {{ request.state }}\r\n {{ request.zip }}\r\n \r\n \r\n Edit\r\n \r\n
Purchase Price\r\n {{ request.purchasePrice | currency }}\r\n \r\n \r\n Edit\r\n \r\n
Down Payment\r\n {{ request.downPayment | currency }}\r\n \r\n \r\n Edit\r\n \r\n
Additional Options {{ request.includeAusFindings || request.includeProofOfFunds ? 'Includes: ' : ''}} {{ request.includeAusFindings ? 'AUS Findings' : ''}}\r\n {{ request.includeProofOfFunds ? (request.includeAusFindings ? ', ' : '') + 'Proof Of Funds' : '' }}\r\n \r\n \r\n Edit\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Please fill empty sections first.\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { PrequalDetailsModel } from '../../models/borrower-portal/prequal-details.model';\r\nimport { ApplicationForUser } from '../../models/borrower-portal/application-for-user-model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { GeneratePrequalLetterRequestModel } from '../../models/borrower-portal/generate-prequal-letter-request.model';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\nimport { Constants } from '../../services/constants';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { MortgageCalculatorDialogComponent } from './mortgage-calculator-dialog/mortgage-calculator-dialog.component';\r\nimport { GeneratePrequalLetterDialogComponent } from './generate-prequal-letter-dialog/generate-prequal-letter-dialog.component';\r\nimport { AddDocumentsToLoanDialogComponent } from './add-documents-to-loan-dialog/add-documents-to-loan-dialog.component';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { PaymentLinkConfig } from '../../models/borrower-portal/payment-link-config.model';\r\n\r\n@Component({\r\n selector: 'loan-actions',\r\n templateUrl: './loan-actions.component.html',\r\n styleUrls: ['./loan-actions.component.scss'],\r\n})\r\nexport class LoanActionsComponent implements OnInit {\r\n\r\n @Input()\r\n application: ApplicationForUser;\r\n\r\n @Input()\r\n actionsApplicable: LoanActions;\r\n\r\n @Output()\r\n openAssetVerificationClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n openIncomeVerificationClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n additionalDocumentsAddedToLoan: EventEmitter = new EventEmitter();\r\n\r\n prequalDetails: PrequalDetailsModel;\r\n hasPrequalDetails: boolean = false;\r\n\r\n protected paymentLinkConfig: PaymentLinkConfig = {\r\n isVisible: false,\r\n paymentLink: null,\r\n buttonText: null,\r\n }\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _modalService: NgbModal,\r\n private readonly _spinnerService: NgxSpinnerService,\r\n private readonly _notifsService: NotificationService\r\n ) {\r\n const x = 10;\r\n }\r\n\r\n async ngOnInit() {\r\n await this.loadPaymentLinkConfig(this.application.applicationId);\r\n if (this.actionsApplicable.hasPreApprovalLetter) {\r\n this.loadPrequalDetail(this.application.applicationId);\r\n }\r\n }\r\n\r\n protected openGeneratePrequalLetterDialog = () => {\r\n const modalRef = this._modalService.open(\r\n GeneratePrequalLetterDialogComponent,\r\n Constants.modalOptions.xlarge\r\n );\r\n modalRef.componentInstance.details = this.prequalDetails;\r\n\r\n modalRef.result.then((req: GeneratePrequalLetterRequestModel) => {\r\n this.generatePrequalLetter(req);\r\n });\r\n };\r\n\r\n protected openMortgageCalculatorModal() {\r\n const modal = this._modalService.open(MortgageCalculatorDialogComponent, {\r\n size: 'lg',\r\n backdrop: 'static',\r\n });\r\n modal.componentInstance.application = this.application;\r\n }\r\n\r\n protected onAddAdditionalDocumentsClicked() {\r\n const modalRef = this._modalService.open(\r\n AddDocumentsToLoanDialogComponent,\r\n Constants.modalOptions.large\r\n );\r\n modalRef.componentInstance.application = this.application;\r\n modalRef.result.then(\r\n () => {\r\n this.additionalDocumentsAddedToLoan.emit();\r\n },\r\n (error) => {}\r\n );\r\n }\r\n\r\n protected onOpenAssetVerificationClicked = () => {\r\n this.openAssetVerificationClicked.emit();\r\n };\r\n\r\n protected onOpenIncomeVerificationClicked = () => {\r\n this.openIncomeVerificationClicked.emit();\r\n };\r\n\r\n private generatePrequalLetter = (req: GeneratePrequalLetterRequestModel) => {\r\n this._spinnerService.show();\r\n\r\n req.loanAmount = req.purchasePrice - req.downPayment;\r\n this._portalService\r\n .generatePrequalLetterForApp(this.application.applicationId, req)\r\n .subscribe({\r\n next: (res) => {\r\n this._spinnerService.hide();\r\n const downloadFileGuid = res.docFileGuid;\r\n if (downloadFileGuid) {\r\n this.downloadFile(downloadFileGuid);\r\n }\r\n },\r\n error: (err) => {\r\n this._spinnerService.hide();\r\n const errorMessage =\r\n err?.message ||\r\n 'An error occurred generating prequalification letter.';\r\n this._notifsService.showError(errorMessage, 'Error');\r\n },\r\n });\r\n };\r\n\r\n private downloadFile = (downloadFileGuid: string) => {\r\n this._spinnerService.show();\r\n this._portalService.downloadFile(downloadFileGuid).subscribe({\r\n next: (res) => {\r\n this._spinnerService.hide();\r\n\r\n const blob = new Blob([res], { type: 'application/pdf' });\r\n let downloadLink = document.createElement('a');\r\n downloadLink.href = URL.createObjectURL(blob);\r\n let fileName = `PrequalificationLetter-${this.application.applicationId}.pdf`;\r\n downloadLink.setAttribute('download', fileName);\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n this._spinnerService.hide();\r\n },\r\n });\r\n };\r\n\r\n private loadPrequalDetail = (appId: number) => {\r\n this._portalService\r\n .getPrequalDetailsForAppId(appId)\r\n .subscribe((details) => {\r\n this.prequalDetails = details;\r\n this.hasPrequalDetails =\r\n details &&\r\n (details.downPaymentPercent > 0 ||\r\n details.maxPurchasePrice > 0 ||\r\n details.interestRate > 0);\r\n });\r\n };\r\n\r\n private loadPaymentLinkConfig = async (appId: number) => {\r\n try {\r\n this._spinnerService.show();\r\n this.paymentLinkConfig = await firstValueFrom(\r\n this._portalService.getPaymentLinkConfig(appId)\r\n );\r\n } catch (error) {\r\n \r\n } finally {\r\n this._spinnerService.hide();\r\n }\r\n }\r\n}\r\n\r\nexport class LoanActions {\r\n hasAssetVerificationTasks: boolean;\r\n hasIncomeVerificationTasks: boolean;\r\n isMortgageCalculatorEnabled: boolean;\r\n isUploadingAdditionalDocsEnabled: boolean;\r\n hasPreApprovalLetter: boolean;\r\n\r\n constructor() {\r\n this.hasAssetVerificationTasks = false;\r\n this.hasIncomeVerificationTasks = false;\r\n this.isMortgageCalculatorEnabled = false;\r\n this.hasPreApprovalLetter = false;\r\n }\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-mortgage-calculator-dialog',\r\n templateUrl: './mortgage-calculator-dialog.component.html',\r\n styleUrls: ['./mortgage-calculator-dialog.component.scss']\r\n})\r\nexport class MortgageCalculatorDialogComponent implements OnInit {\r\n @Input() application: ApplicationForUser;\r\n\r\n calculations: MortgageCalculation = new MortgageCalculation();\r\n totalMonthlyPayment: number;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n this.calculations.loanAmount = this.application.loanAmount;\r\n this.calculations.interestRate = this.application.interestRate;\r\n this.calculations.loanPurpose = this.application.loanPurpose;\r\n this.calculations.purchasePrice = this.application.purchasePrice;\r\n\r\n this.onLoanAmountChanged();\r\n }\r\n\r\n protected onPurchasePriceChanged = () => {\r\n const homePrice = this.calculations.purchasePrice || 0;\r\n const downPayment = this.calculations.downPayment || 0;\r\n if (homePrice) {\r\n this.calculations.loanAmount = homePrice - downPayment\r\n } else {\r\n this.calculations.loanAmount = 0;\r\n }\r\n this.calculatePIAndTotal();\r\n }\r\n\r\n protected onLoanAmountChanged = () => {\r\n const homePrice = this.calculations.purchasePrice || 0;\r\n const loanAmount = this.calculations.loanAmount || 0;\r\n this.calculations.downPayment = homePrice - loanAmount;\r\n if (homePrice) {\r\n this.calculations.downPaymentPercent = Math.floor((this.calculations.downPayment * 100) / homePrice);\r\n } else {\r\n this.calculations.downPaymentPercent = 0;\r\n }\r\n this.calculatePIAndTotal();\r\n }\r\n\r\n protected onDownPaymentAmountChanged = () => {\r\n const homePrice = this.calculations.purchasePrice || 0;\r\n const downPayment = this.calculations.downPayment || 0;\r\n this.calculations.loanAmount = homePrice - downPayment;\r\n if (homePrice) {\r\n this.calculations.downPaymentPercent = Math.floor((this.calculations.downPayment * 100) / homePrice);\r\n } else {\r\n this.calculations.downPaymentPercent = 0;\r\n }\r\n this.calculatePIAndTotal();\r\n }\r\n\r\n protected onDownPaymentPercentageChanged = () => {\r\n const homePrice = this.calculations.purchasePrice || 0;\r\n const downPaymentPercent = this.calculations.downPaymentPercent || 0;\r\n this.calculations.downPayment = homePrice * (downPaymentPercent / 100);\r\n this.calculatePIAndTotal();\r\n }\r\n\r\n protected calculateTotal() {\r\n const pi = this.calculations.pi || 0;\r\n const propertyTax = this.calculations.propertyTax || 0;\r\n const homeownerInsurance = this.calculations.hoi || 0;\r\n const pmi = this.calculations.pmi || 0;\r\n const hoaFees = this.calculations.hoaFees || 0;\r\n this.totalMonthlyPayment = Number(pi) + Number(propertyTax) + Number(homeownerInsurance) + Number(pmi) + Number(hoaFees);\r\n }\r\n\r\n protected calculatePIAndTotal() {\r\n this.calculatePAndI();\r\n this.calculateTotal();\r\n }\r\n\r\n private calculatePAndI() {\r\n /* M=P[r(1+r)^n/((1+r)^n)-1)]\r\n * M = the total monthly mortgage payment.\r\n * P = the principal loan amount.\r\n * r = the monthly interest rate. This is the annual rate that your lender provides divided by 12 months.\r\n * n = the number of monthly loan payments. This is the number of years of your loan multiplied by 12.\r\n */\r\n const annualInterestRate = this.calculations.interestRate || 0;\r\n const downPayment = this.calculations.downPayment || 0;\r\n const loanTermInMonths = Number(this.calculations.loanTerm) * 12;\r\n const homePrice = this.calculations.purchasePrice || 0;\r\n const principalLoanAmount = homePrice - downPayment;\r\n const monthlyInterest = (annualInterestRate / 100) / 12;\r\n var exponential = Number(Math.pow((1 + monthlyInterest), loanTermInMonths)); // (1+r)^n\r\n var pi = exponential == 1\r\n ? principalLoanAmount / loanTermInMonths\r\n : principalLoanAmount * ((monthlyInterest * exponential) / (exponential - 1));\r\n\r\n this.calculations.pi = Math.floor(pi);\r\n }\r\n}\r\n\r\nclass MortgageCalculation {\r\n loanPurpose: string;\r\n loanAmount: number = 0;\r\n downPayment: number = 0;\r\n downPaymentPercent: number = 0;\r\n loanTerm: number = 30;\r\n interestRate: number = 0;\r\n pi: number = 0;\r\n propertyTax: number = 0;\r\n hoi: number = 0;\r\n pmi: number = 0;\r\n hoaFees: number = 0;\r\n purchasePrice: number = 0;\r\n}\r\n","
\r\n

Payment Calculator

\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 \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
\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ApplicationForUser } from '../../models/borrower-portal/application-for-user-model';\r\nimport { OtherBorrowersOnLoanModel } from '../../models/borrower-portal/other-borrowers-on-loan-model';\r\n\r\n@Component({\r\n selector: 'loan-borrowers',\r\n templateUrl: './loan-borrowers.component.html'\r\n})\r\nexport class LoanBorrowersComponent implements OnInit {\r\n\r\n get application(): ApplicationForUser {\r\n return this._application;\r\n }\r\n\r\n @Input()\r\n set application(value: ApplicationForUser) {\r\n this._application = value;\r\n if(value){\r\n this.populateBorrowers(value);\r\n }\r\n }\r\n\r\n loanBorrowers: OtherBorrowersOnLoanModel[] = [];\r\n\r\n private _application: ApplicationForUser;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n populateBorrowers = (app: ApplicationForUser) => {\r\n this.loanBorrowers = [{...app.myDetails}, ...(app.otherBorrowersOnLoan || [])].sort((a,b) => a.borrowerId - b.borrowerId);\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
People on this Loan
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{ borrower.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n
{{ borrower.borrowerName }}
\r\n
\r\n \r\n Call\r\n \r\n \r\n Email\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ContactInfoModel } from '../../models/borrower-portal/contact-info-model';\r\n\r\n@Component({\r\n selector: ' loan-contacts',\r\n templateUrl: './loan-contacts.component.html'\r\n})\r\nexport class LoanContactsComponent implements OnInit {\r\n\r\n @Input() borrowerContact: ContactInfoModel;\r\n\r\n constructor(\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
The Loan Team
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ contact.name?.charAt(0) }}\r\n \r\n \r\n
\r\n
\r\n
{{ contact.name }}
\r\n
{{ contact.title }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { PortalScope } from '../../login/login.component';\r\nimport { ApplicationForUser } from '../../models/borrower-portal/application-for-user-model';\r\nimport { ContactInfoModel } from '../../models/borrower-portal/contact-info-model';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\nimport { DrawerOptions, DrawerSize } from '../../services/drawer.service';\r\nimport { LocalStorageService } from '../../services/local-storage.service';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { ApplicationTaskModel, BorrowerTaskType } from '../../models/borrower-portal/application-task-model';\r\nimport { PortalTaskInformationComponent } from '../task-information/task-information.component';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { LoanActions } from '../loan-actions/loan-actions.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'loan-details',\r\n templateUrl: './loan-details.component.html',\r\n styleUrls: ['./loan-details.component.scss']\r\n})\r\nexport class PortalLoanDetailsComponent implements OnInit {\r\n\r\n @ViewChild('tasksView')\r\n tasksView: PortalTaskInformationComponent;\r\n\r\n loanId: number;\r\n application: ApplicationForUser;\r\n\r\n agentRequestACallDrawerOptions: DrawerOptions = {\r\n size: DrawerSize.Large,\r\n containerWrapperId: null\r\n }\r\n\r\n borrowerContact: ContactInfoModel;\r\n\r\n agentAddressHidden: boolean = true;\r\n isAgent: boolean = false;\r\n\r\n protected actionsApplicableToLoan: LoanActions;\r\n\r\n constructor(\r\n private readonly _route: ActivatedRoute,\r\n private readonly _portalService: BasePortalService,\r\n private readonly _router: Router,\r\n private readonly _localStorage: LocalStorageService,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _activatedRoute: ActivatedRoute) {\r\n\r\n let userScopeFromPath = null;\r\n if (this._activatedRoute.routeConfig && this._activatedRoute.routeConfig.data && this._activatedRoute.routeConfig.data.scope) {\r\n userScopeFromPath = this._activatedRoute.routeConfig.data.scope;\r\n }\r\n\r\n let userScopeFromLocalStorage = this._localStorage.authorizationData.scope as PortalScope;\r\n\r\n let userScope = this._environment.scope || userScopeFromPath || userScopeFromLocalStorage;\r\n\r\n if (userScope && userScope == PortalScope.Agent) {\r\n this.isAgent = true;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this._route.paramMap.subscribe((params: ParamMap) => {\r\n this.loanId = +params.get('loanId');\r\n this.loadApplicationDetails(this.loanId);\r\n this.loadBorrowerContactInfo(this.loanId);\r\n });\r\n }\r\n\r\n protected onOpenAssetVerificationClicked = () => {\r\n this.tasksView?.openDigitalVerificationDialog(BorrowerTaskType.DigitalAssetVerification);\r\n }\r\n\r\n protected onOpenIncomeVerificationClicked = () => {\r\n this.tasksView?.openDigitalVerificationDialog(BorrowerTaskType.DigitalIncomeEmploymentVerification);\r\n }\r\n\r\n protected onTasksLoaded = async (pendingTasks: ApplicationTaskModel[]) => {\r\n await this.setupActionsAppropriateForLoan(pendingTasks);\r\n }\r\n\r\n protected onAdditionalDocumentsAddedToLoan = () => {\r\n this.tasksView.reloadTasks(true);\r\n }\r\n\r\n loadApplicationDetails = (appId: number) => {\r\n this._portalService.getLoanDataForAppId(appId).subscribe({\r\n next: (application) => {\r\n this.application = { ...application };\r\n }, error: (err) => {\r\n const errorMessage = err?.message || \"An error occurred loading loan data\";\r\n this._notifsService.showError(errorMessage, \"Error\");\r\n }\r\n })\r\n }\r\n\r\n loadBorrowerContactInfo = (appId: number) => {\r\n this._portalService.getContactInfoForApplication(appId).subscribe(borrowerContactInfo => {\r\n this.borrowerContact = borrowerContactInfo;\r\n });\r\n }\r\n\r\n openAgentContact = () => {\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/request-a-call`], { queryParams: { loanId: this.loanId } });\r\n }\r\n\r\n protected get shouldShowLoanActions(): boolean {\r\n return this.actionsApplicableToLoan?.hasAssetVerificationTasks ||\r\n this.actionsApplicableToLoan?.hasIncomeVerificationTasks ||\r\n this.actionsApplicableToLoan?.isMortgageCalculatorEnabled ||\r\n this.actionsApplicableToLoan?.isUploadingAdditionalDocsEnabled ||\r\n this.actionsApplicableToLoan?.hasPreApprovalLetter ||\r\n false;\r\n }\r\n\r\n private setupActionsAppropriateForLoan = async (pendingTasks: ApplicationTaskModel[]) => {\r\n\r\n const actionsAppropriateForLoan = new LoanActions();\r\n\r\n let hasIncomeVerificationTasks = false;\r\n let hasAssetVerificationTasks = false;\r\n if (!this.isAgent) {\r\n hasAssetVerificationTasks = pendingTasks.some(task => task.borrowerTaskType == BorrowerTaskType.DigitalAssetVerification);\r\n hasIncomeVerificationTasks = pendingTasks.some(task => task.borrowerTaskType == BorrowerTaskType.DigitalIncomeEmploymentVerification);\r\n }\r\n\r\n actionsAppropriateForLoan.isMortgageCalculatorEnabled = this.application.companyId != 252;\r\n this.actionsApplicableToLoan = actionsAppropriateForLoan;\r\n try {\r\n this.actionsApplicableToLoan.hasAssetVerificationTasks = this.application.isAssetVerificationLoanActionEnabled && hasAssetVerificationTasks;\r\n this.actionsApplicableToLoan.hasIncomeVerificationTasks = this.application.isEmploymentIncomeVerificationLoanActionEnabled && hasIncomeVerificationTasks;\r\n this.actionsApplicableToLoan.isMortgageCalculatorEnabled = !!this.application.isMortgageCalculatorLoanActionEnabled;\r\n this.actionsApplicableToLoan.isUploadingAdditionalDocsEnabled = !!this.application.isUploadingAdditionalDocumentsLoanActionEnabled;\r\n this.actionsApplicableToLoan.hasPreApprovalLetter = !!this.application.isPreApprovalLetterGenerationLoanActionEnabled;\r\n if (Object.values(this.actionsApplicableToLoan).every(value => value === false)) {\r\n this.actionsApplicableToLoan = null;\r\n }\r\n } catch (error) {\r\n if (error.error !== 'Prequal detail was not found') {\r\n this._notifsService.showError(\"An error occurred loading loan actions\", \"Error\");\r\n }\r\n }\r\n this._spinner.hide();\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport Swal from 'sweetalert2';\r\nimport { ApplicationForUser } from \"../../models/borrower-portal/application-for-user-model\";\r\nimport { LiveDataTotalModel } from '../../models/borrower-portal/live-data-total-model';\r\nimport { PortalContent } from '../../models/borrower-portal/portal-content-model-model';\r\nimport { FeatureFlags } from '../../models/feature-flags.model';\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\nimport { Constants } from '../../services/constants';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { AgentContactInfo } from '../agent-contact-info/agent-contact-info.component';\r\nimport { EConsentDialogComponent } from '../task-information/e-consent-dialog/e-consent-dialog.component';\r\nimport * as _ from 'lodash';\r\nimport { load_map_and_street_view_from_address } from '../../services/utils';\r\n\r\n@Component({\r\n selector: 'loan-info',\r\n templateUrl: './loan-info.component.html',\r\n styleUrls: ['./loan-info.component.scss']\r\n})\r\nexport class LoanInfoComponent implements OnInit {\r\n\r\n @Input()\r\n portalContent: PortalContent;\r\n\r\n @Input()\r\n set application(application: ApplicationForUser) {\r\n this._application = application;\r\n this.initialize();\r\n }\r\n\r\n get application(): ApplicationForUser {\r\n return this._application;\r\n }\r\n\r\n @Input()\r\n showViewTasksButton: boolean;\r\n\r\n @Input()\r\n showBorrowerContactDetails: boolean;\r\n\r\n @Input()\r\n isAgent: boolean = false;\r\n\r\n totals: Record = {};\r\n\r\n agentAddressHidden: boolean = true;\r\n\r\n agentContactInfo: AgentContactInfo;\r\n\r\n haveEConsent: boolean = false;\r\n\r\n protected applicationTitle: string = '';\r\n\r\n protected subjectPropertyAddress: string = '';\r\n\r\n private _application: ApplicationForUser;\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _modalService: NgbModal,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _onlineAppService: MortgageApplicationService,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loadTotals();\r\n }\r\n\r\n onAgentNameClicked = () => {\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/request-a-call`], { queryParams: { loanId: this.application.applicationId } });\r\n }\r\n\r\n goToCompleteApplication = (app: ApplicationForUser) => {\r\n const routeToGo = app.onlineApplicationIsCoborrower ? 'co-apply' : 'apply';\r\n this._router.navigate(\r\n [routeToGo],\r\n {\r\n queryParams: {\r\n companyGuid: app.companyGuid,\r\n appId: app.applicationId,\r\n flowGuid: app.onlineApplicationVersion,\r\n },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n\r\n goToDetails = (app: ApplicationForUser) => {\r\n if (!app.forceFinishOnlineApp) {\r\n let companyGuid = this._navigationService.companyGuid;\r\n this._spinner.show();\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/loans`, app.applicationId], { queryParams: { companyGuid: companyGuid } });\r\n }\r\n }\r\n\r\n loadTotals = () => {\r\n this._portalService.getLiveData()\r\n .subscribe({\r\n next: (totals) => {\r\n this.totals = totals.applicationTotals as any;\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n }\r\n })\r\n }\r\n\r\n badgeLabel = (count = 0): string => {\r\n if (!count) {\r\n return '';\r\n }\r\n return count > 9 ? '9+' : !count ? '' : String(count);\r\n }\r\n\r\n onHaveEConsentChanged = () => {\r\n if (this.haveEConsent) {\r\n this.generateEConsentDoc();\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Warning!',\r\n html: \"You are about to revoke your e-consent that you've given earlier for us to process your loan application. If you do so, there might be delays in the processing of your loan application. Do you really want to do this?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No',\r\n reverseButtons: true,\r\n }).then((modalResult: any) => {\r\n if (modalResult.value) {\r\n this.revokeEConsent();\r\n }\r\n else {\r\n this.haveEConsent = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private generateEConsentDoc = () => {\r\n const appId = this.application.applicationId;\r\n\r\n this._onlineAppService.getConfig(appId)\r\n .subscribe({\r\n next: (config: FeatureFlags) => {\r\n const eConsentText = config.eConsentText;\r\n const borrowerId = this.application.myDetails.borrowerId;\r\n\r\n const modalRef = this._modalService.open(EConsentDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.loanId = appId;\r\n modalRef.componentInstance.eConsentText = eConsentText;\r\n\r\n modalRef.result.then((res: boolean) => {\r\n if (!res) {\r\n this.haveEConsent = false;\r\n return alert('E-Consent authorization is required for e-signing your documents.');\r\n }\r\n\r\n this._spinner.show();\r\n\r\n this._portalService.acceptESignConsent(appId, borrowerId)\r\n .subscribe({\r\n next: (acceptConsentRes) => {\r\n\r\n this._onlineAppService.generateEConsentDocument(appId, { eConsentText: eConsentText, borrowerId: borrowerId })\r\n .subscribe({\r\n next: (generateDocRes) => {\r\n this._spinner.hide();\r\n this._notifsService.showInfo(\"We've successfully received your e-consent.\", \"E-consent\");\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Document generation failed');\r\n this._spinner.hide();\r\n }\r\n })\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Accept E-Sign Consent failed');\r\n this._spinner.hide();\r\n }\r\n });\r\n });\r\n\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n }\r\n })\r\n }\r\n\r\n private revokeEConsent = () => {\r\n this._spinner.show();\r\n this._portalService.revokeEConsent(this.application.applicationId, this.application.myDetails.borrowerId).subscribe({\r\n next: () => {\r\n this._spinner.hide();\r\n this._notifsService.showInfo(\"Your e-consent has been successfully revoked.\", \"E-consent\");\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Revoke E-Consent failed');\r\n this._spinner.hide();\r\n }\r\n })\r\n }\r\n\r\n private loadContactInfo = (appId: number) => {\r\n if (appId) {\r\n this._portalService.getContactInfoForApplication(appId).subscribe({\r\n next: (contactInfo) => {\r\n if (contactInfo) {\r\n this.agentContactInfo = contactInfo as unknown as AgentContactInfo;\r\n this.agentContactInfo.calendarLink = this.agentContactInfo.calendarLink || this.application.contactCalendarLink;\r\n }\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private initialize = () => {\r\n this.haveEConsent = !!this.application?.myDetails?.acceptedEConsentDate;\r\n const loanNumber = this.application?.refNumber || this._application?.applicationId;\r\n this.applicationTitle = `File #${loanNumber}`;\r\n\r\n if (!this.isAgent) {\r\n if (this.application?.myDetails?.borrowerName) {\r\n this.applicationTitle += ` - ${this.application.myDetails.borrowerName}`;\r\n }\r\n } else {\r\n if (this.application?.otherBorrowersOnLoan && this.application.otherBorrowersOnLoan.length > 0) {\r\n const borrowers = _.orderBy(this.application?.otherBorrowersOnLoan, ['borrowerId', 'asc']);\r\n this.applicationTitle += ` - ${borrowers[0].borrowerName}`;\r\n }\r\n }\r\n\r\n this.subjectPropertyAddress = `${this.application?.address || 'No Street Address'} ${this.application?.city ? this.application?.city + \",\" : \"\"} ${this.application?.state || ''} ${this.application?.zip || ''}`;\r\n\r\n this.loadContactInfo(this.application.applicationId);\r\n\r\n // TODO: Kaan seems to have checked in accidentally\r\n //load_map_and_street_view_from_address(this.subjectPropertyAddress);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 0\"\r\n class=\"position-absolute top-1 start-100 translate-middle badge rounded-pill bg-danger fs-10-icon\">\r\n {{\r\n badgeLabel(totals[application.applicationId]?.taskCount)\r\n }}\r\n \r\n\r\n 0\r\n \" class=\"position-absolute top-1 start-100 translate-middle badge rounded-pill bg-danger fs-10-icon\">\r\n {{\r\n badgeLabel(\r\n totals[application.applicationId]?.messageCount\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 {{ application.loanStatus || \"-\" }}\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 {{ (application?.refNumber || application?.applicationId) || \"-\" }}\r\n
\r\n
\r\n
\r\n File No\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ application.loanPurpose || \"-\" }}\r\n
\r\n
\r\n
\r\n Loan Purpose\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n {{ application.loanAmount || 0 | currency }}--\r\n
\r\n
\r\n
\r\n Loan Amount\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {{ application.interestRate || 0 }} %--\r\n
\r\n
\r\n
\r\n Interest Rate\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { AfterViewChecked, ChangeDetectorRef, Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MentionsUtils } from 'projects/shared/mentions.utils';\r\nimport { Mentionable } from 'projects/shared/message-editor-with-mentions/mentionable.model';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { ApplicationContext } from '../../models/application-context.model';\r\nimport { BorrowerAndAgentMessageModel } from '../../models/borrower-portal/borrower-and-agent-message-model';\r\nimport { BorrowerLoanMessageModel } from '../../models/borrower-portal/borrower-loan-message-model';\r\nimport { Company } from '../../models/company-model';\r\nimport { InternalContact } from '../../models/internal-contact.model';\r\nimport { LoanApplication } from '../../models/loan-info.model';\r\nimport { Role } from '../../models/role.model';\r\nimport { UserWithRoleName } from '../../models/user-with-role-name.model';\r\nimport { User } from '../../models/user.model';\r\nimport { ApplicationContextService } from '../../services/application-context.service';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\nimport { ChannelService } from '../../services/channel.service';\r\nimport { InternalContactsService } from '../../services/internal-contacts.service';\r\nimport { LoanService } from '../../services/loan.service';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { TimerService } from '../../services/timer.service';\r\n\r\n@Component({\r\n selector: 'loan-messages',\r\n templateUrl: './loan-messages.component.html',\r\n styleUrls: ['./loan-messages.component.scss']\r\n})\r\nexport class LoanMessagesComponent implements OnInit, AfterViewChecked, OnDestroy {\r\n\r\n @ViewChild('messageEditor') messageEditorComponent: any;\r\n\r\n @Input() loanId: number;\r\n @Input() sendWhenHitEnter: boolean = false;\r\n\r\n userId: string;\r\n\r\n messages: BorrowerLoanMessageModel[] = [];\r\n\r\n messageCount: number = 0;\r\n messageText: string;\r\n newMessage: BorrowerAndAgentMessageModel = new BorrowerAndAgentMessageModel();\r\n\r\n isSaving: boolean = false;\r\n\r\n usersThatCanBeMentioned: Mentionable[] = [];\r\n allUsers: User[] = [];\r\n\r\n users: Array;\r\n\r\n contactRoles: Array;\r\n\r\n application: LoanApplication;\r\n\r\n private _internalContacts: InternalContact[] = [];\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _channelService: ChannelService,\r\n private readonly _loanService: LoanService,\r\n private readonly _internalContactsService: InternalContactsService,\r\n private readonly _timerService: TimerService,\r\n private readonly _notifyService: NotificationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _environmentService: EnvironmentService,\r\n private readonly _applicationContextService: ApplicationContextService,\r\n private readonly _cdref: ChangeDetectorRef\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._applicationContextService.context.subscribe(context => {\r\n\r\n this._spinner.show();\r\n this._loanService.getApplication(this.loanId).subscribe({\r\n next: (appModel) => {\r\n this.application = appModel;\r\n this.initialize(context);\r\n this._spinner.hide();\r\n },\r\n error: (error) => {\r\n this._spinner.hide();\r\n this._notifyService.showError(error?.message || \"Couldn't load application.\", \"Error!\");\r\n }\r\n })\r\n })\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this._cdref.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._timerService.remove(\"messages-timer\");\r\n }\r\n\r\n setRefreshingTimer = () => {\r\n const timer = this._timerService.start(\"messages-timer\", 20, true, true);\r\n timer.ticked.subscribe((elapsedTimeMin) => {\r\n let sec = parseInt((elapsedTimeMin % 60).toString());\r\n if (sec % 10 == 0) { // for every 10 seconds\r\n this.loadMessages();\r\n }\r\n });\r\n }\r\n\r\n postMessage = () => {\r\n if (this.messageText.trim() == \"\") {\r\n return;\r\n }\r\n\r\n this.newMessage.messageText = this.messageText;\r\n\r\n this.isSaving = true;\r\n this._portalService.postMessage(this.newMessage)\r\n .subscribe(() => {\r\n this.messageText = \"\";\r\n this.messageEditorComponent.reset();\r\n this.loadMessages();\r\n })\r\n .add(() => {\r\n this.isSaving = false;\r\n })\r\n }\r\n\r\n onMessageChanged = (message: string) => {\r\n this.messageText = message;\r\n }\r\n\r\n onEnterHit = () => {\r\n if (this.sendWhenHitEnter) {\r\n this.postMessage();\r\n }\r\n }\r\n\r\n private initialize = (context: ApplicationContext) => {\r\n this.userId = context.userPermissions.userId;\r\n\r\n this.newMessage.applicationId = this.loanId;\r\n\r\n if (this.application.channel === 'Wholesale' || this.application.channel === 'Correspondent') {\r\n this.allUsers = context.globalConfig.usersAll.concat(context.globalConfig.tpoUsers.filter(u => u.branchId === this.application.branchId));\r\n } else {\r\n this.allUsers = context.globalConfig.usersAll;\r\n }\r\n\r\n this.users = context.globalConfig.users;\r\n this.contactRoles = context.globalConfig.roles;\r\n this.loadMessages();\r\n this.loadInternalContacts(context);\r\n this.setRefreshingTimer();\r\n this.messageText = \"\";\r\n }\r\n\r\n private initializeMentionables = (context: ApplicationContext) => {\r\n const usersThatCanBeMentioned = MentionsUtils.prepareUserMentionables(this._environmentService.apiInfo.apiBaseUrl, this.allUsers.filter(user => user.active));\r\n const rolesThatCanBeMentioned = this.prepareContactRoleMentionables(\r\n this.application.channel,\r\n context.globalConfig.company[0],\r\n this._internalContacts, this.allUsers,\r\n context);\r\n this.usersThatCanBeMentioned = usersThatCanBeMentioned.concat(rolesThatCanBeMentioned);\r\n this.usersThatCanBeMentioned.push(MentionsUtils.prepareInternalContactsMentionable());\r\n this.usersThatCanBeMentioned.push(MentionsUtils.prepareHereMentionable());\r\n }\r\n\r\n private prepareContactRoleMentionables = (channelName: string, company: Company, internalContacts: InternalContact[], allUsers: User[], context: ApplicationContext): Mentionable[] => {\r\n let mentionables: Mentionable[] = [];\r\n\r\n const enabledChannels = this._channelService.getChannelsFromCommaDelimitedString(company.enabledChannels);\r\n const enabledChannel = enabledChannels.find(c => c.value === channelName);\r\n\r\n if (enabledChannel) {\r\n mentionables = MentionsUtils.prepareContactRoleMentionables(\r\n enabledChannel.value,\r\n context.globalConfig.channelRoles,\r\n internalContacts,\r\n allUsers);\r\n }\r\n return mentionables;\r\n }\r\n\r\n private loadMessages = () => {\r\n this._portalService.getMessagesForApplication(this.loanId).subscribe({\r\n next: (messages) => {\r\n this.messages = messages.sort((m1, m2) => m1.messageId - m2.messageId).map(message => {\r\n message[\"mentionableContent\"] = MentionsUtils.generateDisplayHtmlWithMentions(message.content);\r\n return message\r\n });\r\n this.messageCount = messages.length;\r\n },\r\n error: (err) => {\r\n this._notifyService.showError(err?.message || \"Couldn't load application messages.\", \"Error!\");\r\n }\r\n });\r\n }\r\n\r\n loadInternalContacts = (context: ApplicationContext) => {\r\n this._spinner.show();\r\n this._internalContactsService.getInternalContacts(this.application.applicationId).subscribe({\r\n next: (internalContacts) => {\r\n if (internalContacts && internalContacts.length > 0) {\r\n this._internalContacts = internalContacts;\r\n this.initializeMentionables(context);\r\n this._spinner.hide();\r\n }\r\n },\r\n error: (err) => {\r\n this._spinner.hide();\r\n this._notifyService.showError(err?.message || \"Couldn't load internal contacts.\", \"Error!\");\r\n }\r\n });\r\n this.users.forEach(user => {\r\n let role = this.contactRoles.find(role => role.roleId == user.roleId);\r\n if (role && role.roleName) {\r\n user.roleName = role.roleName;\r\n }\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
Your Messages( {{ messageCount }} )
\r\n
\r\n
\r\n
\r\n No messages yet!\r\n
\r\n
0\" class=\"h-100 px-2\" style=\"overflow-x: hidden !important; overflow-y: auto !important\"\r\n #scrollMe [scrollTop]=\"scrollMe.scrollHeight\">\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 {{ message.postTime | date :\r\n \"medium\" }} ·\r\n {{ message.senderFirstName + \" \" + message.senderLastName }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { PortalScope } from '../../login/login.component';\r\nimport { ApplicationForUser } from \"../../models/borrower-portal/application-for-user-model\";\r\nimport { LiveDataTotalModel } from '../../models/borrower-portal/live-data-total-model';\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\nimport { LocalStorageService } from '../../services/local-storage.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { PortalContent } from '../../models/borrower-portal/portal-content-model-model';\r\nimport { ApplicationContextService } from '../../services/application-context.service';\r\nimport { ApplicationContext } from '../../models/application-context.model';\r\n\r\n@Component({\r\n selector: 'portal-loans',\r\n templateUrl: './loans.component.html',\r\n})\r\nexport class PortalLoansComponent implements OnInit {\r\n loanStatuses: EnumerationItem[] = [];\r\n sortFields: EnumerationItem[] = [\r\n { name: 'App Id', value: 'appId' },\r\n { name: 'App Name', value: 'appName' },\r\n { name: 'Amount (High to Low)', value: 'amountDesc' },\r\n { name: 'Amount (Low to High)', value: 'amountAsc' },\r\n { name: 'Status', value: 'status' },\r\n ];\r\n\r\n selectedLoanStatus: string = null;\r\n selectedSortField: string = 'appId';\r\n\r\n applications: ApplicationForUser[] = [];\r\n filteredApplications: ApplicationForUser[] = [];\r\n\r\n selectDisplayMode: 'list' | 'card' = 'card';\r\n totals: Record = {};\r\n\r\n isAgent: boolean = false;\r\n\r\n portalContent: PortalContent | null = null;\r\n\r\n appContext: ApplicationContext;\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _spinnerService: NgxSpinnerService,\r\n private readonly _router: Router,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _localStorage: LocalStorageService,\r\n private readonly _ctx: ApplicationContextService\r\n ) {\r\n let portalScope = this._localStorage.authorizationData.scope as PortalScope;\r\n if (portalScope && portalScope == PortalScope.Agent) {\r\n this.isAgent = true;\r\n }\r\n\r\n this._ctx.context.subscribe(contextData => {\r\n this.appContext = contextData;\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this._spinnerService.show();\r\n this._portalService.getPortalContent().subscribe({\r\n next: (portalContent) => {\r\n this.portalContent = portalContent;\r\n this._portalService.getApplicationsForUser().subscribe({\r\n next: (applications) => {\r\n this.applications = applications;\r\n this.filteredApplications = [...this.applications];\r\n\r\n if (this._activatedRoute.snapshot.url.find(url => !url.path.includes('my-loans'))) {\r\n if (this.applications.length === 1) {\r\n let companyGuid = this._navigationService.companyGuid;\r\n this._router.navigate([`${this.isAgent ? 'agent' : 'borrower'}-portal/loans`,\r\n this.applications[0].applicationId], { queryParams: { companyGuid: companyGuid } });\r\n return;\r\n }\r\n }\r\n\r\n this.loadTotals();\r\n\r\n this.sortBySortField(this.selectedSortField);\r\n this.initStatusOptions();\r\n this._spinnerService.hide();\r\n\r\n let affiliations = [];\r\n this.applications.forEach(app => {\r\n let appAffiliations = app.industryAffiliations ? app.industryAffiliations.split(\",\").map(aff => aff.trim()) : [];\r\n affiliations = affiliations.concat(appAffiliations.filter((value, index, self) => self.indexOf(value) === index));\r\n });\r\n\r\n affiliations = affiliations.filter((value, index, self) => self.indexOf(value) === index && value && value != \"Disabled\");\r\n\r\n if (this.appContext) {\r\n this.appContext.industryAffiliations = affiliations;\r\n this._ctx.updateContext(this.appContext);\r\n }\r\n },\r\n error: (err) => {\r\n console.log(err);\r\n this._spinnerService.hide();\r\n },\r\n });\r\n },\r\n error: (err) => {\r\n console.log(err);\r\n this._spinnerService.hide();\r\n },\r\n });\r\n }\r\n\r\n initStatusOptions() {\r\n this.applications.forEach((application) => {\r\n if (\r\n application.loanStatus &&\r\n !this.loanStatuses.map((s) => s.name).includes(application.loanStatus)\r\n ) {\r\n this.loanStatuses.push(\r\n new EnumerationItem(application.loanStatus, application.loanStatus)\r\n );\r\n }\r\n });\r\n }\r\n\r\n loadTotals = () => {\r\n this._portalService.getLiveData().subscribe({\r\n next: (totals) => {\r\n this.totals = totals.applicationTotals as any;\r\n },\r\n error: (err) => {\r\n console.error(err);\r\n },\r\n });\r\n };\r\n\r\n onSearch = (e: any) => {\r\n let searchKey = e.target.value.toUpperCase();\r\n\r\n this.filteredApplications = [];\r\n\r\n if (searchKey) {\r\n this.applications.forEach((application) => {\r\n let isMatched =\r\n application.city?.toUpperCase().includes(searchKey) ||\r\n application.state?.toUpperCase().includes(searchKey) ||\r\n application.zip?.toUpperCase().includes(searchKey) ||\r\n application.address?.toUpperCase().includes(searchKey) ||\r\n application.applicationName?.toUpperCase().includes(searchKey) ||\r\n application?.myDetails?.borrowerName?.toUpperCase().includes(searchKey) ||\r\n application.loanPurpose?.toUpperCase().includes(searchKey) ||\r\n application.loanStatus?.toUpperCase().includes(searchKey);\r\n if (isMatched) {\r\n this.filteredApplications.push(application);\r\n }\r\n });\r\n } else {\r\n this.filteredApplications = [...this.applications];\r\n }\r\n };\r\n\r\n filterByLoanStatus = (loanStatus: string) => {\r\n if (!loanStatus) {\r\n this.filteredApplications = [...this.applications];\r\n } else {\r\n this.filteredApplications = [\r\n ...this.applications.filter((app) => app.loanStatus === loanStatus),\r\n ];\r\n }\r\n };\r\n\r\n sortBySortField = (sortFieldValue: string) => {\r\n switch (sortFieldValue) {\r\n case 'appId':\r\n this.filteredApplications = this.filteredApplications.sort(\r\n (a, b) => b.applicationId - a.applicationId\r\n );\r\n break;\r\n case 'appName':\r\n this.filteredApplications = this.filteredApplications.sort((a, b) =>\r\n a.applicationName.localeCompare(b.applicationName)\r\n );\r\n break;\r\n case 'amountDesc':\r\n this.filteredApplications = this.filteredApplications.sort(\r\n (a, b) => b.loanAmount - a.loanAmount\r\n );\r\n break;\r\n case 'amountAsc':\r\n this.filteredApplications = this.filteredApplications.sort(\r\n (a, b) => a.loanAmount - b.loanAmount\r\n );\r\n break;\r\n case 'status':\r\n this.filteredApplications = this.filteredApplications.sort(\r\n (a, b) =>\r\n a.loanStatus &&\r\n b.loanStatus &&\r\n a.loanStatus.localeCompare(b.loanStatus)\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n this.filteredApplications = [...this.filteredApplications];\r\n };\r\n\r\n badgeLabel = (count = 0): string => {\r\n if (!count) {\r\n return '';\r\n }\r\n return count > 9 ? '9+' : !count ? '' : String(count);\r\n };\r\n\r\n openAgentContact = (loanId: number) => {\r\n let companyGuid = this._navigationService.companyGuid;\r\n this._router.navigate(\r\n [`${this.isAgent ? 'agent' : 'borrower'}-portal/request-a-call`],\r\n { queryParams: { companyGuid: companyGuid, loanId: loanId } }\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 \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
NameLoan AmountInterest RateLoan StatusAddressContactActions
\r\n 0\"\r\n class=\"position-absolute top-1 start-100 translate-middle badge rounded-pill bg-danger\">\r\n {{ badgeLabel(totals[app.applicationId]?.taskCount) }}\r\n \r\n\r\n 0\"\r\n class=\"position-absolute top-1 start-100 translate-middle badge rounded-pill bg-danger\">\r\n {{ badgeLabel(totals[app.applicationId]?.messageCount) }}\r\n \r\n \r\n {{ app.applicationName }}\r\n \r\n {{\r\n app.loanAmount || 0 | currency\r\n }}-\r\n \r\n \r\n {{ app.interestRate || 0 }} %-\r\n {{ app.loanStatus }}\r\n {{ app.address || \"No Street Address\" }}\r\n
\r\n {{ app.city ? app.city + \",\" : \"\" }} {{ app.state }}\r\n {{ app.zip }}\r\n
\r\n \r\n\r\n {{ app.contactName }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Constants } from '../../services/constants';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\n\r\n@Component({\r\n selector: 'open-from-admin',\r\n templateUrl: 'open-from-admin.component.html',\r\n})\r\nexport class OpenFromAdminComponent implements OnInit {\r\n\r\n constructor(private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _notifsService: NotificationService) {\r\n this._activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n this._activatedRoute.queryParams.subscribe((params) => {\r\n const token = params[Constants.token];\r\n if (token) {\r\n let jwtPayload = this._utilsService.parseJwt(token);\r\n\r\n localStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n token: token,\r\n useRefreshTokens: true,\r\n scope: \"Borrower\",\r\n companyGuid: jwtPayload.CompanyGuid,\r\n expiresAt: this._utilsService.getTokenExpireDate(jwtPayload.exp)\r\n }));\r\n\r\n this._navigationService.navigateToPath('borrower-portal/loans', true, null, null, false);\r\n\r\n } else {\r\n this._notifsService.showError('There needs to be a token in the URL.', 'Error!');\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {}\r\n}\r\n","\r\n\r\n","import { Component } from \"@angular/core\";\r\nimport { BasePortalService } from \"../services/base-portal.service\";\r\nimport { PortalServiceFactory } from \"../services/portal-service.factory\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class PortalBaseComponent {\r\n\r\n protected portalService: BasePortalService;\r\n\r\n constructor(private readonly _portalServiceFactory: PortalServiceFactory) {\r\n this.portalService = this._portalServiceFactory.create();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgbDropdownModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgApexchartsModule } from 'ng-apexcharts';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\nimport { SharedModule } from 'projects/shared/shared.module';\r\nimport { SvgIconsModule } from 'projects/shared/svg-icons.module';\r\nimport { PortalAboutComponent } from './about/about.component';\r\nimport { AgentContactInfoComponent } from './agent-contact-info/agent-contact-info.component';\r\nimport { ConfirmESignerComponent } from './confirm-e-signer/confirm-e-signer.component';\r\nimport { ConfirmRegistrationComponent } from './confirm-registration/confirm-registration.component';\r\nimport { ESignViaTokenComponent } from './e-sign-via-token/e-sign-via-token.component';\r\nimport { EsignComponent } from \"./e-sign/e-sign.component\";\r\nimport { GeneratePrequalLetterDialogComponent } from './loan-actions/generate-prequal-letter-dialog/generate-prequal-letter-dialog.component';\r\nimport { WizardAdditionalOptionsComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-additional-options/wizard-additional-options.component';\r\nimport { PrequalLetterWizardDownPaymentComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-down-payment/prequal-letter-wizard-down-payment.component';\r\nimport { PrequalLetterWizardGetStartedComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-get-started/prequal-letter-wizard-get-started.component';\r\nimport { PrequalLetterWizardPropertyAddressComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-property-address/prequal-letter-wizard-property-address.component';\r\nimport { PrequalLetterWizardPurchasePriceComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-purchase-price/prequal-letter-wizard-purchase-price.component';\r\nimport { PrequalLetterWizardReviewInformationComponent } from './loan-actions/generate-prequal-letter-dialog/wizard-review-information/prequal-letter-wizard-review-information.component';\r\nimport { LoanActionsComponent } from './loan-actions/loan-actions.component';\r\nimport { LoanBorrowersComponent } from './loan-borrowers/loan-borrowers.component';\r\nimport { LoanContactsComponent } from './loan-contacts/loan-contacts.component';\r\nimport { PortalLoanDetailsComponent } from './loan-details/loan-details.component';\r\nimport { LoanInfoComponent } from './loan-info/loan-info.component';\r\nimport { LoanMessagesComponent } from './loan-messages/loan-messages.component';\r\nimport { PortalLoansComponent } from './loans/loans.component';\r\nimport { PortalReferAFriendComponent } from './refer-a-friend/refer-a-friend.component';\r\nimport { PortalRequestACallComponent } from './request-a-call/borrower-portal-request-a-call.component';\r\nimport { AddFilesToTaskDialogComponent } from './task-information/add-files-to-task-dialog/add-files-to-task-dialog.component';\r\nimport { AssetsVerificationDialogComponent } from './task-information/assets-verification-dialog/assets-verification-dialog.component';\r\nimport { AttachedDocumentsDialogComponent } from './task-information/attached-documents-dialog/attached-documents-dialog.component';\r\nimport { DocumentLockerTableComponent } from './task-information/document-locker-table/document-locker-table.component';\r\nimport { EConsentDialogComponent } from './task-information/e-consent-dialog/e-consent-dialog.component';\r\nimport { OtherTasksTableComponent } from './task-information/other-tasks-table/other-tasks-table.component';\r\nimport { OutstandingTableComponent } from './task-information/outstanding-table/outstanding-table.component';\r\nimport { PaymentInfoDialogComponent } from './task-information/payment-info-dialog/payment-info-dialog.component';\r\nimport { PaymentOrderDetailsComponent } from './task-information/payment-info-dialog/payment-order-details/payment-order-details.component';\r\nimport { ScenarioCardComponent } from './task-information/pinned-scenario-card/scenario-card.component';\r\nimport { ScenarioTaxesEditorComponent } from './task-information/pinned-scenario-card/scenario-taxes-editor/scenario-taxes-editor.component';\r\nimport { ScenariosComponent } from './task-information/scenarios/scenarios.component';\r\nimport { TaskAnswerQuestionDialogComponent } from './task-information/task-answer-question-dialog/task-answer-question-dialog.component';\r\nimport { PortalTaskInformationComponent } from './task-information/task-information.component';\r\nimport { TaskNotApplicableDialogComponent } from './task-information/task-not-applicable-dialog/task-not-applicable-dialog.component';\r\nimport { TasksAnswerQuestionComponent } from './task-information/tasks-answer-question/tasks-answer-question.component';\r\nimport { TasksAssetsComponent } from './task-information/tasks-assets/tasks-assets.component';\r\nimport { TasksHoiComponent } from './task-information/tasks-hoi/tasks-hoi.component';\r\nimport { TasksNormalComponent } from './task-information/tasks-normal/tasks-normal.component';\r\nimport { TasksOnlineAppComponent } from './task-information/tasks-online-app/tasks-online-app.component';\r\nimport { ViewDocumentComponent } from './task-information/view-document/view-document.component';\r\nimport { DigitalAssetsVerificationComponent } from './digital-assets-verification/digital-assets-verification.component';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { MortgageCalculatorDialogComponent } from './loan-actions/mortgage-calculator-dialog/mortgage-calculator-dialog.component';\r\nimport { TasksIncomeAndEmploymentComponent } from './task-information/tasks-income-employment/tasks-income-employment.component';\r\nimport { IncomeEmploymentVerificationDialogComponent } from './task-information/income-employment-verification-dialog/income-employment-verification-dialog.component';\r\nimport { DigitalIncomeEmploymentVerificationComponent } from './digital-income-employment-verification/digital-income-employment-verification.component';\r\nimport { TaskBorrowerPickerDialogComponent } from './task-information/task-borrower-picker-dialog/task-borrower-picker-dialog.component';\r\nimport {AddDocumentsToLoanDialogComponent} from './loan-actions/add-documents-to-loan-dialog/add-documents-to-loan-dialog.component'\r\n\r\n@NgModule({\r\n declarations: [\r\n AgentContactInfoComponent,\r\n PortalTaskInformationComponent,\r\n DocumentLockerTableComponent,\r\n OutstandingTableComponent,\r\n OtherTasksTableComponent,\r\n PortalLoansComponent,\r\n PortalLoanDetailsComponent,\r\n LoanBorrowersComponent,\r\n LoanContactsComponent,\r\n LoanMessagesComponent,\r\n LoanInfoComponent,\r\n GeneratePrequalLetterDialogComponent,\r\n PrequalLetterWizardGetStartedComponent,\r\n PrequalLetterWizardPropertyAddressComponent,\r\n PrequalLetterWizardPurchasePriceComponent,\r\n PrequalLetterWizardDownPaymentComponent,\r\n PrequalLetterWizardReviewInformationComponent,\r\n AttachedDocumentsDialogComponent,\r\n AddFilesToTaskDialogComponent,\r\n PaymentInfoDialogComponent,\r\n EConsentDialogComponent,\r\n ConfirmESignerComponent,\r\n PaymentOrderDetailsComponent,\r\n EsignComponent,\r\n ESignViaTokenComponent,\r\n ViewDocumentComponent,\r\n TasksOnlineAppComponent,\r\n TasksAssetsComponent,\r\n TasksIncomeAndEmploymentComponent,\r\n TasksHoiComponent,\r\n TasksNormalComponent,\r\n TasksAnswerQuestionComponent,\r\n AssetsVerificationDialogComponent,\r\n IncomeEmploymentVerificationDialogComponent,\r\n LoanContactsComponent,\r\n PortalRequestACallComponent,\r\n PortalAboutComponent,\r\n ConfirmRegistrationComponent,\r\n ScenariosComponent,\r\n ScenarioCardComponent,\r\n ScenarioTaxesEditorComponent,\r\n WizardAdditionalOptionsComponent,\r\n PortalReferAFriendComponent,\r\n TaskNotApplicableDialogComponent,\r\n TaskAnswerQuestionDialogComponent,\r\n TaskBorrowerPickerDialogComponent,\r\n LoanActionsComponent,\r\n MortgageCalculatorDialogComponent,\r\n DigitalAssetsVerificationComponent,\r\n DigitalIncomeEmploymentVerificationComponent,\r\n AddDocumentsToLoanDialogComponent\r\n ],\r\n imports: [\r\n SharedModule,\r\n NgbDropdownModule,\r\n NgApexchartsModule,\r\n CommonModule,\r\n FormsModule,\r\n SvgIconsModule,\r\n NgxMaskModule,\r\n NgbPopoverModule,\r\n DropdownModule\r\n ],\r\n exports: [\r\n DropdownModule,\r\n AgentContactInfoComponent,\r\n PortalTaskInformationComponent,\r\n DocumentLockerTableComponent,\r\n OutstandingTableComponent,\r\n OtherTasksTableComponent,\r\n PortalLoansComponent,\r\n PortalLoanDetailsComponent,\r\n LoanBorrowersComponent,\r\n LoanContactsComponent,\r\n LoanMessagesComponent,\r\n LoanInfoComponent,\r\n GeneratePrequalLetterDialogComponent,\r\n PrequalLetterWizardGetStartedComponent,\r\n PrequalLetterWizardPropertyAddressComponent,\r\n PrequalLetterWizardPurchasePriceComponent,\r\n PrequalLetterWizardDownPaymentComponent,\r\n PrequalLetterWizardReviewInformationComponent,\r\n AttachedDocumentsDialogComponent,\r\n AddFilesToTaskDialogComponent,\r\n PaymentInfoDialogComponent,\r\n EConsentDialogComponent,\r\n ConfirmESignerComponent,\r\n PaymentOrderDetailsComponent,\r\n EsignComponent,\r\n ESignViaTokenComponent,\r\n ViewDocumentComponent,\r\n TasksOnlineAppComponent,\r\n TasksAssetsComponent,\r\n TasksIncomeAndEmploymentComponent,\r\n TasksHoiComponent,\r\n TasksNormalComponent,\r\n TasksAnswerQuestionComponent,\r\n AssetsVerificationDialogComponent,\r\n IncomeEmploymentVerificationDialogComponent,\r\n LoanContactsComponent,\r\n PortalRequestACallComponent,\r\n PortalAboutComponent,\r\n ConfirmRegistrationComponent,\r\n ScenariosComponent,\r\n ScenarioCardComponent,\r\n ScenarioTaxesEditorComponent,\r\n PortalReferAFriendComponent,\r\n MortgageCalculatorDialogComponent,\r\n DigitalAssetsVerificationComponent,\r\n DigitalIncomeEmploymentVerificationComponent,\r\n AddDocumentsToLoanDialogComponent\r\n ]\r\n})\r\nexport class PortalsCommonModule { }\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PortalContent } from '../../models/borrower-portal/portal-content-model-model';\r\nimport { ReferAFriendRequest, ReferralType } from '../../models/borrower-portal/refer-a-friend-request.model';\r\nimport { ReferralAgent } from '../../models/borrower-portal/referral-agent-model';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\nimport { NotificationService } from '../../services/notification.service';\r\n\r\n@Component({\r\n selector: 'portal-refer-a-friend',\r\n templateUrl: './refer-a-friend.component.html',\r\n styleUrls: ['./refer-a-friend.component.scss']\r\n})\r\n\r\nexport class PortalReferAFriendComponent implements OnInit {\r\n\r\n @ViewChild('referAFriendForm') referAFriendForm: NgForm | undefined;\r\n\r\n req: ReferAFriendRequest = new ReferAFriendRequest();\r\n\r\n agents: ReferralAgent[] = [];\r\n portalContent: PortalContent;\r\n\r\n isSaving: boolean = false;\r\n termsOpened: boolean = false;\r\n\r\n referralTypes: ReferralType[] = [\r\n ReferralType.Borrower,\r\n ReferralType.Agent\r\n ];\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private readonly _spinnerService: NgxSpinnerService,\r\n private readonly _notifyService: NotificationService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.req.referralType = ReferralType.Borrower;\r\n this.loadPortalContent();\r\n this.loadAgents();\r\n }\r\n\r\n loadAgents = () => {\r\n this._spinnerService.show();\r\n this._portalService.getReferralAgents()\r\n .subscribe(agents => {\r\n this.agents = agents;\r\n if(agents.length > 0){\r\n this.req.referToUserId = agents[0].userId;\r\n }\r\n })\r\n .add(() => {\r\n this._spinnerService.hide();\r\n })\r\n }\r\n\r\n loadPortalContent = () => {\r\n this._spinnerService.show();\r\n this._portalService.getPortalContent()\r\n .subscribe(content => {\r\n this.portalContent = content;\r\n })\r\n .add(() => {\r\n this._spinnerService.hide();\r\n })\r\n }\r\n\r\n submit = () => {\r\n this.referAFriendForm.form.markAllAsTouched();\r\n\r\n if (this.referAFriendForm.form.valid) {\r\n\r\n this._spinnerService.show();\r\n this.isSaving = true;\r\n this._portalService.postReferAFriend(this.req)\r\n .subscribe(() => {\r\n this._notifyService.showSuccess(\"Your referral has been submitted successfully.\", 'Success!');\r\n })\r\n .add(() => {\r\n this._spinnerService.hide();\r\n this.isSaving = false;\r\n })\r\n }\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n Refer A Friend\r\n

\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n
This field 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
\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 The alert component can be used to\r\n highlight certain parts of your page for higher content visibility.\r\n
\r\n
\r\n
\r\n
\r\n","import { Location } from '@angular/common';\r\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { AgentRequestACallModel } from '../../models/borrower-portal/agent-request-a-call.model';\r\nimport { BasePortalService } from '../../services/base-portal.service';\r\n\r\n@Component({\r\n selector: 'portal-request-a-call',\r\n templateUrl: './borrower-portal-request-a-call.component.html',\r\n styleUrls: ['./borrower-portal-request-a-call.component.scss']\r\n})\r\nexport class PortalRequestACallComponent implements OnInit {\r\n\r\n @ViewChild('requestCallForm') requestCallForm: NgForm | undefined;\r\n\r\n @Output() close: EventEmitter = new EventEmitter();\r\n\r\n loanId: number;\r\n requestACall: AgentRequestACallModel;\r\n\r\n constructor(\r\n private readonly _portalService: BasePortalService,\r\n private location: Location,\r\n private readonly _route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._route.paramMap.subscribe((params: ParamMap) => {\r\n this.loanId = +params.get('loanId');\r\n this.requestACall = new AgentRequestACallModel(this.loanId);\r\n });\r\n }\r\n\r\n bestCallbackTimeChanged = (date: string) => {\r\n this.requestACall.bestCallbackTime = new Date(date);\r\n }\r\n\r\n submit = () => {\r\n this.requestCallForm.form.markAllAsTouched();\r\n if (this.requestCallForm.form.valid) {\r\n this._portalService.postReqestACall(this.requestACall)\r\n .subscribe(() => {\r\n this.close.emit();\r\n this.location.back();\r\n alert(\"Thanks, you'll hear from us soon!\");\r\n });\r\n }\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

REQUEST A CALL

\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\nimport { HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\n\r\n@Component({\r\n selector: 'app-add-files-to-task-dialog',\r\n templateUrl: './add-files-to-task-dialog.component.html',\r\n styleUrls: ['./add-files-to-task-dialog.component.scss']\r\n})\r\nexport class AddFilesToTaskDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @Input()\r\n task: ApplicationTaskModel;\r\n\r\n isUploading = false;\r\n\r\n constructor(public activeModal: NgbActiveModal, private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _notifsService: NotificationService\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n protected onUploadClicked = (files: any[]) => {\r\n this.uploadFiles(files);\r\n }\r\n\r\n private uploadFiles = (files: any[]) => {\r\n files.forEach((file, index) => {\r\n this.portalService.uploadDocument(this.task.taskId, '', file).subscribe(\r\n (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.isUploading = true;\r\n file.progress = Math.round(100 * event.loaded / event.total);\r\n } else if (event instanceof HttpResponse) {\r\n this.isUploading = false;\r\n this.activeModal.close();\r\n }\r\n },\r\n (err: any) => {\r\n const errorMessage = getErrorMessageOrDefault(err, {\r\n defaultMessage: 'Error uploading documents to task.',\r\n });\r\n this._notifsService.showError(errorMessage, 'Error!');\r\n file.progress = 0;\r\n this.isUploading = false;\r\n this.activeModal.close();\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n
Add Files
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { AssetService } from '../../../services/asset-service';\r\nimport { Observer } from 'rxjs';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { BorrowerVerificationOrderHistory } from '../../../models/borrower-verification-order-history.model';\r\nimport { BorrowerVerificationUserEnrollmentResponse } from '../../../models/borrower-verification-user-enrollment.model';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\n\r\n@Component({\r\n selector: 'app-assets-verification-dialog',\r\n templateUrl: './assets-verification-dialog.component.html',\r\n styleUrls: ['./assets-verification-dialog.component.scss']\r\n})\r\nexport class AssetsVerificationDialogComponent implements OnInit {\r\n\r\n @Input() applicationId: number;\r\n @Input() task: ApplicationTaskModel;\r\n @Input() voaEnabled: boolean = false;\r\n\r\n protected provider: \"FormFree\" | \"Truv\" = \"FormFree\";\r\n protected thirdPartyEnrollmentWidget: string = \"\";\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private _spinner: NgxSpinnerService,\r\n private _assetService: AssetService,\r\n private _notifyService: NotificationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const observer: Observer = {\r\n next: (order: BorrowerVerificationOrderHistory) => {\r\n if (order) {\r\n this.provider = order.integrationProvider as \"FormFree\" | \"Truv\";\r\n }\r\n\r\n this.setEnrollmentWidget();\r\n },\r\n error: (err: any) => {\r\n if (err.status == 404) {\r\n this.setEnrollmentWidget();\r\n } else {\r\n this._notifyService.showError(\"Failed to get verification order. Please, contact your loan contact.\", \"Error\");\r\n this.activeModal.dismiss();\r\n }\r\n },\r\n complete: () => {\r\n }\r\n }\r\n\r\n this._spinner.show();\r\n this._assetService.getVerificationOrderHistoryForTask(this.task.taskId).subscribe(observer)\r\n .add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n setEnrollmentWidget(): void {\r\n // TODO: Need to find provider to use based on task\r\n this._spinner.show();\r\n this._assetService.initializeBorrowerAssetVerification(this.task.borrowerId, this.applicationId, this.provider).subscribe({\r\n next: (response: BorrowerVerificationUserEnrollmentResponse) => {\r\n this.thirdPartyEnrollmentWidget = response.htmlWidgetSrc;\r\n },\r\n error: (error: any) => {\r\n this._notifyService.showError(\"Failed to get verification order. Please, contact your loan contact.\", \"Error\");\r\n this.activeModal.dismiss();\r\n },\r\n complete: () => {\r\n }\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n}\r\n","
\r\n
Verify Your Assets
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Digital Assets Not Available

\r\n

We are not able to pull your assets digitally at the moment.\r\n \r\n

\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as FileSaver from \"file-saver\";\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\n\r\n@Component({\r\n selector: 'app-attached-documents-dialog',\r\n templateUrl: './attached-documents-dialog.component.html',\r\n styleUrls: ['./attached-documents-dialog.component.scss']\r\n})\r\nexport class AttachedDocumentsDialogComponent implements OnInit {\r\n\r\n @Input() task: ApplicationTaskModel;\r\n\r\n constructor( public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToFileLink(url: string){\r\n window.open(url.replace(\"httsp://\", \"https://\"), \"_blank\");\r\n }\r\n\r\n downloadLink(url: string, fileName: string) {\r\n FileSaver.saveAs(url.replace(\"httsp://\", \"https://\"), fileName);\r\n }\r\n\r\n}\r\n","
\r\n
Attached Documents
\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
File NameNote
\r\n {{ document.fileName }}\r\n \r\n {{\r\n document.borrowerNote === null\r\n ? \"No note from the borrower.\"\r\n : document.borrowerNote\r\n }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BorrowerDocumentModel } from '../../../models/borrower-portal/borrower-document-model';\r\nimport { ApplicationContextService } from '../../../services/application-context.service';\r\n\r\nimport { DocumentType } from '../../../models/global-config.model';\r\nimport * as _ from 'lodash';\r\nimport { LinkedDocument } from '../view-document/view-document.component';\r\n\r\nclass DocGroupByType {\r\n documentTypeName: string;\r\n documentTypeId: number;\r\n docs: LinkedDocument[] = [];\r\n}\r\n\r\n@Component({\r\n selector: 'borrower-portal/document-locker-table',\r\n templateUrl: './document-locker-table.component.html',\r\n})\r\nexport class DocumentLockerTableComponent implements OnInit {\r\n\r\n @Input() documents: BorrowerDocumentModel[] = [];\r\n\r\n docGroups: DocGroupByType[] = [];\r\n documentTypes: DocumentType[] = [];\r\n\r\n constructor(private readonly _appContextService: ApplicationContextService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._appContextService.context.subscribe(context => {\r\n this.documentTypes = context.globalConfig.documentType;\r\n\r\n this.setGroupData();\r\n })\r\n }\r\n\r\n private setGroupData = () => {\r\n let grouped_data = _.groupBy(this.documents, 'documentTypeId');\r\n Object.keys(grouped_data).forEach(key => {\r\n let group = new DocGroupByType();\r\n group.documentTypeId = key == 'undefined' || key == 'null' ? null : Number(key);\r\n group.documentTypeName = this.documentTypes.find(t => t.documentTypeId == group.documentTypeId)?.documentTypeName;\r\n group.docs = grouped_data[key].map(d => {\r\n {\r\n const linkedDocument: LinkedDocument = {\r\n fileGuid: d.guid,\r\n mimeType: d.mimeType,\r\n note: d.note,\r\n fileName: d.fileName,\r\n dateInserted: d.dateInserted\r\n }\r\n return linkedDocument;\r\n }\r\n });\r\n this.docGroups.push(group);\r\n });\r\n\r\n this.docGroups = _.sortBy(this.docGroups, ['documentTypeName'], ['asc']);\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 There are no documents.\r\n

\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-e-consent-dialog',\r\n templateUrl: './e-consent-dialog.component.html',\r\n styleUrls: ['./e-consent-dialog.component.scss']\r\n})\r\nexport class EConsentDialogComponent implements OnInit {\r\n\r\n @Input() loanId: number;\r\n @Input() eConsentText: string;\r\n\r\n isEconsentChecked: boolean = false;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","
\r\n
EConsent Authorization
\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 Cancel\r\n \r\n \r\n Accept\r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { Observer } from 'rxjs';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { BorrowerVerificationOrderHistory } from '../../../models/borrower-verification-order-history.model';\r\nimport { BorrowerVerificationUserEnrollmentResponse } from '../../../models/borrower-verification-user-enrollment.model';\r\nimport { IncomeService } from '../../../services/income-service';\r\n\r\n@Component({\r\n selector: 'income-employment-verification-dialog',\r\n templateUrl: './income-employment-verification-dialog.component.html',\r\n styleUrls: ['./income-employment-verification-dialog.component.scss']\r\n})\r\nexport class IncomeEmploymentVerificationDialogComponent implements OnInit {\r\n\r\n @Input() applicationId: number;\r\n @Input() task: ApplicationTaskModel;\r\n @Input() voeEnabled: boolean = false;\r\n\r\n protected provider: \"AccountCheck\" | \"Truv\" = \"Truv\";\r\n protected thirdPartyEnrollmentWidget: string = \"\";\r\n\r\n protected loading: boolean = true;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private _spinner: NgxSpinnerService,\r\n private _incomeService: IncomeService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const observer: Observer = {\r\n next: (order: BorrowerVerificationOrderHistory) => {\r\n if (order) {\r\n this.provider = order.integrationProvider as \"AccountCheck\" | \"Truv\";\r\n }\r\n this.setEnrollmentWidget();\r\n },\r\n error: (err: any) => {\r\n if (err.status == 404) {\r\n this.setEnrollmentWidget();\r\n } else {\r\n console.log(err);\r\n }\r\n },\r\n complete: () => {\r\n }\r\n }\r\n\r\n this._spinner.show();\r\n this._incomeService.getVerificationOrderHistoryForTask(this.task.taskId).subscribe(observer)\r\n .add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n setEnrollmentWidget(): void {\r\n // TODO: Need to find provider to use based on task\r\n this.loading = true;\r\n this._incomeService.initializeBorrowerIncomeAndEmploymentVerification(this.task.borrowerId, this.applicationId, this.provider).subscribe({\r\n next: (response: BorrowerVerificationUserEnrollmentResponse) => {\r\n this.thirdPartyEnrollmentWidget = response.htmlWidgetSrc;\r\n },\r\n error: (error: any) => {\r\n console.log(error);\r\n },\r\n complete: () => {\r\n console.log('complete');\r\n }\r\n }).add(() => {\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","
\r\n
Verify Your Income/Employment
\r\n \r\n
\r\n\r\n
\r\n
\r\n

Please wait...

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

Digital Income/Employment Verification not Available

\r\n

We are not able to pull your income/employment digitally at the moment.\r\n \r\n

\r\n
\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ApplicationTaskModel } from \"../../../models/borrower-portal/application-task-model\";\r\nimport { Constants } from \"../../../services/constants\";\r\nimport { AddFilesToTaskDialogComponent } from \"../add-files-to-task-dialog/add-files-to-task-dialog.component\";\r\nimport { AttachedDocumentsDialogComponent } from \"../attached-documents-dialog/attached-documents-dialog.component\";\r\n\r\n@Component({\r\n selector: 'other-tasks-table',\r\n templateUrl: './other-tasks-table.component.html'\r\n})\r\n\r\nexport class OtherTasksTableComponent implements OnInit {\r\n\r\n @Input() applicationTasks: ApplicationTaskModel[] = [];\r\n\r\n constructor(private modalService: NgbModal) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToLink(url: string){\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n openAddFiles(task: ApplicationTaskModel) {\r\n const modalRef = this.modalService.open(AddFilesToTaskDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n });\r\n }\r\n\r\n openAttachedDocuments = (task: ApplicationTaskModel) => {\r\n const modalRef = this.modalService.open(AttachedDocumentsDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n });\r\n }\r\n}\r\n"," 0\">\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
TaskDue DateStatusActions
\r\n {{ task.docType || task.description }}\r\n \r\n {{ task.dueDate | dateAgo }}\r\n \r\n {{ task.borrowerTaskStatus }}\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 No task found!\r\n

\r\n","import { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgbModal, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ApplicationTaskModel } from \"../../../models/borrower-portal/application-task-model\";\r\nimport { Constants } from \"../../../services/constants\";\r\nimport { AddFilesToTaskDialogComponent } from \"../add-files-to-task-dialog/add-files-to-task-dialog.component\";\r\n\r\n@Component({\r\n selector: 'borrower-portal/outstanding-table',\r\n templateUrl: './outstanding-table.component.html'\r\n})\r\n\r\nexport class OutstandingTableComponent implements OnInit {\r\n\r\n @Input() applicationTasks: ApplicationTaskModel[] = [];\r\n\r\n @ViewChild('uploadModal') uploadModal!: NgbModalRef;\r\n\r\n selectedTask: ApplicationTaskModel = new ApplicationTaskModel();\r\n uploadSuccess: string = 'Upload';\r\n\r\n constructor(private modalService: NgbModal) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToLink(url: string){\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n openAddFiles(task: ApplicationTaskModel) {\r\n const modalRef = this.modalService.open(AddFilesToTaskDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n });\r\n }\r\n\r\n}\r\n"," 0\">\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
TaskDue DateStatusCompleteActions
\r\n {{ task.docType }}\r\n \r\n {{ task.dueDate | dateAgo }}\r\n \r\n {{ task.borrowerTaskStatus }}\r\n \r\n {{ task.description }}\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 No task found!\r\n

\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { PaymentInformation } from '../../../models/payment-information.model';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\n\r\n@Component({\r\n selector: 'app-payment-info-dialog',\r\n templateUrl: './payment-info-dialog.component.html',\r\n styleUrls: ['./payment-info-dialog.component.scss']\r\n})\r\nexport class PaymentInfoDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @ViewChild('paymentOrderForm') paymentOrderForm: NgForm | undefined;\r\n\r\n @Input() task: ApplicationTaskModel;\r\n\r\n paymentInfoDetails: PaymentInformation = new PaymentInformation();\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private readonly portalServiceFactory: PortalServiceFactory,\r\n private readonly _spinner: NgxSpinnerService\r\n ) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n save = () => {\r\n this.paymentOrderForm.form.markAllAsTouched();\r\n if (!this.paymentOrderForm.form.valid) {\r\n return;\r\n }\r\n\r\n this._spinner.show();\r\n\r\n this.portalService.orderPayment(this.task.taskId, this.paymentInfoDetails)\r\n .subscribe({\r\n next: (res) => {\r\n this._spinner.hide();\r\n alert(\"Payment information saved successfully.\");\r\n this.activeModal.close();\r\n },\r\n error: (err) => {\r\n console.error(err); // Unable to save payment information\r\n this._spinner.hide();\r\n }\r\n })\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n","
\r\n
Enter Your Payment Information
\r\n \r\n
\r\n\r\n
\r\n
{{task.description}}
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PaymentInformation } from 'projects/borrower-app/src/app/models/payment-information.model';\r\nimport { EnumsService } from 'projects/borrower-app/src/app/services/enums.service';\r\nimport { formViewProvider } from 'projects/borrower-app/src/app/services/form-view.provider';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\n\r\n@Component({\r\n selector: 'payment-order-details',\r\n templateUrl: './payment-order-details.component.html',\r\n styleUrls: ['./payment-order-details.component.scss'],\r\n viewProviders: [formViewProvider],\r\n})\r\nexport class PaymentOrderDetailsComponent implements OnInit {\r\n\r\n @Input() paymentInfo: PaymentInformation;\r\n expirationDate: Date = new Date();\r\n\r\n states: EnumerationItem[] = [];\r\n\r\n constructor(private readonly _enumsService: EnumsService) { }\r\n\r\n ngOnInit(): void {\r\n this.states = this._enumsService.stateNames;\r\n }\r\n\r\n expirationDateChanged = (date: string) => {\r\n this.expirationDate = new Date(date);\r\n this.paymentInfo.creditCardExpirationYear = this.expirationDate.getFullYear();\r\n this.paymentInfo.creditCardExpirationMonth = this.expirationDate.getMonth() + 1;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
This field 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
This field is required
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required
\r\n
\r\n
\r\n \r\n \r\n
This field is required
\r\n \r\n Invalid email format\r\n
\r\n
\r\n\r\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { ChartOptions } from '../../../agent-portal/agent-portal-referrals/agent-portal-referrals.component';\r\nimport { FeeSectionEnum } from '../../../models/fee/fee-section.enum';\r\nimport { LoanFee } from '../../../models/fee/fee.model';\r\nimport { PricingScenario } from '../../../models/pricing/pricing-scenario.model';\r\nimport { BasePortalService } from '../../../services/base-portal.service';\r\n\r\n@Component({\r\n selector: 'scenario-card',\r\n templateUrl: 'scenario-card.component.html',\r\n styleUrls: ['./scenario-card.component.scss']\r\n})\r\n\r\nexport class ScenarioCardComponent implements OnInit, AfterViewInit {\r\n\r\n @Input()\r\n scenario: PricingScenario;\r\n\r\n @Input()\r\n applicationId: number;\r\n\r\n @Input()\r\n index: number;\r\n\r\n feesTotal: number = 0;\r\n\r\n prepaidFeesTotal: number = 0;\r\n\r\n editClicked: boolean = false;\r\n\r\n chartOptions: Partial = {\r\n series: [],\r\n labels: [],\r\n yaxis: {\r\n show: false\r\n },\r\n xaxis: {\r\n labels: {\r\n show: false\r\n }\r\n },\r\n grid: {\r\n show: false\r\n },\r\n chart: {\r\n type: 'line',\r\n zoom: {\r\n enabled: false\r\n },\r\n toolbar: {\r\n show: false\r\n }\r\n },\r\n stroke: {\r\n show: true,\r\n colors: [\"transparent\"]\r\n },\r\n markers: {\r\n size: 6,\r\n hover: {\r\n size: 10\r\n }\r\n },\r\n dataLabels: {\r\n enabled: false\r\n }\r\n };\r\n\r\n fees: LoanFee[];\r\n\r\n constructor(private readonly _portalService: BasePortalService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getFees();\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.chartOptions = {\r\n ...this.chartOptions,\r\n series: [\r\n {\r\n name: 'Price',\r\n data: this.getPrices()\r\n }\r\n ],\r\n labels: this.getDates()\r\n }\r\n }\r\n\r\n togglePopover = (popover: any) => {\r\n if (popover.isOpen()) {\r\n popover.close();\r\n } else {\r\n popover.open();\r\n }\r\n }\r\n\r\n private getPrices = () => {\r\n return this.scenario ? this.scenario.history.filter(h => h && h.adjustedPrice).map(h => h.adjustedPrice) : [];\r\n }\r\n\r\n private getDates = () => {\r\n return this.scenario ? this.scenario.history.filter(h => h && h.date).map(h => new Date(h.date).toLocaleDateString(\"en-US\")) : [];\r\n }\r\n\r\n private getFees = () => {\r\n this._portalService.getScenarioFees(this.scenario.pricingScenarioId).subscribe(fees => {\r\n this.fees = fees;\r\n this.feesTotal = fees.reduce((prev, cur) => prev + (cur.calculatedValues.borrowerTotal || 0), 0);\r\n this.prepaidFeesTotal = fees.filter(f => f.feeSection === FeeSectionEnum.Prepaids).reduce((prev, cur) => prev + (cur.calculatedValues.borrowerTotal || 0), 0);\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

{{ scenario.productName }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{\r\n scenario.pricingRequestPayload &&\r\n scenario.pricingRequestPayload.loanInformation\r\n ? (scenario.pricingRequestPayload.loanInformation.baseLoanAmount\r\n | currency)\r\n : \"\"\r\n }}\r\n \r\n
\r\n
\r\n LOAN AMOUNT\r\n
\r\n
\r\n
\r\n {{\r\n scenario.pricingRequestPayload &&\r\n scenario.pricingRequestPayload.propertyInformation\r\n ? (scenario.pricingRequestPayload.propertyInformation.appraisedValue\r\n | currency)\r\n : \"\"\r\n }}\r\n \r\n
\r\n
\r\n APPRAISED VALUE\r\n
\r\n
\r\n
\r\n {{\r\n scenario.adjustedRate\r\n ? (scenario.adjustedRate / 100 | percent : \"1.3-3\")\r\n : \"Unknown\"\r\n }}\r\n /\r\n {{\r\n scenario.apr ? (scenario.apr / 100 | percent : \"1.3-3\") : \"Unknown\"\r\n }}\r\n \r\n
\r\n
\r\n RATE / APR\r\n
\r\n
\r\n
\r\n
\r\n Notes: {{ scenario.borrowerNotes }}\r\n \r\n
\r\n
\r\n
\r\n
0\">\r\n \r\n
\r\n
0\" />\r\n
\r\n = 100.0\"\r\n class=\"text-muted price-rebate\"\r\n >{{ scenario.rebatePercent }} /\r\n {{ scenario.rebateDollars | currency }}\r\n ({{ scenario.discountPercent }}) / ({{\r\n scenario.discountDollars | currency\r\n }})\r\n
\r\n
\r\n POINTS \r\n
\r\n
\r\n
\r\n {{\r\n scenario.principalAndInterest\r\n ? (scenario.principalAndInterest | currency)\r\n : \"Unknown\"\r\n }}\r\n /\r\n {{\r\n scenario.totalPayment ? (scenario.totalPayment | currency) : \"Unknown\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n MONTHLY P&I / PI(TI)\r\n \r\n
\r\n
\r\n
\r\n \r\n {{ feesTotal | currency }} \r\n \r\n
\r\n
\r\n SCENARIO FEES \r\n
\r\n
\r\n
\r\n {{ prepaidFeesTotal | currency }} \r\n \r\n
\r\n\r\n
\r\n PREPAIDS \r\n
\r\n
\r\n
\r\n {{\r\n scenario.totalClosingCost\r\n ? (scenario.totalClosingCost | currency)\r\n : \"Unknown\"\r\n }}\r\n
\r\n
\r\n CASH TO CLOSE \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PricingScenario } from 'projects/borrower-app/src/app/models/pricing/pricing-scenario.model';\r\n\r\n@Component({\r\n selector: 'scenario-taxes-editor',\r\n templateUrl: './scenario-taxes-editor.component.html',\r\n styleUrls: ['./scenario-taxes-editor.component.scss']\r\n})\r\nexport class ScenarioTaxesEditorComponent implements OnInit {\r\n\r\n @Input()\r\n scenario: PricingScenario;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\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","import { Component, Input, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { PricingScenario } from '../../../models/pricing/pricing-scenario.model';\r\nimport { ScenarioCardComponent } from '../pinned-scenario-card/scenario-card.component';\r\n\r\n@Component({\r\n selector: 'scenarios',\r\n templateUrl: 'scenarios.component.html',\r\n styleUrls: ['./scenarios.component.scss']\r\n})\r\nexport class ScenariosComponent implements OnInit {\r\n\r\n @ViewChildren(\"scenarioCard\")\r\n scenarioCards: QueryList;\r\n\r\n @Input()\r\n applicationId: number | null;\r\n\r\n @Input()\r\n set scenarios(scenarios: PricingScenario[]) {\r\n this._scenarios = scenarios;\r\n\r\n for (let i = 0; i < this.scenarios.length; i++) {\r\n this._scenarios[i]['index'] = i + 1;\r\n }\r\n }\r\n\r\n get scenarios(): PricingScenario[] {\r\n return this._scenarios;\r\n }\r\n\r\n private _scenarios: PricingScenario[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\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 There are no saved scenarios. \r\n
\r\n
\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { Observer } from 'rxjs';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'task-answer=question-dialog',\r\n templateUrl: 'task-answer-question-dialog.component.html'\r\n})\r\nexport class TaskAnswerQuestionDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @ViewChild('answerForm')\r\n answerForm: NgForm | undefined;\r\n\r\n @Input()\r\n task: ApplicationTaskModel;\r\n\r\n protected answer: string;\r\n\r\n constructor(private readonly portalServiceFactory: PortalServiceFactory,\r\n public activeModal: NgbActiveModal,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _spinner: NgxSpinnerService,) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onOkClicked() {\r\n this.answerForm.form.markAllAsTouched();\r\n if (!this.answerForm.form.valid) {\r\n return;\r\n }\r\n\r\n const observer: Observer = {\r\n next: (value: any) => {\r\n this.activeModal.close();\r\n },\r\n error: (err: any) => {\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while answering the question.\", 'Error!');\r\n },\r\n complete: () => {\r\n }\r\n }\r\n this._spinner.show();\r\n this.portalService.answerTaskQuestion(this.task.taskId, `\\\"${this.answer}\\\"`).subscribe(observer)\r\n .add(() => this._spinner.hide());\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Answer Question

\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

{{task.description}}

\r\n
\r\n
\r\n \r\n \r\n
Please enter your answer above.
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'task-borrower-picker-dialog',\r\n templateUrl: 'task-borrower-picker-dialog.component.html',\r\n})\r\nexport class TaskBorrowerPickerDialogComponent implements OnInit {\r\n\r\n @ViewChild('borrowerPickerForm')\r\n borrowerPickerForm: NgForm;\r\n\r\n @Input()\r\n borrowers: BorrowerViewModel[] = [];\r\n\r\n protected selectedBorrowerId: number | null | undefined = null;\r\n\r\n constructor(public activeModal: NgbActiveModal) {}\r\n\r\n ngOnInit() {\r\n if (this.borrowers.length === 1) {\r\n this.selectedBorrowerId = this.borrowers[0].id;\r\n }\r\n }\r\n\r\n protected onOkClicked = () => {\r\n if (this.borrowerPickerForm?.form.valid) {\r\n this.activeModal.close(this.selectedBorrowerId);\r\n }\r\n }\r\n}\r\n\r\nexport interface BorrowerViewModel {\r\n id: number;\r\n name: string;\r\n}\r\n","\r\n\r\n
\r\n\r\n

There are asset verification tasks for multiple borrowers

\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
Borrower is required.
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as _ from 'lodash';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { TasksUtils } from 'projects/shared/tasks.utils';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApplicationDetailModel } from '../../models/borrower-portal/application-detail-model';\r\nimport { ApplicationForUser } from \"../../models/borrower-portal/application-for-user-model\";\r\nimport { ApplicationTaskModel, BorrowerTaskType } from \"../../models/borrower-portal/application-task-model\";\r\nimport { ApplicationTasksModel } from \"../../models/borrower-portal/application-tasks-model\";\r\nimport { BorrowerDocumentModel } from \"../../models/borrower-portal/borrower-document-model\";\r\nimport { FeatureFlags } from '../../models/feature-flags.model';\r\nimport { PricingScenario } from '../../models/pricing/pricing-scenario.model';\r\nimport { BasePortalService } from \"../../services/base-portal.service\";\r\nimport { Constants } from '../../services/constants';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { NavigationService } from \"../../services/navigation.service\";\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { AddFilesToTaskDialogComponent } from './add-files-to-task-dialog/add-files-to-task-dialog.component';\r\nimport { AssetsVerificationDialogComponent } from './assets-verification-dialog/assets-verification-dialog.component';\r\nimport { AttachedDocumentsDialogComponent } from './attached-documents-dialog/attached-documents-dialog.component';\r\nimport { EConsentDialogComponent } from './e-consent-dialog/e-consent-dialog.component';\r\nimport { PaymentInfoDialogComponent } from './payment-info-dialog/payment-info-dialog.component';\r\nimport { IncomeEmploymentVerificationDialogComponent } from './income-employment-verification-dialog/income-employment-verification-dialog.component';\r\nimport { TaskBorrowerPickerDialogComponent } from './task-borrower-picker-dialog/task-borrower-picker-dialog.component';\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'portal-task-information',\r\n templateUrl: './task-information.component.html',\r\n styleUrls: ['task-information.component.scss']\r\n})\r\nexport class PortalTaskInformationComponent implements OnInit {\r\n\r\n @Input()\r\n appId: number;\r\n\r\n @Input()\r\n isAgent: boolean = false;\r\n\r\n @Output()\r\n tasksLoaded: EventEmitter = new EventEmitter();\r\n\r\n application: ApplicationForUser = new ApplicationForUser();\r\n applicationTasks: ApplicationTasksModel = new ApplicationTasksModel;\r\n filteredApplicationTasks: ApplicationTasksModel = new ApplicationTasksModel;\r\n selectedTab: number = 1;\r\n\r\n selectedApplicationTasks: ApplicationTaskModel[] = [];\r\n groupedTasks: ApplicationTaskModel[][] = [];\r\n\r\n documents: BorrowerDocumentModel[] = [];\r\n scenarios: PricingScenario[] = [];\r\n selectedBorrowerId = 'all';\r\n selectDisplayMode: \"list\" | \"card\" = \"card\";\r\n\r\n selectedTask: ApplicationTaskModel = new ApplicationTaskModel();\r\n eConsentText: string;\r\n voaEnabled: boolean = false;\r\n voeEnabled: boolean = false;\r\n\r\n isLoadingTasks: boolean = false;\r\n isLoadingDocs: boolean = false;\r\n isLoadingScenarios: boolean = false;\r\n\r\n losEsignTaskIdToSignFirst: number = null;\r\n\r\n constructor(private readonly _portalService: BasePortalService,\r\n private readonly _onlineAppService: MortgageApplicationService,\r\n private readonly _modalService: NgbModal,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _router: Router,\r\n private readonly _route: ActivatedRoute) {\r\n }\r\n\r\n ngOnInit() {\r\n this.initialize();\r\n }\r\n\r\n public reloadTasks = (isAfterDocumentUpload: boolean) => {\r\n this.initialize(isAfterDocumentUpload);\r\n }\r\n\r\n public openDigitalVerificationDialog = (taskType: BorrowerTaskType) => {\r\n const allTasks = this.applicationTasks.requested.concat(this.applicationTasks.submitted).concat(this.applicationTasks.approved);\r\n\r\n let verificationTasks = allTasks.filter(t => t.borrowerTaskType === taskType);\r\n if (verificationTasks.length === 0) {\r\n return;\r\n }\r\n verificationTasks.sort((a, b) => {\r\n return new Date(b.submittedDate) - new Date(a.submittedDate);\r\n });\r\n // Now, group the tasks above by borrowerId\r\n let groupedTasks = _.groupBy(verificationTasks, 'borrowerId');\r\n if (Object.keys(groupedTasks).length > 1) {\r\n let borrowersToPickFrom = [];\r\n for (let key in groupedTasks) {\r\n let borrowerId = Number(key);\r\n let borrowerName = groupedTasks[key][0].borrowerName;\r\n borrowersToPickFrom.push({ id: borrowerId, name: borrowerName });\r\n\r\n const modalRef = this._modalService.open(TaskBorrowerPickerDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.borrowers = borrowersToPickFrom;\r\n\r\n modalRef.result.then((borrowerId) => {\r\n const tasksForBorrower = groupedTasks[borrowerId];\r\n if (tasksForBorrower && tasksForBorrower.length > 0) {\r\n if (taskType === BorrowerTaskType.DigitalIncomeEmploymentVerification) {\r\n this.startAssetsVerification(tasksForBorrower[0]);\r\n } else if (taskType === BorrowerTaskType.DigitalAssetVerification) {\r\n this.startIncomeEmploymentVerification(tasksForBorrower[0]);\r\n }\r\n }\r\n }, err => {});\r\n }\r\n } else {\r\n // Start the asset verification for the first task\r\n if (taskType === BorrowerTaskType.DigitalIncomeEmploymentVerification) {\r\n this.startIncomeEmploymentVerification(verificationTasks[0]);\r\n } else if (taskType === BorrowerTaskType.DigitalAssetVerification) {\r\n this.startAssetsVerification(verificationTasks[0]);\r\n }\r\n }\r\n }\r\n\r\n protected onSelectedBorrowerChanged() {\r\n if (this.selectedBorrowerId === 'all') {\r\n Object.assign(this.filteredApplicationTasks, this.applicationTasks);\r\n } else {\r\n this.filteredApplicationTasks.approved = this.applicationTasks.approved.filter(i => i.borrowerId === Number(this.selectedBorrowerId));\r\n this.filteredApplicationTasks.requested = this.applicationTasks.requested.filter(i => i.borrowerId === Number(this.selectedBorrowerId));\r\n this.filteredApplicationTasks.submitted = this.applicationTasks.submitted.filter(i => i.borrowerId === Number(this.selectedBorrowerId));\r\n }\r\n\r\n this.setSelectedApplicationTasks(this.selectedTab, false);\r\n }\r\n\r\n protected setSelectedApplicationTasks(tabIndex: number, isAfterDocumentUpload: boolean = false) {\r\n this.selectedTab = tabIndex;\r\n\r\n if (tabIndex < 3) {\r\n this.loadTasks(isAfterDocumentUpload);\r\n } else if (tabIndex === 3) { // documents\r\n this.selectedApplicationTasks = [];\r\n this.groupedTasks = [];\r\n this.loadDocuments();\r\n } else if (tabIndex === 4) { // scenarios\r\n this.selectedApplicationTasks = [];\r\n this.groupedTasks = [];\r\n this.loadScenarios();\r\n }\r\n }\r\n\r\n getSelectedTaskName() {\r\n if (this.selectedTab === 1) {\r\n return 'Outstanding';\r\n }\r\n else if (this.selectedTab === 2) {\r\n return 'Other';\r\n }\r\n return '';\r\n }\r\n\r\n openAttachedDocuments = (task: ApplicationTaskModel) => {\r\n const modalRef = this._modalService.open(AttachedDocumentsDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n });\r\n }\r\n\r\n openAddFiles(task: ApplicationTaskModel) {\r\n const modalRef = this._modalService.open(AddFilesToTaskDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n this.initialize(true);\r\n });\r\n }\r\n\r\n openPaymentInfo = (task: ApplicationTaskModel) => {\r\n const modalRef = this._modalService.open(PaymentInfoDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n\r\n modalRef.result.then(() => {\r\n this.initialize();\r\n });\r\n }\r\n\r\n onTaskMarkedAsNotApplicable = (task: ApplicationTaskModel) => {\r\n this.initialize();\r\n }\r\n\r\n onBorrowerAnsweredAQuestion = (task: ApplicationTaskModel) => {\r\n this.initialize();\r\n }\r\n\r\n protected startIncomeEmploymentVerification = (task: ApplicationTaskModel) => {\r\n const modalRef = this._modalService.open(IncomeEmploymentVerificationDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n modalRef.componentInstance.applicationId = this.appId;\r\n modalRef.componentInstance.voeEnabled = this.voeEnabled;\r\n\r\n modalRef.result.then(() => {\r\n this.initialize();\r\n }, err => {});\r\n }\r\n\r\n protected startAssetsVerification = (task: ApplicationTaskModel) => {\r\n const modalRef = this._modalService.open(AssetsVerificationDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.task = task;\r\n modalRef.componentInstance.applicationId = this.appId;\r\n modalRef.componentInstance.voaEnabled = this.voaEnabled;\r\n\r\n modalRef.result.then(() => {\r\n this.initialize();\r\n }, err => {});\r\n }\r\n\r\n openEsignDocument = (task: ApplicationTaskModel) => {\r\n const { applicationId, myDetails, otherBorrowersOnLoan } = this.application;\r\n\r\n // call api to see if user assigned to task has e-consent completed if not, show econsent dialog, once completed, proceed to esign\r\n // if they do not econsent, toast a message that says, you must econsent to proceed with esigning your documents\r\n // if user already has econsent, just let them sign.\r\n\r\n if (task.borrowerId > 0) {\r\n if (task.borrowerId === myDetails?.borrowerId && myDetails?.acceptedEConsentDate) {\r\n return this.openSignerView(task);\r\n } else if (otherBorrowersOnLoan.length > 0) {\r\n otherBorrowersOnLoan.forEach(ob => {\r\n if (task.borrowerId === ob.borrowerId && ob.acceptedEConsentDate)\r\n return this.openSignerView(task);\r\n });\r\n }\r\n\r\n const modalRef = this._modalService.open(EConsentDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.loanId = this.appId;\r\n modalRef.componentInstance.eConsentText = this.eConsentText;\r\n\r\n modalRef.result.then((res: boolean) => {\r\n if (!res) {\r\n return alert('E-Consent authorization is required for e-signing your documents.');\r\n }\r\n\r\n this._spinner.show();\r\n\r\n this._portalService.acceptESignConsent(applicationId, task.borrowerId)\r\n .subscribe({\r\n next: (acceptConsentRes) => {\r\n\r\n this._onlineAppService.generateEConsentDocument(applicationId, { eConsentText: this.eConsentText, borrowerId: task.borrowerId })\r\n .subscribe({\r\n next: (generateDocRes) => {\r\n this.openSignerView(task)\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Document generation failed');\r\n this._spinner.hide();\r\n }\r\n })\r\n },\r\n error: (error) => {\r\n console.error(error.error.message ? error.error.message : 'Accept E-Sign Consent failed');\r\n this._spinner.hide();\r\n }\r\n });\r\n });\r\n\r\n } else {\r\n this.openSignerView(task);\r\n }\r\n }\r\n\r\n private initialize = (isAfterDocumentUpload: boolean = false) => {\r\n let appID = this._route.snapshot.queryParamMap.get('applicationId');\r\n if (appID && !isNaN(Number(appID))) {\r\n this.appId = Number(appID);\r\n }\r\n this.loadLoanData();\r\n this.getLoanConfigs();\r\n this.loadDocuments(false);\r\n\r\n if (!this.isAgent){\r\n this.loadScenarios(false);\r\n }\r\n\r\n this.setSelectedApplicationTasks(this.selectedTab, isAfterDocumentUpload);\r\n }\r\n\r\n private loadLoanData = () => {\r\n this._spinner.show();\r\n this._portalService.getLoanDataForAppId(this.appId).subscribe({\r\n next: (application) => {\r\n if (!application.myDetails) {\r\n application.myDetails = new ApplicationDetailModel();\r\n }\r\n this.application = application;\r\n },\r\n error: (err) => {\r\n this._spinner.hide();\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while getting loan details.\", 'Error!');\r\n }\r\n });\r\n }\r\n\r\n private loadDocuments = (isLoadingShowing: boolean = true) => {\r\n if (isLoadingShowing) {\r\n this.isLoadingDocs = true;\r\n }\r\n\r\n this._portalService.getDocumentsForAppId(this.appId).subscribe(documents => {\r\n this.documents = documents;\r\n this.documents.sort((a, b) => {\r\n return new Date(b.dateInserted) - new Date(a.dateInserted);\r\n });\r\n\r\n if (isLoadingShowing) {\r\n this.isLoadingDocs = false;\r\n }\r\n }, err => {\r\n if (isLoadingShowing) {\r\n this.isLoadingDocs = false;\r\n }\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while getting loan documents.\", 'Error!');\r\n });\r\n }\r\n\r\n private loadTasks = (isAfterDocumentUpload: boolean = false) => {\r\n this.isLoadingTasks = true;\r\n this._portalService.getTasksForAppId(this.appId)\r\n .pipe(\r\n map(res => {\r\n // TODO Remove After Backend Update For allowUpload released\r\n return {\r\n requested: !!res.requested\r\n ? res.requested.map(t => ({ ...t, allowUpload: this.allowUpload(t) }))\r\n : [],\r\n submitted: !!res.submitted\r\n ? res.submitted.map(t => ({ ...t, allowUpload: this.allowUpload(t) }))\r\n : [],\r\n approved: !!res.approved\r\n ? res.approved.map(t => ({ allowUpload: false, ...t }))\r\n : [],\r\n };\r\n })\r\n )\r\n .subscribe(applicationTasks => {\r\n this.isLoadingTasks = false;\r\n this.applicationTasks = applicationTasks;\r\n this.applicationTasks.approved.sort((a, b) => {\r\n return new Date(a.dueDate) - new Date(b.dueDate);\r\n });\r\n this.applicationTasks.requested.sort((a, b) => {\r\n return new Date(a.dueDate) - new Date(b.dueDate);\r\n });\r\n this.applicationTasks.submitted.sort((a, b) => {\r\n return new Date(a.dueDate) - new Date(b.dueDate);\r\n });\r\n\r\n const allTasks = this.applicationTasks.requested.concat(this.applicationTasks.submitted).concat(this.applicationTasks.approved);\r\n\r\n this.tasksLoaded.emit(allTasks);\r\n\r\n Object.assign(this.filteredApplicationTasks, this.applicationTasks);\r\n\r\n if (this.selectedTab === 1) { // outstanding\r\n this.selectedApplicationTasks = this.filteredApplicationTasks.requested;\r\n }\r\n else if (this.selectedTab === 2) { // others\r\n this.selectedApplicationTasks = [...this.filteredApplicationTasks.submitted, ...this.filteredApplicationTasks.approved];\r\n }\r\n this.groupedTasks = this.groupTasks(this.selectedApplicationTasks);\r\n\r\n let taskArr = [];\r\n this.groupedTasks.forEach(tasks => {\r\n taskArr = taskArr.concat(...tasks);\r\n });\r\n\r\n let losEsignTaskToSignFirst = _.sortBy(taskArr, [\"taskId\"]).find(t => TasksUtils.shouldShowEsignDocument(t, !this.isAgent) && t.borrowerTaskType === BorrowerTaskType.LosEsign);\r\n\r\n if (losEsignTaskToSignFirst) {\r\n this.losEsignTaskIdToSignFirst = losEsignTaskToSignFirst.taskId;\r\n }\r\n\r\n if (isAfterDocumentUpload && this.selectedTab !== 2) {\r\n Swal.fire({\r\n title: \"You've successfully uploaded your document(s). Uploaded files are viewable under the Submitted tab. Would you like to go there now?\",\r\n icon: 'success',\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n cancelButtonText: 'No',\r\n confirmButtonText: 'Yes'\r\n }).then((result) => {\r\n if (result.value) {\r\n this.setSelectedApplicationTasks(2);\r\n }\r\n });\r\n }\r\n }, err => {\r\n this.isLoadingTasks = false;\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while getting loan tasks.\", 'Error!');\r\n });\r\n }\r\n\r\n private loadScenarios = (isLoadingShowing: boolean = true) => {\r\n if (isLoadingShowing) {\r\n this.isLoadingScenarios = true;\r\n }\r\n\r\n this._portalService.getScenariosForApp(this.appId).subscribe(scenarios => {\r\n this.scenarios = scenarios;\r\n\r\n if (isLoadingShowing) {\r\n this.isLoadingScenarios = false;\r\n }\r\n }, err => {\r\n if (isLoadingShowing) {\r\n this.isLoadingScenarios = false;\r\n }\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while getting loan scenarios.\", 'Error!');\r\n });\r\n }\r\n\r\n private allowUpload(task: ApplicationTaskModel): boolean {\r\n return task.allowUpload && task.borrowerTaskType !== BorrowerTaskType.EsignDocument && task.borrowerTaskType !== BorrowerTaskType.LosEsign;\r\n }\r\n\r\n private openSignerView = (task: ApplicationTaskModel) => {\r\n const companyGuid = this._navigationService.companyGuid;\r\n this._router.navigateByUrl(`/${this.isAgent ? 'agent' : 'borrower'}-portal/loans/${this.appId}/e-sign/${task.taskId}?companyGuid=${companyGuid}`, {\r\n replaceUrl: true\r\n });\r\n return;\r\n }\r\n\r\n private getLoanConfigs = () => {\r\n this._spinner.show();\r\n this._onlineAppService.getConfig(this.appId)\r\n .subscribe({\r\n next: (config: FeatureFlags) => {\r\n this.eConsentText = config.eConsentText;\r\n this.voaEnabled = config.voaEnabled;\r\n this.voeEnabled = config.voeEnabled;\r\n this._spinner.hide();\r\n },\r\n error: (err) => {\r\n this._spinner.hide();\r\n console.error(err);\r\n }\r\n })\r\n }\r\n\r\n private groupTasks = (tasks: ApplicationTaskModel[]): ApplicationTaskModel[][] => {\r\n return _.values(\r\n _.groupBy(\r\n _.sortBy(\r\n tasks,\r\n [\r\n v => !v.isAgentTask,\r\n v =>\r\n /**\r\n * Sort task type 6, 7 and 14 higher than other task types\r\n * 6: Complete Online Application\r\n * 7: Asset Verification\r\n * 14: Esign\r\n * Order would be 14 then 6 and then 7\r\n */\r\n\r\n (v.borrowerTaskType === BorrowerTaskType.LosEsign ||\r\n v.borrowerTaskType === BorrowerTaskType.DigitalAssetVerification ||\r\n v.borrowerTaskType === BorrowerTaskType.OnlineApplication)\r\n ? v.borrowerTaskType === BorrowerTaskType.LosEsign\r\n ? 0\r\n : v.borrowerTaskType === BorrowerTaskType.OnlineApplication\r\n ? 1\r\n : 2\r\n : 3,\r\n v => v.docSortOrder,\r\n ]\r\n ),\r\n (v) => v.taskTypeId\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 \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 You have no tasks.\r\n

\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { Observer } from 'rxjs';\r\nimport { PortalBaseComponent } from '../../portal-base.component';\r\nimport { PortalServiceFactory } from '../../../services/portal-service.factory';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'task-not-applicable-dialog',\r\n templateUrl: 'task-not-applicable-dialog.component.html'\r\n})\r\nexport class TaskNotApplicableDialogComponent extends PortalBaseComponent implements OnInit {\r\n\r\n @ViewChild('noteForm')\r\n noteForm: NgForm | undefined;\r\n\r\n @Input()\r\n task: ApplicationTaskModel;\r\n\r\n protected explanation: string;\r\n\r\n constructor(private readonly portalServiceFactory: PortalServiceFactory,\r\n public activeModal: NgbActiveModal,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _spinner: NgxSpinnerService,) {\r\n super(portalServiceFactory);\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onOkClicked() {\r\n const observer: Observer = {\r\n next: (value: any) => {\r\n this.activeModal.close();\r\n },\r\n error: (err: any) => {\r\n this._notifsService.showError(err && err.error ? err.error.message || err.message : \"An error occurred while marking task as not applicable.\", 'Error!');\r\n },\r\n complete: () => {\r\n }\r\n }\r\n this._spinner.show();\r\n this.portalService.markTaskAsNotApplicable(this.task.taskId, `\\\"${this.explanation}\\\"`).subscribe(observer)\r\n .add(() => this._spinner.hide());\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Task Not Applicable

\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { Constants } from '../../../services/constants';\r\nimport { TaskAnswerQuestionDialogComponent } from '../task-answer-question-dialog/task-answer-question-dialog.component';\r\n\r\n@Component({\r\n selector: 'tasks-answer-question',\r\n templateUrl: './tasks-answer-question.component.html',\r\n styleUrls: ['./tasks-answer-question.component.scss']\r\n})\r\nexport class TasksAnswerQuestionComponent implements OnInit {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n @Input() isBorrowerPortal: boolean = true;\r\n\r\n @Output() borrowerAnsweredAQuestion: EventEmitter = new EventEmitter();\r\n\r\n constructor(private readonly _modalService: NgbModal) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onAnswerQuestionClicked = (task: ApplicationTaskModel) => {\r\n const modalRef = this._modalService.open(TaskAnswerQuestionDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.task = task;\r\n modalRef.result.then(result => {\r\n this.borrowerAnsweredAQuestion.emit(task);\r\n }, error => {\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{ task.docType || task.description }}
\r\n \r\n {{ task.description || task.docType }}\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ task.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n {{\r\n task?.borrowerName || \"Unknown\"\r\n }}\r\n Due {{ task?.dueDate | dateAgo }}\r\n
\r\n
\r\n
\r\n Urgent Message\r\n New Message\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n
\r\n
\r\n\r\n
\r\n
\r\n Message from your loan team:\r\n
{{ task?.borrowerFacingNote }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\n\r\n@Component({\r\n selector: 'tasks-assets',\r\n templateUrl: './tasks-assets.component.html',\r\n styleUrls: ['./tasks-assets.component.scss']\r\n})\r\nexport class TasksAssetsComponent implements OnInit {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n\r\n @Input() showAssetsButton: boolean = true;\r\n\r\n @Output() openAssetsClicked = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n openAssetsModal = (task: ApplicationTaskModel) => {\r\n this.openAssetsClicked.emit(task);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{ task.docType || task.description }}\r\n
\r\n \r\n {{ task.description || task.docType }}\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ task.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n {{ task?.borrowerName || \"Unknown\" }}\r\n Due {{ task?.dueDate | dateAgo }}\r\n
\r\n
\r\n
\r\n Urgent Message\r\n New Message\r\n {{ task.linkedDocuments.length }}\r\n Documents\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n\r\n URGENT\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\nimport { TurboInsuranceQuote } from '../../../models/turbo-insurance/turbo-insurance-quote.model';\r\nimport { NotificationService } from '../../../services/notification.service';\r\nimport { TurboInsuranceService } from '../../../services/turbo-insurance.service';\r\n\r\n@Component({\r\n selector: 'tasks-hoi',\r\n templateUrl: './tasks-hoi.component.html',\r\n styleUrls: ['./tasks-hoi.component.scss']\r\n})\r\nexport class TasksHoiComponent implements OnInit {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n\r\n quotes: TurboInsuranceQuote[] = [];\r\n loanDocTaskId: number;\r\n chosenQuoteId: string;\r\n\r\n constructor(\r\n private readonly _turBoInsuranceService: TurboInsuranceService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notifsService: NotificationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.tasks.length) {\r\n this.getQuotesForTask(this.tasks[0].taskId);\r\n }\r\n }\r\n\r\n chooseQuote = (quoteId: string) => {\r\n this._spinner.show();\r\n this._turBoInsuranceService.chooseQuote(this.application.applicationId, quoteId, this.loanDocTaskId)\r\n .subscribe({\r\n next: () => {\r\n this._spinner.hide();\r\n this._notifsService.showSuccess(\"Quote selected successfully.\", 'Success!');\r\n },\r\n error: (error) => {\r\n this._notifsService.showError(error.message || \"Unable to fetch task quotes.\", 'Error!');\r\n this._spinner.hide();\r\n }\r\n });\r\n\r\n }\r\n\r\n private getQuotesForTask(taskId: number): void {\r\n this._spinner.show();\r\n this._turBoInsuranceService.getQuotesForTask(taskId, false)\r\n .subscribe({\r\n next: (response) => {\r\n this.quotes = response.quotes;\r\n this.loanDocTaskId = response.loanDocTaskId;\r\n this.chosenQuoteId = response.chosenQuoteId;\r\n this._spinner.hide();\r\n },\r\n error: (error) => {\r\n this._notifsService.showError(error.message || \"Unable to fetch task quotes.\", 'Error!');\r\n this._spinner.hide();\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n Your Homeowners Insurance Quotes\r\n\r\n
\r\n Urgent Message\r\n New Message\r\n {{ task.linkedDocuments.length }}\r\n Documents\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\"\r\n
\r\n\r\n
\r\n
\r\n {{ quote.carrierName}}\r\n
\r\n
Premium Amount (Annual):\r\n \r\n {{ quote.premiumAmountAnnual}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Quote\r\n ID:\r\n {{quote.quoteID}}\r\n Chosen Quote ID:\r\n {{chosenQuoteId}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Quotes are being generated, please check back in a few minutes.\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\n\r\n@Component({\r\n selector: 'tasks-income-employment',\r\n templateUrl: './tasks-income-employment.component.html',\r\n styleUrls: ['./tasks-income-employment.component.scss']\r\n})\r\nexport class TasksIncomeAndEmploymentComponent implements OnInit {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n\r\n @Input() showIncomeEmploymentVerificationButton: boolean = true;\r\n\r\n @Output() startIncomeEmploymentVerificationClicked = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onStartIncomeEmploymentVerificationClicked = (task: ApplicationTaskModel) => {\r\n this.startIncomeEmploymentVerificationClicked.emit(task);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{ task.docType || task.description }}\r\n
\r\n \r\n {{ task.description || task.docType }}\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ task.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n {{ task?.borrowerName || \"Unknown\" }}\r\n Due {{ task?.dueDate | dateAgo }}\r\n
\r\n
\r\n
\r\n Urgent Message\r\n New Message\r\n {{ task.linkedDocuments.length }}\r\n Documents\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n\r\n URGENT\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel, BorrowerTaskStatus, BorrowerTaskType } from '../../../models/borrower-portal/application-task-model';\r\nimport * as FileSaver from \"file-saver\";\r\nimport { LinkedDocument } from '../view-document/view-document.component';\r\nimport { TasksUtils } from 'projects/shared/tasks.utils';\r\nimport { TaskNotApplicableDialogComponent } from '../task-not-applicable-dialog/task-not-applicable-dialog.component';\r\nimport { Constants } from '../../../services/constants';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\nimport { ApplicationContextService } from '../../../services/application-context.service';\r\n\r\n@Component({\r\n selector: 'tasks-normal',\r\n templateUrl: './tasks-normal.component.html',\r\n styleUrls: ['./tasks-normal.component.scss']\r\n})\r\nexport class TasksNormalComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n @Input() isBorrowerPortal: boolean = true;\r\n\r\n @Input() enabledTaskIdForESign: number;\r\n\r\n @Output() openPaymentInfoClicked = new EventEmitter();\r\n @Output() openEsignDocumentClicked = new EventEmitter();\r\n @Output() openAttachedDocumentsClicked = new EventEmitter();\r\n @Output() openAddFilesClicked = new EventEmitter();\r\n @Output() taskMarkedAsNotApplicable = new EventEmitter();\r\n\r\n protected taskNotApplicable: boolean = false;\r\n\r\n protected isCompanyPhm: boolean = false;\r\n\r\n private _contextSubscription: Subscription;\r\n\r\n constructor(private readonly _modalService: NgbModal,\r\n private readonly _applicationContextService: ApplicationContextService) { }\r\n\r\n ngOnInit(): void {\r\n this._contextSubscription = this._applicationContextService.context.subscribe(context => {\r\n this.isCompanyPhm = context.isCompanyPHM;\r\n this.tasks.forEach(t => {\r\n t['attachedDocuments'] = [];\r\n t.linkedDocuments.forEach(d => {\r\n const linkedDocument: LinkedDocument = {\r\n fileGuid: d.documentGuid.toString(),\r\n fileName: d.fileName,\r\n note: d.borrowerNote,\r\n dateInserted: d.dateInserted ? new Date(d.dateInserted) : null,\r\n mimeType: ''\r\n }\r\n t['attachedDocuments'].push(linkedDocument);\r\n })\r\n })\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._contextSubscription?.unsubscribe();\r\n }\r\n\r\n onTaskNotApplicableChanged = (task: ApplicationTaskModel) => {\r\n if (this.taskNotApplicable) {\r\n const modalRef = this._modalService.open(TaskNotApplicableDialogComponent, Constants.modalOptions.medium);\r\n modalRef.componentInstance.task = task;\r\n modalRef.result.then(result => {\r\n this.taskMarkedAsNotApplicable.emit(task);\r\n this.taskNotApplicable = false;\r\n }, error => {\r\n this.taskNotApplicable = false;\r\n });\r\n }\r\n }\r\n\r\n openAttachedDocuments = (task: ApplicationTaskModel) => {\r\n this.openAttachedDocumentsClicked.emit(task);\r\n }\r\n\r\n openAddFiles(task: ApplicationTaskModel) {\r\n this.openAddFilesClicked.emit(task);\r\n }\r\n\r\n goToLink(url: string) {\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n goToFileLink(url: string) {\r\n window.open(url.replace(\"httsp://\", \"https://\"), \"_blank\");\r\n }\r\n\r\n downloadLink(url: string, fileName: string) {\r\n FileSaver.saveAs(url.replace(\"httsp://\", \"https://\"), fileName);\r\n }\r\n\r\n shouldShowEsignDocumentEmailTextMessage(task: ApplicationTaskModel): boolean {\r\n return (task.borrowerTaskType === BorrowerTaskType.LosEsign\r\n || task.borrowerTaskType === BorrowerTaskType.EsignDocument)\r\n && task.borrowerTaskStatus !== BorrowerTaskStatus.Completed\r\n && task.signingLinkSentInEmail\r\n }\r\n\r\n shouldShowEsignDocumentBtn(task: ApplicationTaskModel): boolean {\r\n return TasksUtils.shouldShowEsignDocument(task, this.isBorrowerPortal);\r\n }\r\n\r\n openPaymentInfo = (task: ApplicationTaskModel) => {\r\n this.openPaymentInfoClicked.emit(task);\r\n }\r\n\r\n openEsignDocument = (task: ApplicationTaskModel) => {\r\n this.openEsignDocumentClicked.emit(task);\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n

\r\n {{ task.docType || task.description }}
\r\n \r\n {{ task.description || task.docType }}\r\n \r\n

\r\n
\r\n
\r\n \r\n Add Files\r\n \r\n Add Payment Info\r\n \r\n {{\r\n enabledTaskIdForESign != task.taskId &&\r\n task.borrowerTaskType === \"LosEsign\"\r\n ? \"eSign Above Doc First\"\r\n : \"eSign Document\"\r\n }}\r\n \r\n
\r\n \r\n \r\n \r\n Not Applicable\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {{ task.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n {{ task?.borrowerName || \"Unknown\" }}\r\n Due {{ task?.dueDate | dateAgo }}\r\n
\r\n
\r\n
\r\n Urgent Message\r\n New Message\r\n {{ task.linkedDocuments.length }} Documents\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n\r\n \r\n Template Doc\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Message from your loan team:\r\n
{{ task?.borrowerFacingNote }}\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 look for an email from DocuSign in your inbox and open the link\r\n to sign this document.\r\n

\r\n \r\n \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ApplicationForUser } from '../../../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTaskModel } from '../../../models/borrower-portal/application-task-model';\r\n\r\n@Component({\r\n selector: 'tasks-online-app',\r\n templateUrl: './tasks-online-app.component.html',\r\n styleUrls: ['./tasks-online-app.component.scss']\r\n})\r\nexport class TasksOnlineAppComponent implements OnInit {\r\n\r\n @Input() tasks: ApplicationTaskModel[] = [];\r\n @Input() application: ApplicationForUser;\r\n @Input() isAgent: boolean = false;\r\n\r\n constructor(private readonly _router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n goToCompleteApplication = () => {\r\n const routeToGo = this.application.onlineApplicationIsCoborrower ? 'co-apply' : 'apply';\r\n this._router.navigate(\r\n [routeToGo],\r\n {\r\n queryParams: {\r\n companyGuid: this.application.companyGuid,\r\n appId: this.application.applicationId,\r\n flowGuid: this.application.onlineApplicationVersion,\r\n },\r\n queryParamsHandling: 'merge'\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{ task.docType || task.description }}\r\n
\r\n \r\n {{ task.description || task.docType }}\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{ task.borrowerName?.charAt(0) }}\r\n \r\n
\r\n
\r\n {{ task?.borrowerName || \"Unknown\" }}\r\n Due {{ task?.dueDate | dateAgo }}\r\n
\r\n
\r\n
\r\n Urgent Message\r\n New Message\r\n {{ task.linkedDocuments.length }}\r\n Documents\r\n Pending\r\n Submitted\r\n Rejected\r\n Completed\r\n\r\n URGENT\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { FileService } from '../../../services/file.service';\r\n\r\n@Component({\r\n selector: 'view-document',\r\n templateUrl: 'view-document.component.html',\r\n styleUrls: ['./view-document.component.scss']\r\n})\r\nexport class ViewDocumentComponent implements OnInit {\r\n\r\n @Input()\r\n document: LinkedDocument;\r\n\r\n constructor(private readonly _notifsService: NotificationService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _fileService: FileService) { }\r\n\r\n ngOnInit() { }\r\n\r\n onDownloadFileClicked = (documentToDownload: LinkedDocument) => {\r\n this._spinner.show();\r\n\r\n const observer = {\r\n next: (data: any) => {\r\n this._spinner.hide();\r\n const blob = new Blob([data], { type: data.type });\r\n let downloadLink = document.createElement('a');\r\n downloadLink.href = URL.createObjectURL(blob);\r\n let fileName = documentToDownload.fileName;\r\n downloadLink.setAttribute('download', fileName);\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n },\r\n error: (error: any) => {\r\n this._spinner.hide();\r\n this._notifsService.showError(error.error ? error.error.message : 'An error occurred while downloading file.', 'Error!');\r\n }\r\n };\r\n\r\n this._spinner.show();\r\n this._fileService.downloadFile(documentToDownload.fileGuid).subscribe(observer);\r\n }\r\n\r\n onViewFileClicked = (document: LinkedDocument) => {\r\n const observer = {\r\n next: (data: any) => {\r\n this._spinner.hide();\r\n const blob = new Blob([data], { type: data.type });\r\n const url = window.URL.createObjectURL(blob);\r\n window.open(url);\r\n },\r\n error: (error: any) => {\r\n this._spinner.hide();\r\n this._notifsService.showError(error.error ? error.error.message : 'An error occurred while viewing file.', 'Error!');\r\n }\r\n };\r\n\r\n this._spinner.show();\r\n this._fileService.viewFile(document.fileGuid).subscribe(observer);\r\n };\r\n}\r\n\r\nexport class LinkedDocument {\r\n fileGuid: string;\r\n mimeType: string;\r\n fileName: string;\r\n dateInserted: Date | null;\r\n note: string;\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 Notes:\r\n \r\n {{ document.note ?? \"No note from the loan representative.\" }}\r\n \r\n \r\n Created: {{ document.dateInserted ? (document.dateInserted | date : \"medium\") : '--' }}\r\n
\r\n
\r\n","import { Component, OnInit, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { LocalStorageService } from '../services/local-storage.service';\r\nimport { NavigationService } from '../services/navigation.service';\r\nimport { UtilsService } from '../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../services/wizard/wizard-flow-service.base';\r\nimport { WizardMainBaseComponent } from '../wizard/wizard-main/wizard-main-base.component';\r\nimport { MortgageApplicationService } from '../services/mortgage-application.service';\r\n\r\n@Component({\r\n selector: 'registration',\r\n templateUrl: '../wizard/wizard-main/wizard-main.component.html'\r\n})\r\n\r\nexport class RegistrationComponent extends WizardMainBaseComponent implements OnInit {\r\n\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _authService: AuthService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _viewContainerRef: ViewContainerRef,\r\n private readonly activatedRoute: ActivatedRoute,\r\n private readonly localStorageService: LocalStorageService,\r\n private readonly navigationService: NavigationService,\r\n private readonly mortgageApplicationService: MortgageApplicationService) {\r\n super(_wizardFlowService, _utilsService, _authService, _environment, _viewContainerRef,\r\n activatedRoute, localStorageService, navigationService, mortgageApplicationService);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataService } from '../data.service';\r\nimport { CheckListConfig, QuestionSummary } from '../../models/checklists/config/checklist-config.model';\r\nimport { ChecklistQuestion } from '../../models/checklists/borrower-flow/checklist-question.model';\r\nimport { ChecklistAnswer } from '../../models/checklists/borrower-flow/checklist-answer.model';\r\n\r\n@Injectable()\r\nexport class ChecklistsService {\r\n constructor(private readonly _dataService: DataService) {}\r\n\r\n getChecklists = (): Observable => {\r\n const url = `api/admin/checklist-config/checklist/all?includeInactive=false`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n getChecklist = (checklistId: number): Observable => {\r\n const url = `api/online-app/checklist/config/${checklistId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n getChecklistQuestionsForApplication = (checklistId: number, applicationId: number): Observable => {\r\n const url = `api/online-app/checklists/${checklistId}/for-app/${applicationId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getAllQuestionsWithAnswers = (): Observable => {\r\n const url = 'api/online-app/question-answer/group-by-question';\r\n return this._dataService.get(url);\r\n }\r\n\r\n insertQuestionAnswer = (checklistId: number, answer: ChecklistAnswer): Observable => {\r\n const url = `api/online-app/checklists/${checklistId}/answers`;\r\n return this._dataService.post(url, answer);\r\n }\r\n\r\n updateQuestionAnswer = (checklistId: number, answer: ChecklistAnswer): Observable => {\r\n const url = `api/online-app/checklists/${checklistId}/answers/${answer.checklistAnswerId}`;\r\n return this._dataService.post(url, answer);\r\n }\r\n\r\n deleteQuestionAnswer = (checklistId: number, checklistAnswerId: number): Observable => {\r\n const url = `api/online-app/checklists/${checklistId}/answers/${checklistAnswerId}`;\r\n return this._dataService.delete(url);\r\n }\r\n\r\n bulkUpdateQuestionAnswers = (checklistId: number, answers: ChecklistAnswer[]): Observable => {\r\n const url = `api/checklist/${checklistId}/answers/bulk`;\r\n return this._dataService.post(url, answers);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AgentFull } from \"../models/agent.model\";\r\nimport { ReferralSource } from \"../models/referral-source.model\";\r\nimport { DataService } from \"./data.service\";\r\n\r\n@Injectable()\r\nexport class AgentService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n getAllReferralSources = (): Observable => {\r\n return this._dataService.get(\"api/Agent/AllReferralSources\");\r\n }\r\n\r\n getAgent = (agentId: number): Observable => {\r\n const url = 'api/Agent/GetAgent/' + agentId;\r\n return this._dataService.get(url);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\n\r\nimport * as _ from 'lodash';\r\nimport { ApplicationContext } from '../models/application-context.model';\r\nimport { GlobalConfig } from '../models/global-config.model';\r\nimport { Profile } from '../models/profile.model';\r\nimport { UserData } from '../models/user';\r\nimport { UserPermissions } from '../models/user/user-permissions.model';\r\nimport { GlobalConfigService } from './global-config.service';\r\nimport { UserService } from './user.service';\r\nimport { CountryEnumerationItem, EnumsService } from './enums.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApplicationContextService {\r\n\r\n private _applicationContext: ApplicationContext;\r\n\r\n private _contextSubject: Subject =\r\n new Subject();\r\n\r\n get context(): Observable {\r\n if (this._applicationContext) {\r\n return of(this._applicationContext);\r\n }\r\n return this.initializeApplicationContext().pipe(map(context => {\r\n this._applicationContext = context;\r\n return context;\r\n }));\r\n }\r\n\r\n get changes(): Subject {\r\n return this._contextSubject;\r\n }\r\n\r\n constructor(\r\n private readonly _userService: UserService,\r\n private readonly _configService: GlobalConfigService,\r\n private readonly _enumService: EnumsService\r\n ) { }\r\n\r\n reset = () => {\r\n this._applicationContext = null;\r\n //this._contextSubject.next(this._applicationContext);\r\n };\r\n\r\n private initializeApplicationContext = (): Observable => {\r\n return this._userService.getLoggedInUserData().pipe(\r\n catchError((error) => of(error)),\r\n switchMap((user: UserData) => this._userService.getProfile(user.userCompanyGuid).pipe(\r\n catchError((error) => of(error)),\r\n switchMap((profile: Profile) => this._userService.getUserPermissions().pipe(\r\n catchError((error) => of(error)),\r\n switchMap((permissions: UserPermissions) => this._configService.getConfig(permissions.companyId).pipe(\r\n catchError((error) => of(error)),\r\n switchMap((config: any) => this._enumService.getAllCountries().pipe(\r\n catchError((error) => of(error)),\r\n switchMap((countries) => {\r\n return of(config).pipe(map(config => {\r\n let context = this.populateContextFieldsFromApiResults(user, profile, config, permissions, countries);\r\n return context;\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 private populateContextFieldsFromApiResults = (\r\n user: UserData, profile: Profile, config: GlobalConfig, permissions: UserPermissions, countries: CountryEnumerationItem[]): ApplicationContext => {\r\n\r\n let context = new ApplicationContext();\r\n context.currentlyLoggedInUser = user;\r\n context.currentlyLoggedInUserProfile = profile;\r\n\r\n context.globalConfig = config;\r\n context.globalConfig.loanStatus = _.orderBy(context.globalConfig.loanStatus, ['order', 'asc']);\r\n context.globalConfig.leadStatus = _.orderBy(context.globalConfig.leadStatus, ['order', 'asc']);\r\n context.globalConfig.subStatus = _.orderBy(context.globalConfig.subStatus, ['order', 'asc']);\r\n context.globalConfig.keyDates = _.orderBy(context.globalConfig.keyDates, ['displayName', 'asc']);\r\n context.globalConfig.tasks = _.orderBy(context.globalConfig.tasks, ['taskName', 'asc']);\r\n context.globalConfig.roles = _.orderBy(context.globalConfig.roles, ['order', 'asc']);\r\n context.globalConfig.users = _.orderBy(context.globalConfig.users, [['lastName', 'firstName'], ['asc', 'asc']]);\r\n context.userPermissions = permissions;\r\n context.globalConfig.countries = countries;\r\n return context;\r\n }\r\n\r\n updateContext = (context: ApplicationContext) => {\r\n this._contextSubject.next(context);\r\n }\r\n}\r\n","\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataService } from './data.service';\r\nimport { BorrowerVerificationUserEnrollmentRequest, BorrowerVerificationUserEnrollmentResponse } from '../models/borrower-verification-user-enrollment.model';\r\nimport { BorrowerVerificationOrderHistory } from '../models/borrower-verification-order-history.model';\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json', 'auth-req': 'true', 'X-Requested-With': 'XMLHttpRequest' });\r\n\r\n@Injectable()\r\nexport class AssetService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n public markFormFreeForBorrowerComplete = (borrowerId: number, applicationId: number): Observable => {\r\n const url = `api/online-app/MarkFormFreeForBorrowerComplete/${applicationId}/${borrowerId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public initializeFormFree = (borrowerId: number, applicationId: number, maxHeight: number = 600, maxWidth: number = 800): Observable => {\r\n const url = `api/online-app/InitializeFormFreeForBorrower/${applicationId}/${borrowerId}?maxHeight=${maxHeight}&maxWidth=${maxWidth}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public initializeBorrowerAssetVerification = (borrowerId: number, applicationId: number, integrationProvider): Observable => {\r\n const request: BorrowerVerificationUserEnrollmentRequest = {\r\n applicationId: applicationId,\r\n borrowerId: borrowerId,\r\n maxHeightInPixels: 600,\r\n maxWidthInPixels: 800,\r\n integrationProvider: integrationProvider,\r\n allowedProducts: ['Assets'],\r\n inviteAllApplicationBorrowers: true\r\n };\r\n const url = `api/online-app/borrower-verification/invite`;\r\n return this._dataService.post(url, request);\r\n }\r\n\r\n public getVerificationOrderHistoryForTask = (loanDocTaskId: number): Observable => {\r\n const url = `api/form-free/orders/task/${loanDocTaskId}`;\r\n return this._dataService.get(url);\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { PortalScope } from '../login/login.component';\r\nimport { AuthenticationRequest } from '../models/auth/auth-request.model';\r\nimport { AuthenticationResponse, AuthenticationUserCompany } from '../models/auth/auth-response.model';\r\nimport { ResetPasswordRequest } from '../models/auth/reset-password-request.model';\r\nimport { Constants } from './constants';\r\nimport { DataService } from './data.service';\r\nimport { LocalStorageService } from './local-storage.service';\r\nimport { NavigationService } from './navigation.service';\r\nimport { UtilsService } from './utils.service';\r\nimport { CompanyInfo } from '../models/company-info.model';\r\n\r\nconst headers = {\r\n 'Content-Type': 'application/json',\r\n 'auth-req': 'true',\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n 'APPLICATION_NAME': 'OnlineAppV3',\r\n 'APPLICATION_VERSION': '3.0' // Flow guid will go to the version\r\n};\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n constructor(private readonly _route: ActivatedRoute,\r\n private readonly _http: HttpClient,\r\n private readonly _dataService: DataService,\r\n private readonly _environmentService: EnvironmentService,\r\n private readonly _localStorageService: LocalStorageService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _navigationService: NavigationService) {\r\n }\r\n\r\n confirmRegistrationToken = (userName: string, token: string, companyGuid: string): Observable => {\r\n var payload = {\r\n username: userName,\r\n token: token,\r\n companyGuid: companyGuid\r\n }\r\n const headersToUse = new HttpHeaders(headers)\r\n .set('APPLICATION_VERSION', this._navigationService.flowGuid ? this._navigationService.flowGuid : '');\r\n\r\n const portal = this._environmentService.scope === PortalScope.Agent ? \"AgentPortal\" : \"BorrowerPortal\";\r\n return this._dataService.postWithoutAuth(`api/${portal}/ConfirmRegistrationToken`, payload);\r\n }\r\n\r\n confirmRegistration = (userName: string, token: string, password: string, confirmPassword: string, companyGuid: string) => {\r\n const headersToUse = new HttpHeaders(headers)\r\n .set('APPLICATION_VERSION', this._navigationService.flowGuid ? this._navigationService.flowGuid : '');\r\n const portal = this._environmentService.scope === PortalScope.Agent ? \"AgentPortal\" : \"BorrowerPortal\";\r\n var payload = { userName: userName, token: token, password: password, confirmPassword: confirmPassword, isConfirmed: true, companyGuid: companyGuid };\r\n return this._dataService.postWithoutAuth(`api/${portal}/ConfirmRegistration`, payload);\r\n }\r\n\r\n isLoggedIn = (): boolean => {\r\n const authData = localStorage.getItem(Constants.authToken);\r\n return authData !== null;\r\n }\r\n\r\n logout = () => {\r\n localStorage.removeItem(Constants.authorization.authorizationDataKey);\r\n }\r\n\r\n setAdminToken = (token: string) => {\r\n localStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n token: token,\r\n useRefreshTokens: true,\r\n scope: 'Admin',\r\n expiresAt: new Date(4000, 2, 2)\r\n }));\r\n }\r\n\r\n setBorrowerToken = (token: string) => {\r\n localStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n token: token,\r\n useRefreshTokens: true,\r\n scope: 'Borrower',\r\n expiresAt: new Date(4000, 2, 2)\r\n }));\r\n }\r\n\r\n loginWithToken(authToken: string, companyGuid: string, userCompanyGuid: string): Observable {\r\n localStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n token: authToken\r\n }));\r\n return this.exchangeToken(companyGuid, userCompanyGuid);\r\n }\r\n\r\n sendTwoFactorEmailCode = (userCompanyGuid: string) => {\r\n const url = `api/auth/SendTwoFactorEmailCode?userCompanyGuid=${userCompanyGuid}`;\r\n return this._dataService.postWithoutAuth(url, {});\r\n }\r\n\r\n sendTwoFactorPhoneCode = (userCompanyGuid: string) => {\r\n const url = `api/auth/SendTwoFactorPhoneCode?userCompanyGuid=${userCompanyGuid}`;\r\n return this._dataService.postWithoutAuth(url, {});\r\n }\r\n\r\n sentPasswordResetLink = (email: string, scope: string, userCompanyGuid: string) => {\r\n const url = `api/auth/ForgotPassword`;\r\n const payload = {\r\n email: email,\r\n scope: scope || \"Borrower\",\r\n userCompanyGuid: userCompanyGuid\r\n }\r\n return this._dataService.postWithoutAuth(url, payload);\r\n }\r\n\r\n resetPassword = (resetPasswordRequest: ResetPasswordRequest) => {\r\n const url = `api/auth/ResetPassword`;\r\n return this._dataService.postWithoutAuth(url, resetPasswordRequest);\r\n }\r\n\r\n resetPasswordWithRecurityCode = (resetPasswordRequest: ResetPasswordRequest) => {\r\n const url = `api/auth/ResetPassword/code`;\r\n return this._dataService.postWithoutAuth(url, resetPasswordRequest);\r\n }\r\n\r\n refreshToken = (refreshToken: string): Observable => {\r\n const url = `api/auth/refreshToken?refreshToken=${refreshToken}`;\r\n return this._dataService.postWithoutAuth(url, {}).pipe(map(response => {\r\n this.saveAuthResponseInLocalStorage(response);\r\n return response;\r\n }));\r\n }\r\n\r\n getDefaultOnlineAppUrl = (companyGuid?: string): Observable => {\r\n const baseUrl = this._environmentService.apiInfo.publicApiBaseUrl;\r\n let url = `${baseUrl}/api/publicapi/GetDefaultOnlineAppUrl`;\r\n if (companyGuid) {\r\n url += '/' + companyGuid;\r\n }\r\n return this._http.get(url, { responseType: 'text' });\r\n }\r\n\r\n exchangeToken = (companyGuid: string, userCompanyGuid: string): Observable => {\r\n const url = `api/auth/exchangeToken?companyGuid=${companyGuid}&userType=Borrower&userCompanyGuid=${userCompanyGuid}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n signIn = (request: AuthenticationRequest): Observable => {\r\n const url = 'api/auth/signin';\r\n return this._dataService.postWithoutAuth(url, request).pipe(map(response => {\r\n if (response.loginStatus === 'Success') {\r\n this.saveAuthResponseInLocalStorage(response);\r\n }\r\n return response;\r\n }));\r\n }\r\n\r\n challenge = (companyGuid: string, scope: string, returnUrl: string): Observable => {\r\n const url = `api/auth/connect/challenge/${companyGuid}/${scope}?returnUrl=${encodeURIComponent(returnUrl)}`;\r\n return this._dataService.postWithoutAuth(url, {});\r\n }\r\n\r\n getAvailableCompanies = (email: string, scope: string): Observable => {\r\n return this._dataService.get(`api/auth/AvailableCompanies?userName=${encodeURIComponent(email)}&scope=${scope}`);\r\n }\r\n\r\n confirmUpdatePhoneAnonymous = (phoneNumber: string, areacode: string, code: string, request: AuthenticationRequest): Observable => {\r\n return this._dataService.postWithoutAuth(`api/auth/ConfirmUpdatePhoneAnonymous?phone=${phoneNumber}&areacode=${areacode}&code=${code}`, request);\r\n }\r\n\r\n updatePhoneAnonymous = (phoneNumber: string, areacode: string, request: AuthenticationRequest): Observable => {\r\n return this._dataService.postWithoutAuth(`api/auth/UpdatePhoneAnonymous?phone=${phoneNumber}&areacode=${areacode}`, request);\r\n }\r\n\r\n getCompanyInfo = (userScope: PortalScope): Observable => {\r\n return this._dataService.get(`api/auth/company-info?scope=${userScope}`);\r\n }\r\n\r\n private saveAuthResponseInLocalStorage = (authResponse: AuthenticationResponse) => {\r\n let jwtPayload = this._utilsService.parseJwt(authResponse.jwtToken);\r\n\r\n localStorage.setItem(Constants.authorization.authorizationDataKey, JSON.stringify({\r\n token: authResponse.jwtToken,\r\n userName: authResponse.userName,\r\n userId: authResponse.userCompanyGuid,\r\n refreshToken: authResponse.refreshToken,\r\n useRefreshTokens: true,\r\n scope: authResponse.userType,\r\n companyGuid: jwtPayload.CompanyGuid,\r\n expiresAt: this._utilsService.getTokenExpireDate(jwtPayload.exp)\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, delay, of } from 'rxjs';\r\nimport { ApplicationForUser } from '../models/borrower-portal/application-for-user-model';\r\nimport { ApplicationTasksModel } from '../models/borrower-portal/application-tasks-model';\r\nimport { BorrowerAndAgentMessageModel } from '../models/borrower-portal/borrower-and-agent-message-model';\r\nimport { ContactInfoModel } from '../models/borrower-portal/contact-info-model';\r\nimport { BorrowerDocumentModel } from '../models/borrower-portal/borrower-document-model';\r\nimport { BorrowerLoanMessageModel } from '../models/borrower-portal/borrower-loan-message-model';\r\nimport { LiveData } from '../models/borrower-portal/live-data-model';\r\nimport { PortalContent } from '../models/borrower-portal/portal-content-model-model';\r\nimport { PrequalDetailsModel } from '../models/borrower-portal/prequal-details.model';\r\nimport { ReferAFriendRequest } from '../models/borrower-portal/refer-a-friend-request.model';\r\nimport { ReferralAgent } from '../models/borrower-portal/referral-agent-model';\r\nimport { Referral } from '../models/borrower-portal/referral.model';\r\nimport { UserPrimaryBranchModel } from '../models/borrower-portal/user-primary-branch-model';\r\nimport { OpenSignerViewRequest } from '../models/open-signer-view-request.model';\r\nimport { OrderPaymentHistory } from '../models/order-payment-history.model';\r\nimport { PaymentInformation } from '../models/payment-information.model';\r\nimport { DataService } from './data.service';\r\nimport { PricingScenario } from '../models/pricing/pricing-scenario.model';\r\nimport { LoanFee } from '../models/fee/fee.model';\r\nimport { AgentRequestACallModel } from '../models/borrower-portal/agent-request-a-call.model';\r\nimport { GeneratePrequalLetterRequestModel } from '../models/borrower-portal/generate-prequal-letter-request.model';\r\nimport { GeneratePrequalLetterResponseModel } from '../models/borrower-portal/generate-prequal-letter-response.model';\r\nimport { ValidateESignPropertyInfoResponse } from '../models/e-sign/validate-esign-property-info.model';\r\nimport { CreateSignerViewResponse } from '../models/e-sign/create-signer-view-response.model';\r\nimport { ConfirmEsignTokenResponse } from '../models/e-sign/confirm-esign-token-response.mode';\r\nimport { Constants } from './constants';\r\nimport { PaymentLinkConfig } from '../models/borrower-portal/payment-link-config.model';\r\n\r\n@Injectable()\r\nexport abstract class BasePortalService {\r\n private _urlRoot: string;\r\n\r\n protected abstract get baseUrl(): string;\r\n\r\n constructor(protected readonly _dataService: DataService) { }\r\n\r\n abstract getContactInfoForApplication(\r\n appId: number\r\n ): Observable;\r\n\r\n getUserPrimaryBranch = (\r\n userId: string\r\n ): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetUserPrimaryBranch?userId=${userId}`\r\n );\r\n };\r\n\r\n getPortalContent = (): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/GetPortalContent`);\r\n };\r\n\r\n getApplicationsForUser = (): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/GetApplicationsForUser`);\r\n };\r\n\r\n getLoanDataForAppId = (\r\n appId: number | null\r\n ): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetLoanDataForAppId/${appId}`\r\n );\r\n };\r\n\r\n getReferralAgents = (): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/ReferralAgents`);\r\n };\r\n\r\n getReferralsForUser = (): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/GetReferralsForUser`);\r\n };\r\n\r\n getLiveData = (): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/LiveData`);\r\n };\r\n\r\n getTasksForAppId = (appId: number): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetTasksForAppId/${appId}`\r\n );\r\n };\r\n\r\n getTaskForFileUpload = (appId: number, borrowerId: number, note: string): Observable => {\r\n return this._dataService.post(\r\n `api/${this.baseUrl}/get-task-for-upload?applicationId=${appId}&borrowerId=${borrowerId}`, `'${note}'`\r\n );\r\n }\r\n\r\n getMessagesForApplication = (\r\n appId: number\r\n ): Observable => {\r\n return this._dataService.get(`api/${this.baseUrl}/GetMessages/${appId}`);\r\n };\r\n\r\n getDocumentsForAppId = (\r\n appId: number\r\n ): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetDocumentsForAppId/${appId}`\r\n );\r\n };\r\n\r\n getPrequalDetailsForAppId = (\r\n appId: number\r\n ): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetPrequalDetailForAppId/${appId}`\r\n );\r\n };\r\n\r\n uploadDocument = (\r\n taskId: number,\r\n borrowerNote: string,\r\n file: any\r\n ): Observable => {\r\n return this._dataService.upload(\r\n `api/${this.baseUrl}/UploadDocument/${taskId}/${borrowerNote}`,\r\n file\r\n );\r\n };\r\n\r\n getPaymentLinkConfig(appId: number): Observable {\r\n return this._dataService.get(`api/${this.baseUrl}/GetPaymentLinkConfig/${appId}`);\r\n }\r\n\r\n downloadFile = (fileGuid: string): Observable => {\r\n return this._dataService.downloadFile(\r\n `api/${this.baseUrl}/DownloadFile/${fileGuid}`\r\n );\r\n };\r\n\r\n postMessage = (\r\n message: BorrowerAndAgentMessageModel\r\n ): Observable => {\r\n return this._dataService.post(`api/${this.baseUrl}/PostMessage`, message);\r\n };\r\n\r\n postReferAFriend = (req: ReferAFriendRequest): Observable => {\r\n return this._dataService.post(`api/${this.baseUrl}/ReferAFriend`, req);\r\n };\r\n\r\n markTaskAsNotApplicable = (\r\n loanDocTaskId: number,\r\n note: string\r\n ): Observable => {\r\n const url = `api/${this.baseUrl}/task/${loanDocTaskId}/mark-na`;\r\n return this._dataService.post(url, note);\r\n };\r\n\r\n answerTaskQuestion = (\r\n loanDocTaskId: number,\r\n answer: string\r\n ): Observable => {\r\n const url = `api/${this.baseUrl}/task/${loanDocTaskId}/answer-request-info`;\r\n return this._dataService.post(url, answer);\r\n };\r\n\r\n acceptESignConsent = (\r\n appId: number,\r\n borrowerId?: number,\r\n mortgageBorrowerId?: number\r\n ): Observable => {\r\n let url = `api/${this.baseUrl}/Signing/acceptESignConsent?applicationId=${appId}`;\r\n url += borrowerId ? `&borrowerId=${borrowerId}` : '';\r\n url += mortgageBorrowerId\r\n ? `&mortgageBorrowerId=${mortgageBorrowerId}`\r\n : '';\r\n\r\n return this._dataService.post(url, {});\r\n };\r\n\r\n openSignerView = (\r\n taskId: number,\r\n req: OpenSignerViewRequest\r\n ): Observable => {\r\n let url = `api/${this.baseUrl}/Signing/LoanDocTask/${taskId}/OpenSignerView`;\r\n return this._dataService.post(url, req);\r\n };\r\n\r\n getSigningOrder = (taskId: number): Observable => {\r\n let url = `api/${this.baseUrl}/Signing/ordersForTasks?loanDocTaskIds=${taskId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n onSignerViewSubmitted = (\r\n taskId: number,\r\n action: string\r\n ): Observable<{ signerViewUrl: string }> => {\r\n let url = `api/${this.baseUrl}/Signing/onSignerViewSubmitted?loanDocTaskId=${taskId}&action=${action}`;\r\n return this._dataService.post(url, {});\r\n };\r\n\r\n getLoginUser(): any {\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n let authorizationData: any = localStorage.getItem(authorizationDataKey);\r\n if (authorizationData) {\r\n authorizationData = JSON.parse(authorizationData);\r\n return authorizationData;\r\n }\r\n }\r\n\r\n orderPayment = (\r\n taskId: number,\r\n req: PaymentInformation\r\n ): Observable => {\r\n let url = `api/orderPayment?loanDocTaskId=${taskId}`;\r\n return this._dataService.post(url, req);\r\n };\r\n\r\n getScenariosForApp = (appId: number): Observable => {\r\n return this._dataService.get(\r\n `api/${this.baseUrl}/GetSharedScenariosforAppId/${appId}`\r\n );\r\n };\r\n\r\n getScenarioFees = (scenarioId: number): Observable => {\r\n const url = `api/${this.baseUrl}/getScenarioFees/${scenarioId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n revokeEConsent = (appId: number, borrowerId: number): Observable => {\r\n return this._dataService.post(\r\n `api/${this.baseUrl}/revoke-econsent/${appId}/${borrowerId}`,\r\n {}\r\n );\r\n };\r\n\r\n postReqestACall = (req: AgentRequestACallModel): Observable => {\r\n return this._dataService.post(`api/${this.baseUrl}/RequestACallback`, req);\r\n };\r\n\r\n generatePrequalLetterForApp = (\r\n appId: number,\r\n prequalDetails: GeneratePrequalLetterRequestModel\r\n ): Observable => {\r\n return this._dataService.post(\r\n `api/${this.baseUrl}/GeneratePrequalLetterForAppId/${appId}`,\r\n prequalDetails\r\n );\r\n };\r\n\r\n confirmEsignToken = (\r\n eSignToken: string\r\n ): Observable => {\r\n return this._dataService.postWithoutAuth(\r\n `api/${this.baseUrl}/signing/confirm-esign-token/${eSignToken}`,\r\n {}\r\n );\r\n };\r\n\r\n validateLoanForAnonymousEsign = (\r\n eSignToken: string,\r\n zipcode: string,\r\n last4DigitsOfSsn: string\r\n ): Observable => {\r\n return this._dataService.postWithoutAuth(\r\n `api/${this.baseUrl}/signing/validate-loan-info/${eSignToken}?subjectPropertyZip=${zipcode}&lastFour=${last4DigitsOfSsn}`,\r\n {}\r\n );\r\n };\r\n\r\n openEsignerViewForAnonymousEsign = (\r\n eSignToken: string,\r\n privateToken: string,\r\n loanDocTaskId: number,\r\n request: OpenSignerViewRequest\r\n ): Observable => {\r\n return this._dataService.postWithoutAuth(\r\n `api/${this.baseUrl}/signing/LoanDocTask/${loanDocTaskId}/open-signer-view/${eSignToken}?pt=${privateToken}`,\r\n request\r\n );\r\n };\r\n\r\n acceptEsignConsentForAnonymousEsign = (\r\n eSignToken: string,\r\n privateToken: string,\r\n applicationId: number,\r\n borrowerId: number,\r\n mortgageBorrowerId: number\r\n ): Observable => {\r\n return this._dataService.postWithoutAuth(\r\n `api/${this.baseUrl}/signing/accept-esign-consent/${eSignToken}?applicationId=${applicationId}&borrowerId=${borrowerId}&mortgageBorrowerId=${mortgageBorrowerId}&pt=${privateToken}`,\r\n {}\r\n );\r\n };\r\n\r\n onSignerViewSubmittedForAnonymousEsign = (\r\n eSignToken: string,\r\n loanDocTaskId: number,\r\n action: string\r\n ): Observable<{ signerViewUrl: string }> => {\r\n let url = `api/${this.baseUrl}/signing/on-signer-view-submitted/${eSignToken}?action=${action}&loanDocTaskId=${loanDocTaskId}`;\r\n return this._dataService.postWithoutAuth(url, {});\r\n };\r\n\r\n getShortLinkRedirectUrl = (shortCode: string, queryString: string): Observable => {\r\n let url = `api/${this.baseUrl}/redirect/${shortCode}`;\r\n if (queryString) {\r\n url += `?queryString=${queryString}`;\r\n }\r\n return this._dataService.get(url);\r\n }\r\n\r\n getEmailVideoUrl = (videoGuid: string, accessToken: string): Observable => {\r\n let url = `api/${this.baseUrl}/email-video/${videoGuid}?accessToken=${accessToken}`;\r\n return this._dataService.getTextResponseWithoutAuth(url);\r\n }\r\n\r\n //Write a mock function for the getVideoEmailUrl function that returns a mock URL after 5 seconds\r\n getEmailVideoUrlMock = (videoGuid: string, accessToken: string): Observable => {\r\n return of({\r\n videoLink: `https://www.youtube.com/embed/LKFuXETZUsI`,\r\n previewLink: `https://media.giphy.com/media/3o7aD2saalBwwftBIY/giphy.gif`\r\n }).pipe(delay(5000));\r\n }\r\n}\r\n\r\nexport class VideoEmail {\r\n videoLink: string;\r\n previewLink: string; // A link to an animated gif\r\n}","\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataService } from './data.service';\r\nimport { BorrowerVerificationOrderHistory } from '../models/borrower-verification-order-history.model';\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json', 'auth-req': 'true', 'X-Requested-With': 'XMLHttpRequest' });\r\n\r\n@Injectable()\r\nexport class BorrowerVerificationService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n public markBorrowerVerificationTaskComplete = (loanDocTaskId: number): Observable => {\r\n const url = `api/online-app/borrower-verification/task/${loanDocTaskId}/mark-complete`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public processEvents = (borrowerVerificationOrderId: number): Observable => {\r\n const url = `api/online-app/borrower-verification/orders/${borrowerVerificationOrderId}/process-events`;\r\n return this._dataService.post(url, {});\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport * as _ from \"lodash\";\r\nimport { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\n\r\n@Injectable()\r\nexport class ChannelService {\r\n\r\n constructor() { }\r\n\r\n getChannelsFromCommaDelimitedString = (channels: string, returnIdAsValue: boolean = false): EnumerationItem[] => {\r\n if (!channels) {\r\n return [];\r\n }\r\n let channelEnumItems: EnumerationItem[] = [];\r\n const channelNames: string[] = channels.split(',').map(c => c.trim());\r\n if (channelNames.includes('Retail')) {\r\n channelEnumItems.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n }\r\n if (channelNames.includes('Wholesale')) {\r\n channelEnumItems.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n }\r\n if (channelNames.includes('Broker')) {\r\n channelEnumItems.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n }\r\n if (channelNames.includes('Correspondent')) {\r\n channelEnumItems.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n }\r\n return channelEnumItems;\r\n }\r\n\r\n getChannels = (enumFlagValue: number, returnIdAsValue: boolean = false): Array => {\r\n let channels: Array = [];\r\n switch (enumFlagValue) {\r\n case 0:\r\n break;\r\n case 1:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n break;\r\n case 2:\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n break;\r\n case 3:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n break;\r\n case 4:\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n break;\r\n case 5:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n break;\r\n case 6:\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n break;\r\n case 7:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n break;\r\n case 8:\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 9:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 10:\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 11:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 12:\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 13:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 14:\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n case 15:\r\n channels.push({ name: 'Retail', value: returnIdAsValue ? 1 : 'Retail' });\r\n channels.push({ name: 'Wholesale', value: returnIdAsValue ? 2 : 'Wholesale' });\r\n channels.push({ name: 'Broker', value: returnIdAsValue ? 4 : 'Broker' });\r\n channels.push({ name: 'Correspondent', value: returnIdAsValue ? 8 : 'Correspondent' });\r\n break;\r\n }\r\n return channels;\r\n };\r\n\r\n getChannelsNumber = (channels: Array): number => {\r\n if (!channels) return 0;\r\n\r\n let result = 0;\r\n const orderedChannels = _.sortBy(channels);\r\n if (_.isEqual(orderedChannels, [\"Retail\"])) {\r\n result = 1;\r\n } else if (_.isEqual(orderedChannels, [\"Wholesale\"])) {\r\n result = 2;\r\n } else if (_.isEqual(orderedChannels, [\"Retail\", \"Wholesale\"])) {\r\n result = 3;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\"])) {\r\n result = 4;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Retail\"])) {\r\n result = 5;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Wholesale\"])) {\r\n result = 6;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Retail\", \"Wholesale\"])) {\r\n result = 7;\r\n } else if (_.isEqual(orderedChannels, [\"Correspondent\"])) {\r\n result = 8;\r\n } else if (_.isEqual(orderedChannels, [\"Correspondent\", \"Retail\"])) {\r\n result = 9;\r\n } else if (_.isEqual(orderedChannels, [\"Correspondent\", \"Wholesale\"])) {\r\n result = 10;\r\n } else if (_.isEqual(orderedChannels, [\"Correspondent\", \"Retail\", \"Wholesale\"])) {\r\n result = 11;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Correspondent\"])) {\r\n result = 12;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Correspondent\", \"Retail\"])) {\r\n result = 13;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Correspondent\", \"Wholesale\"])) {\r\n result = 14;\r\n } else if (_.isEqual(orderedChannels, [\"Broker\", \"Correspondent\", \"Retail\", \"Wholesale\"])) {\r\n result = 15;\r\n }\r\n return result\r\n }\r\n\r\n getChannelsListForDropdown = (channels: string): Array => {\r\n return this.getChannelsFromCommaDelimitedString(channels)\r\n .map(channel => ({\r\n value: channel.value,\r\n name: channel.name,\r\n }));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BorrowerCharacteristic } from \"../models/characteristics/borrower-characteristic.model\";\r\nimport { LoanCharacteristic } from \"../models/characteristics/loan-characteristic.model\";\r\nimport { TaskCategory } from \"../models/characteristics/task-category.model\";\r\nimport { LoanDocTask } from \"../models/tasks/loan-doc-task.model\";\r\nimport { DataService } from \"./data.service\";\r\n\r\n@Injectable()\r\nexport class CharacteristicsService {\r\n\r\n constructor(private readonly _dataService: DataService)\r\n {\r\n }\r\n\r\n getTaskCategories = (): Observable => {\r\n const url = `api/online-app/characteristics`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getLoanCharacteristics = (applicationId: number): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getBorrowerCharacteristics = (applicationId: number): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics/borrower`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n saveLoanCharacteristicsPreview = (applicationId: number, characteristics: LoanCharacteristic[]): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics/preview`;\r\n return this._dataService.post(url, characteristics);\r\n }\r\n\r\n saveBorrowerCharacteristicsPreview = (applicationId: number, characteristics: BorrowerCharacteristic[]): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics/borrower/preview`;\r\n return this._dataService.post(url, characteristics);\r\n }\r\n\r\n saveBorrowerCharacteristics = (applicationId: number, characteristics: BorrowerCharacteristic[], loanDocTasks: LoanDocTask[]): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics/borrower`;\r\n const payLoad = {\r\n borrowerCharacteristics: characteristics,\r\n loanDocTasks: loanDocTasks\r\n }\r\n return this._dataService.post(url, payLoad);\r\n }\r\n\r\n saveLoanCharacteristics = (applicationId: number, characteristics: LoanCharacteristic[], loanDocTasks: LoanDocTask[]): Observable => {\r\n const url = `api/online-app/loan/${applicationId}/characteristics`;\r\n const payLoad = {\r\n loanCharacteristics: characteristics,\r\n loanDocTasks: loanDocTasks\r\n }\r\n return this._dataService.post(url, payLoad);\r\n }\r\n }\r\n","import { NgbModalOptions } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\nexport class AssetVerificationOptions {\r\n digital: string = \"1\";\r\n manual: string = \"2\";\r\n}\r\n\r\nexport class IncomeVerificationOptions {\r\n digital: string = \"1\";\r\n manual: string = \"2\";\r\n}\r\n\r\nexport class FlowEndpoints {\r\n register: string = \"register\";\r\n apply: string = \"apply\";\r\n coApply: string = \"co-apply\";\r\n borrowerPortalEntry: string = \"b-portal-redirect\";\r\n error: string = \"error\";\r\n}\r\n\r\nexport class Authorization {\r\n authorizationDataKey: string = \"portalAuthorizationData\";\r\n adminAuthorizationDataKey: string = \"portalAdminAuthorizationData\";\r\n}\r\n\r\nexport class StepPaths {\r\n myInfo: string = \"my-info\";\r\n numberOfBorrowers: string = \"number-of-borrowers\";\r\n address: string = \"address\";\r\n createAccount: string = \"create-account\";\r\n createCoBorrowers: string = \"create-coborrowers\";\r\n currentAddress: string = \"address\";\r\n ownershipStatus: string = \"own-rent\";\r\n addressHistory: string = \"address-history\";\r\n manualOrDigitalEmploymentAndIncomeChoice: string = \"employment-income\";\r\n manualOrDigitalAssetChoice: string = \"asset-manual-digital\"\r\n digitalIncomeAndEmployment: string = \"digital-income\";\r\n manualIncomeAndEmployment: string = \"income\";\r\n digitalAssets: string = \"digital-assets\";\r\n manualAssets: string = \"assets\";\r\n reo: string = \"reo\";\r\n verifyCredit = \"verify-credit\";\r\n hoi = \"hoi\";\r\n purchaseCredits = 'purchase-credits';\r\n creditScores = \"credit-scores\"\r\n reviewCredit = \"review-credit\";\r\n creditInquiry = \"credit-inquiry\";\r\n loanInfo = \"loan-type\";\r\n pricing = \"pricing\";\r\n pullExistingApplication = \"pull-existing-application\";\r\n declarations = \"declarations\";\r\n demographics = \"demographics\";\r\n militaryService = \"military-service\";\r\n loanCharacteristics = \"loan-characteristics\";\r\n borrowerCharacteristics = \"borrower-characteristics\";\r\n econsent = \"eConsentAuthorization\";\r\n reviewApplication = \"review-application\";\r\n submitApplication = \"submit-application\";\r\n originator = \"originator\";\r\n multiBorrowerAddressHistory = \"multi-borrower-address-history\";\r\n loanPurpose = \"loan-purpose\";\r\n loanPurposeV2 = \"loan-purpose-v2\";\r\n currentAppState = \"current-app-state\";\r\n propertyAddressRefi = \"property-address-refi\";\r\n propertyAddress = \"property-address\";\r\n occupancy = \"occupancy\";\r\n propertyType = \"property-type\";\r\n checklists = \"checklists\";\r\n gatherLeadSource = \"gather-lead-source\";\r\n linkLiabilitiesToReo = \"link-liabilities-to-reo\";\r\n homeownershipEducation = \"homeownership-education\";\r\n}\r\n\r\nexport class ModalOptions {\r\n large: NgbModalOptions = {\r\n size: 'lg',\r\n backdrop: 'static',\r\n centered: true,\r\n scrollable: true,\r\n };\r\n xlarge: NgbModalOptions = {\r\n size: 'xl',\r\n backdrop: 'static',\r\n centered: true,\r\n //windowClass: 'modal-window-class'\r\n scrollable: true,\r\n };\r\n medium: NgbModalOptions = {\r\n size: 'md',\r\n backdrop: 'static',\r\n centered: true,\r\n scrollable: true,\r\n };\r\n sixtyPercentOfScreenWidth: NgbModalOptions = {\r\n size: 'xl',\r\n backdrop: 'static',\r\n centered: true,\r\n windowClass: 'modal-dialog-60pct-of-screen-width'\r\n }\r\n seventyFivePercentOfScreenWidth: NgbModalOptions = {\r\n size: 'xl',\r\n backdrop: 'static',\r\n centered: true,\r\n windowClass: 'modal-dialog-75pct-of-screen-width'\r\n }\r\n}\r\n\r\nexport class ThirdPartyTrackingScriptConfig {\r\n codeScripts?: string[] = [];\r\n noscriptPixelTrackers?: string[] = [];\r\n scriptLinks?: scriptLink[] = [];\r\n key: string = \"\";\r\n}\r\n\r\nexport class scriptLink {\r\n source: string = \"\";\r\n async: boolean = true;\r\n defer: boolean = false;\r\n id: string = \"\";\r\n}\r\n\r\nexport class scriptAsCode {\r\n code: string = \"\";\r\n}\r\n\r\nexport class noScript {\r\n innerHtml: string = \"\"\r\n}\r\n\r\nexport class ThirdPartyTrackingScripts {\r\n\r\n facebook: ThirdPartyTrackingScriptConfig = {\r\n codeScripts: [\r\n `!function(f,b,e,v,n,t,s)\r\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\r\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\r\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\r\n n.queue=[];t=b.createElement(e);t.async=!0;\r\n t.src=v;s=b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t,s)}(window, document,'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js');\r\n fbq('init', '|facebookTrackingCode|');\r\n fbq('track', 'PageView');`\r\n ],\r\n noscriptPixelTrackers: [`https://www.facebook.com/tr?id=|facebookTrackingCode|&ev=PageView&noscript=1\"`],\r\n scriptLinks: [],\r\n key: '|facebookTrackingCode|'\r\n }\r\n\r\n google: ThirdPartyTrackingScriptConfig = {\r\n codeScripts: [\r\n `window.dataLayer = window.dataLayer || [];\r\n function gtag(){dataLayer.push(arguments);}\r\n gtag('js', new Date());\r\n gtag('config', '|googleTrackingCode|');`\r\n ],\r\n scriptLinks: [\r\n {\r\n source: `https://www.googletagmanager.com/gtag/js?id=|googleTrackingCode|`,\r\n async: true,\r\n defer: false,\r\n id: ''\r\n }\r\n ],\r\n key: '|googleTrackingCode|'\r\n }\r\n\r\n hubSpot: ThirdPartyTrackingScriptConfig = {\r\n scriptLinks: [\r\n {\r\n source: `//js.hs-scripts.com/|hubspotTrackingCode|.js`,\r\n async: true,\r\n defer: true,\r\n id: `hs-script-loader`\r\n }\r\n ],\r\n key: '|hubspotTrackingCode|'\r\n }\r\n}\r\n\r\nexport class MimeTypes {\r\n pdf: string = \"application/pdf\";\r\n html: string = \"text/html\";\r\n xml: string = \"text/xml\";\r\n octetStream: string = \"application/octet-stream\";\r\n}\r\n\r\nexport class EnumerationValueNames {\r\n MortgageAppliedForType = {\r\n VA: 'MortgageAppliedForTypeVA',\r\n FHA: 'MortgageAppliedForTypeFHA',\r\n Conventional: 'MortgageAppliedForTypeConventional',\r\n USDA: 'MortgageAppliedForTypeUSDA',\r\n OtherMortgage: 'MortgageAppliedForTypeOtherMortgage',\r\n };\r\n\r\n AmortizationType = {\r\n ARM: 'AmortizationTypeARM',\r\n OtherAmortization: 'AmortizationTypeOtherAmortization',\r\n };\r\n\r\n LoanPurposeType = {\r\n Purchase: 'LoanPurposeTypePurchase',\r\n Refinance: 'LoanPurposeTypeRefinance',\r\n ConstructionToPermanent: 'LoanPurposeTypeConstructionToPermanent',\r\n };\r\n\r\n EstateType = {\r\n FeeSimple: 'EstateTypeFeeSimple',\r\n Leasehold: 'EstateTypeLeasehold',\r\n };\r\n\r\n ResidencyBasis = {\r\n Rent: 'ResidencyBasisRent',\r\n };\r\n\r\n RaceType = {\r\n Asian: 'RaceTypeAsian',\r\n AmericanIndianOrAlaskaNative: 'RaceTypeAmericanIndianOrAlaskaNative',\r\n NativeHawaiianOrOtherPacificIslander:\r\n 'RaceTypeNativeHawaiianOrOtherPacificIslander',\r\n BlackOrAfricanAmerican: 'RaceTypeBlackOrAfricanAmerican',\r\n White: 'RaceTypeWhite',\r\n InformationNotProvided: 'RaceTypeInformationNotProvided',\r\n NotApplicable: 'RaceTypeNotApplicable',\r\n };\r\n\r\n EthnicityType = {\r\n HispanicOrLatino: 'EthnicityTypeHispanicOrLatino',\r\n NotHispanicOrLatino: 'EthnicityTypeNotHispanicOrLatino',\r\n InformationNotProvided: 'EthnicityTypeInformationNotProvided',\r\n NotApplicable: 'EthnicityTypeNotApplicable',\r\n };\r\n\r\n SexType = {\r\n Female: 'SexTypeFemale',\r\n Male: 'SexTypeMale',\r\n InformationNotProvided: 'SexTypeInformationNotProvided',\r\n NotApplicable: 'SexTypeNotApplicable',\r\n };\r\n\r\n EthnicityOriginType = {\r\n Other: 'EthnicityOriginTypeOther',\r\n Mexican: 'EthnicityOriginTypeMexican',\r\n PuertoRican: 'EthnicityOriginTypePuertoRican',\r\n Cuban: 'EthnicityOriginTypeCuban',\r\n };\r\n\r\n AssetType = {\r\n CheckingAccount: 'AssetTypeCheckingAccount',\r\n SavingsAccount: 'AssetTypeSavingsAccount',\r\n Stock: 'AssetTypeStock',\r\n StockOptions: 'AssetTypeStockOptions',\r\n Bond: 'AssetTypeBond',\r\n LifeInsurance: 'AssetTypeLifeInsurance',\r\n RetirementFund: 'AssetTypeRetirementFund',\r\n NetWorthOfBusinessOwned: 'AssetTypeNetWorthOfBusinessOwned',\r\n Automobile: 'AssetTypeAutomobile',\r\n OtherLiquidAssets: 'AssetTypeOtherLiquidAssets',\r\n OtherNonLiquidAssets: 'AssetTypeOtherNonLiquidAssets',\r\n BridgeLoanNotDeposited: 'AssetTypeBridgeLoanNotDeposited',\r\n CertificateOfDepositTimeDeposit: 'AssetTypeCertificateOfDepositTimeDeposit',\r\n IndividualDevelopmentAccount: 'AssetTypeIndividualDevelopmentAccount',\r\n MoneyMarketFund: 'AssetTypeMoneyMarketFund',\r\n MutualFund: 'AssetTypeMutualFund',\r\n TrustAccount: 'AssetTypeTrustAccount',\r\n CashOnHand: 'AssetTypeCashOnHand',\r\n PendingNetSaleProceedsFromRealEstateAssets: 'AssetTypePendingNetSaleProceedsFromRealEstateAssets',\r\n SaleOtherAssets: 'AssetTypeSaleOtherAssets',\r\n SecuredBorrowedFundsNotDeposited: 'AssetTypeSecuredBorrowedFundsNotDeposited',\r\n ProceedsFromSecuredLoan: 'AssetTypeProceedsFromSecuredLoan',\r\n ProceedsFromUnsecuredLoan: 'AssetTypeProceedsFromUnsecuredLoan',\r\n CashGift: 'AssetTypeCashGift',\r\n GiftOfEquity: 'AssetTypeGiftOfEquity',\r\n Grant: 'AssetTypeGrant',\r\n ProceedsFromSaleOfNonRealEstateAsset: 'AssetTypeProceedsFromSaleOfNonRealEstateAsset',\r\n Annuity: 'AssetTypeAnnuity',\r\n Boat: 'AssetTypeBoat',\r\n BorrowerEstimatedTotalAssets: 'AssetTypeBorrowerEstimatedTotalAssets',\r\n BorrowerPrimaryHome: 'AssetTypeBorrowerPrimaryHome',\r\n EmployerAssistance: 'AssetTypeEmployerAssistance',\r\n EarnestMoneyCashDepositTowardPurchase: 'AssetTypeEarnestMoneyCashDepositTowardPurchase',\r\n RealEstateOwned: 'AssetTypeRealEstateOwned',\r\n RecreationalVehicle: 'AssetTypeRecreationalVehicle',\r\n SavingsBond: 'AssetTypeSavingsBond',\r\n SeverancePackage: 'AssetTypeSeverancePackage',\r\n GiftsNotDeposited: 'AssetTypeGiftsNotDeposited',\r\n GiftsTotal: 'AssetTypeGiftsTotal',\r\n };\r\n\r\n ApplicationTakenMethodType = {\r\n FaceToFace: 'ApplicationTakenMethodTypeFaceToFace',\r\n };\r\n\r\n ResidencyType = {\r\n PresentAddress: 'ResidencyTypePresentAddress',\r\n FormerAddress: 'ResidencyTypeFormerAddress',\r\n MailingAddress: 'ResidencyTypeMailingAddress',\r\n };\r\n\r\n LiabilityType = {\r\n Alimony: 'LiabilityTypeAlimony',\r\n ChildCare: 'LiabilityTypeChildCare',\r\n SeparateMaintenanceExpense: 'LiabilityTypeSeparateMaintenanceExpense',\r\n JobRelatedExpenses: 'LiabilityTypeJobRelatedExpenses',\r\n Revolving: 'LiabilityTypeRevolving',\r\n HELOC: 'LiabilityTypeHELOC',\r\n Installment: 'LiabilityTypeInstallment',\r\n Taxes: 'LiabilityTypeTaxes',\r\n CollectionsJudgementsAndLiens: 'LiabilityTypeCollectionsJudgementsAndLiens',\r\n LeasePayments: 'LiabilityTypeLeasePayments',\r\n MortgageLoan: 'LiabilityTypeMortgageLoan',\r\n Open30DayChargeAccount: 'LiabilityTypeOpen30DayChargeAccount',\r\n OtherLiability: 'LiabilityTypeOtherLiability',\r\n OtherExpense: 'LiabilityTypeOtherExpense',\r\n TaxLien: 'LiabilityTypeTaxLien',\r\n ChildSupport: 'LiabilityTypeChildSupport',\r\n CarMaintenance: 'LiabilityTypeCarMaintenance',\r\n CharitableContributions: 'LiabilityTypeCharitableContributions',\r\n Clothing: 'LiabilityTypeClothing',\r\n DryCleaning: 'LiabilityTypeDryCleaning',\r\n Entertainment: 'LiabilityTypeEntertainment',\r\n GroceryToiletry: 'LiabilityTypeGroceryToiletry',\r\n HealthInsurance: 'LiabilityTypeHealthInsurance',\r\n Medical: 'LiabilityTypeMedical',\r\n MiscellaneousLivingExpenses: 'LiabilityTypeMiscellaneousLivingExpenses',\r\n NetRentalExpense: 'LiabilityTypeNetRentalExpense',\r\n PayrollInsuranceDeduction: 'LiabilityTypePayrollInsuranceDeduction',\r\n PayrollMiscellaneousDeductions:\r\n 'LiabilityTypePayrollMiscellaneousDeductions',\r\n PayrollProfitSharingDeduction: 'LiabilityTypePayrollProfitSharingDeduction',\r\n PayrollRetirementDeduction: 'LiabilityTypePayrollRetirementDeduction',\r\n PayrollTaxDeduction: 'LiabilityTypePayrollTaxDeduction',\r\n UnionDues: 'LiabilityTypeUnionDues',\r\n };\r\n\r\n IncomeType = {\r\n Base: 'IncomeTypeBase',\r\n Bonus: 'IncomeTypeBonus',\r\n Commissions: 'IncomeTypeCommissions',\r\n Overtime: 'IncomeTypeOvertime',\r\n MilitaryCombatPay: 'IncomeTypeMilitaryCombatPay',\r\n MilitaryFlightPay: 'IncomeTypeMilitaryFlightPay',\r\n MilitaryHazardPay: 'IncomeTypeMilitaryHazardPay',\r\n MilitaryOverseasPay: 'IncomeTypeMilitaryOverseasPay',\r\n MilitaryPropPay: 'IncomeTypeMilitaryPropPay',\r\n MilitaryClothesAllowance: 'IncomeTypeMilitaryClothesAllowance',\r\n MilitaryRationsAllowance: 'IncomeTypeMilitaryRationsAllowance',\r\n MilitaryVariableHousingAllowance: 'IncomeTypeMilitaryVariableHousingAllowance',\r\n MilitaryQuartersAllowance: 'IncomeTypeMilitaryQuartersAllowance',\r\n OtherTypesOfIncome: 'IncomeTypeOtherTypesOfIncome',\r\n ContractBasis: 'IncomeTypeContractBasis',\r\n };\r\n\r\n EmploymentType = {\r\n CurrentEmployer: 'EmploymentTypeCurrentEmployer',\r\n FormerEmployer: 'EmploymentTypeFormerEmployer',\r\n };\r\n\r\n PropertyTitleType = {\r\n ToBeDecidedInEscrow: 'PropertyTitleTypeToBeDecidedInEscrow',\r\n };\r\n\r\n PayoffType = {\r\n None: 'PayoffTypeNone',\r\n Partial: 'PayoffTypePartial',\r\n Full: 'PayoffTypeFull',\r\n };\r\n\r\n RaceDesignation = {\r\n AsianIndian: 'RaceDesignationAsianIndian',\r\n Chinese: 'RaceDesignationChinese',\r\n Filipino: 'RaceDesignationFilipino',\r\n GuamanianOrChamorro: 'RaceDesignationGuamanianOrChamorro',\r\n Japanese: 'RaceDesignationJapanese',\r\n Korean: 'RaceDesignationKorean',\r\n NativeHawaiian: 'RaceDesignationNativeHawaiian',\r\n Samoan: 'RaceDesignationSamoan',\r\n Vietnamese: 'RaceDesignationVietnamese',\r\n OtherAsian: 'RaceDesignationOtherAsian',\r\n OtherPacificIslander: 'RaceDesignationOtherPacificIslander',\r\n };\r\n\r\n PurchaseCreditType = {\r\n EarnestMoney: 'PurchaseCreditTypeEarnestMoney',\r\n DepositOnSalesContract: 'PurchaseCreditTypeDepositOnSalesContract',\r\n EmployerAssistedHousing: 'PurchaseCreditTypeEmployerAssistedHousing',\r\n LotEquity: 'PurchaseCreditTypeLotEquity',\r\n RelocationFunds: 'PurchaseCreditTypeRelocationFunds',\r\n LeasePurchaseFund: 'PurchaseCreditTypeLeasePurchaseFund',\r\n TradeEquity: 'PurchaseCreditTypeTradeEquity',\r\n Other: 'PurchaseCreditTypeOther',\r\n LenderCredit: 'PurchaseCreditTypeLenderCredit',\r\n SweatEquity: 'PurchaseCreditTypeSweatEquity',\r\n SellerCredit: 'PurchaseCreditTypeSellerCredit',\r\n MIPremiumRefund: 'PurchaseCreditTypeMIPremiumRefund',\r\n };\r\n\r\n FeePercentOfFieldTypes = {\r\n LoanAmount: 'LoanAmount',\r\n TotalLoanAmount: 'TotalLoanAmount',\r\n };\r\n\r\n MaritalStatusType = {\r\n Married: 'MaritalStatusTypeMarried',\r\n Separated: 'MaritalStatusTypeSeparated',\r\n Single: 'MaritalStatusTypeSingle',\r\n };\r\n\r\n MilitaryStatusType = {\r\n isActiveDutyMilitary: 'isActiveDutyMilitary',\r\n onlyNonActivatedReserveOrNationalGuard:\r\n 'onlyNonActivatedReserveOrNationalGuard',\r\n isRetiredDischargedSeparatedFromMilitary:\r\n 'isRetiredDischargedSeparatedFromMilitary',\r\n };\r\n\r\n ProjectType = {\r\n Condominium: 'ProjectTypeCondominium',\r\n Cooperative: 'ProjectTypeCooperative',\r\n PlannedUnitDevelopment: 'ProjectTypePlannedUnitDevelopment',\r\n NotInAProject: 'ProjectTypeNotInAProject',\r\n };\r\n\r\n CommunityLendingProductType = {\r\n HFAPreferred: 'CommunityLendingProductTypeHFAPreferred',\r\n HFAPreferredRiskSharing:\r\n 'CommunityLendingProductTypeHFAPreferredRiskSharing',\r\n HomeReady: 'CommunityLendingProductTypeHomeReady',\r\n };\r\n\r\n CommunitySecondsRepaymentType = {\r\n DeferredFullyForgiven: 'CommunityLendingProductTypeDeferredFullyForgiven',\r\n DeferredNotFullyForgiven:\r\n 'CommunityLendingProductTypeDeferredNotFullyForgiven',\r\n NonDeferred: 'CommunityLendingProductTypeNonDeferred',\r\n };\r\n\r\n NegativeAmortizationType = {\r\n NoNegativeAmortization: 'NegativeAmortizationTypeNoNegativeAmortization',\r\n PotentialNegativeAmortization:\r\n 'NegativeAmortizationTypePotentialNegativeAmortization',\r\n ScheduledNegativeAmortization:\r\n 'NegativeAmortizationTypeScheduledNegativeAmortization',\r\n };\r\n\r\n LienPositionType = {\r\n FirstLien: 'LienPositionTypeFirstLien',\r\n SecondLien: 'LienPositionTypeSecondLien',\r\n Other: 'LienPositionTypeOther',\r\n HELOC: 'LienPositionTypeHELOC',\r\n };\r\n\r\n ArmIndexSourceType = {\r\n EleventhDistrictCOF: 'ArmIndexSourceTypeEleventhDistrictCOF',\r\n ThirtyDayAverageSOFR: 'ArmIndexSourceTypeThirtyDayAverageSOFR',\r\n DailyCDRate: 'ArmIndexSourceTypeDailyCDRate',\r\n FannieMae60DayRequiredNetYield:\r\n 'ArmIndexSourceTypeFannieMae60DayRequiredNetYield',\r\n FannieMaeLIBOR: 'ArmIndexSourceTypeFannieMaeLIBOR',\r\n FederalCostOfFunds: 'ArmIndexSourceTypeFederalCostOfFunds',\r\n FreddieMac60DayRequiredNetYield:\r\n 'ArmIndexSourceTypeFreddieMac60DayRequiredNetYield',\r\n FreddieMacLIBOR: 'ArmIndexSourceTypeFreddieMacLIBOR',\r\n MonthlyAverageCMT: 'ArmIndexSourceTypeMonthlyAverageCMT',\r\n NationalAverageContractRate:\r\n 'ArmIndexSourceTypeNationalAverageContractRate',\r\n NationalMonthlyMedianCostOfFunds:\r\n 'ArmIndexSourceTypeNationalMonthlyMedianCostOfFunds',\r\n TBillDailyValue: 'ArmIndexSourceTypeTBillDailyValue',\r\n WallStreetJournalLIBOR: 'ArmIndexSourceTypeWallStreetJournalLIBOR',\r\n WeeklyAvePrimeRate: 'ArmIndexSourceTypeWeeklyAvePrimeRate',\r\n WeeklyAverageCDRate: 'ArmIndexSourceTypeWeeklyAverageCDRate',\r\n WeeklyAverageCMT: 'ArmIndexSourceTypeWeeklyAverageCMT',\r\n WeeklyFiveYearTreasurySecuritiesConstantMaturityFRBH15:\r\n 'ArmIndexSourceTypeWeeklyFiveYearTreasurySecuritiesConstantMaturityFRBH15',\r\n WeeklyOneYearTreasurySecuritiesConstantMaturityFRBH15:\r\n 'ArmIndexSourceTypeWeeklyOneYearTreasurySecuritiesConstantMaturityFRBH15',\r\n WeeklyThreeYearTreasurySecuritiesConstantMaturityFRBH15:\r\n 'ArmIndexSourceTypeWeeklyThreeYearTreasurySecuritiesConstantMaturityFRBH15',\r\n };\r\n\r\n LandValueType = {\r\n Appraised: 'LandValueTypeAppraised',\r\n Original: 'LandValueTypeOriginal',\r\n };\r\n\r\n PropertyWillBeType = {\r\n PrimaryResidence: 'PropertyWillBeTypePrimaryResidence',\r\n SecondaryResidence: 'PropertyWillBeTypeSecondaryResidence',\r\n Investment: 'PropertyWillBeTypeInvestment',\r\n };\r\n\r\n EmploymentOwnerShipShare = {\r\n LessThan25Percent: 'EmploymentOwnershipShareLessThan25Percent',\r\n GreaterOrEqualTo25Percent: 'EmploymentOwnershipShareGreaterOrEqualTo25Percent',\r\n Other: 'EmploymentOwnershipShareOther',\r\n };\r\n}\r\n\r\nexport class CommonEnumerations {\r\n agentType: string = 'AgentType';\r\n taskType: string = 'TaskType';\r\n}\r\n\r\nexport class MilitaryStatuses {\r\n isActiveDutyMilitary: string = 'isActiveDutyMilitary';\r\n onlyNonActivatedReserveOrNationalGuard: string =\r\n 'onlyNonActivatedReserveOrNationalGuard';\r\n isRetiredDischargedSeparatedFromMilitary: string =\r\n 'isRetiredDischargedSeparatedFromMilitary';\r\n}\r\n\r\nexport class EnumItemNames {\r\n ethnicityTypeHispanicOrLatino: string = 'EthnicityTypeHispanicOrLatino';\r\n ethnicityOriginTypeOther: string = 'EthnicityOriginTypeOther';\r\n raceDesignationAsianIndian: string = 'RaceDesignationAsianIndian';\r\n raceDesignationChinese: string = 'RaceDesignationChinese';\r\n raceDesignationFilipino: string = 'RaceDesignationFilipino';\r\n raceDesignationJapanese: string = 'RaceDesignationJapanese';\r\n raceDesignationKorean: string = 'RaceDesignationKorean';\r\n raceDesignationVietnamese: string = 'RaceDesignationVietnamese';\r\n raceDesignationOtherAsian: string = 'RaceDesignationOtherAsian';\r\n raceDesignationGuamanianOrChamorro: string =\r\n 'RaceDesignationGuamanianOrChamorro';\r\n raceDesignationNativeHawaiian: string = 'RaceDesignationNativeHawaiian';\r\n raceDesignationSamoan: string = 'RaceDesignationSamoan';\r\n raceDesignationOtherPacificIslander: string =\r\n 'RaceDesignationOtherPacificIslander';\r\n raceTypeAsian: string = 'RaceTypeAsian';\r\n raceTypeNativeHawaiianOrOtherPacificIslander: string =\r\n 'RaceTypeNativeHawaiianOrOtherPacificIslander';\r\n raceTypeAmericanIndianOrAlaskaNative: string =\r\n 'RaceTypeAmericanIndianOrAlaskaNative';\r\n militaryStatuses: MilitaryStatuses = new MilitaryStatuses();\r\n applicationTakenMethodTypeFaceToFace: string =\r\n 'ApplicationTakenMethodTypeFaceToFace';\r\n isAmortizationTypeArm: string = 'AmortizationTypeARM';\r\n projectTypeCondominium: string = 'ProjectTypeCondominium';\r\n projectTypeNotInAProject: string = 'ProjectTypeNotInAProject';\r\n}\r\n\r\n\r\nexport class Enumerations {\r\n suffix: string = 'Suffix';\r\n residencyTypes: string = 'ResidencyTypes';\r\n maritalStatuses: string = 'MaritalStatusType';\r\n domesticRelationshipTypes: string = 'DomesticRelationshipType';\r\n residencyBasisTypes: string = 'ResidencyBasis';\r\n propertyTypesOwned: string = 'PriorPropertyUsageType';\r\n holdTitles: string = 'PriorPropertyTitleType';\r\n bankruptcyTypes: string = 'BankruptcyType';\r\n ethnicityType: string = 'EthnicityType';\r\n ethnicityOriginType: string = 'EthnicityOriginType';\r\n raceType: string = 'RaceType';\r\n sexType: string = 'SexType';\r\n raceDesignation: string = 'RaceDesignation';\r\n applicationTakenMethodType: string = 'ApplicationTakenMethodType';\r\n enumItemNames: EnumItemNames = new EnumItemNames();\r\n assetTypes: string = 'AssetType';\r\n lienPositionType: string = 'LienPositionType';\r\n loanAmortizationPeriodType: string = 'LoanAmortizationPeriodType';\r\n giftGrantSource: string = 'GiftGrantSource';\r\n purchaseCreditTypes: string = 'PurchaseCreditType';\r\n liabilityTypes: string = 'LiabilityType';\r\n loanPurposes: string = 'LoanPurposeType';\r\n refinancePurposes: string = 'RefinancePurposeType';\r\n refinancePrimaryPurposes: string = 'RefinancePrimaryPurposeType'\r\n propertyTypes: string = 'PropertyWillBeType';\r\n propertyConstructionMethod: string = 'PropertyConstructionMethod';\r\n propertyConstructionStatus: string = 'PropertyConstructionStatus'\r\n downPaymentSourceTypes: string = 'PurchaseCreditSourceType';\r\n incomeType: string = 'IncomeType';\r\n currentPropertyWillBeType: string = 'CurrentPropertyWillBeType';\r\n propertyStatusOptions: string = 'ReoStatusType';\r\n intendedPropertyWillBeType: string = 'IntendedPropertyWillBeType';\r\n reoPropertyTypes: string = 'GsePropertyType';\r\n employmentOwnershipShare: string = 'EmploymentOwnershipShare';\r\n feePercentOfFieldType: string = 'FeePercentOfField';\r\n\r\n wireRequestEthnicity: string = 'WireRequestEthnicity';\r\n wireRequestRace: string = 'WireRequestRace';\r\n wireRequestAmortizationType: string = 'WireRequestAmortizationType';\r\n wireRequestAppraisalType: string = 'WireRequestAppraisalType';\r\n wireRequestDocumentationType: string = 'WireRequestDocumentationType';\r\n wireRequestLoanType: string = 'WireRequestLoanType';\r\n wireRequestPropertyType: string = 'WireRequestPropertyType';\r\n wireRequestRateType: string = 'WireRequestRateType';\r\n wireRequestOccupancy: string = 'WireRequestOccupancy';\r\n wireRequestInvestorName: string = 'WireRequestInvestorName';\r\n wireRequestLienPosition: string = 'WireRequestLienPosition';\r\n\r\n selfEmploymentForm: string = \"SelfEmploymentForm\";\r\n verificationStatus: string = \"VerificationStatus\";\r\n borrowerCounsellingFormatType: string = \"BorrowerCounselingFormatType\";\r\n\r\n appraisalProvider: string = \"AppraisalProvider\";\r\n}\r\n\r\nexport class PricingEnumerations {\r\n citizenship: string = 'Citizenship';\r\n loanTerm: string = 'LoanTerm';\r\n loanType: string = 'MortgageAppliedForType';\r\n yesNo: string = 'YesNo';\r\n documentationStatus: string = 'DocumentationStatus';\r\n incomeDocumentation: string = 'IncomeDocumentation';\r\n occupancy: string = 'Occupancy';\r\n armFixedTerm: string = 'ArmFixedTerm';\r\n numberOfUnits: string = 'NumberOfUnits';\r\n productType: string = 'ProductType';\r\n automatedUnderwritingSystem: string = 'AutomatedUnderwritingSystem';\r\n prepaymentPenalty: string = 'PrepaymentPenalty';\r\n typeOfVeteran: string = 'TypeOfVeteran';\r\n buyDown: string = 'Buydown';\r\n includeLoCompensationPricing: string = 'IncludeLoCompensationInPricing';\r\n compensationPercentBasedOn: string = 'CompensationBasedOn';\r\n documentationType: string = \"DocumentationType\";\r\n pricingEngineVendor: string = \"PricingEngineVendor\";\r\n incomeVerificationType: string = \"IncomeVerificationType\";\r\n incomeVerificationMethod: string = \"IncomeVerificationMethod\";\r\n bankStatementExpenseMethod: string = \"BankStatementExpenseMethod\";\r\n investorExperience: string = \"InvestorExperience\";\r\n bankruptcy: string = \"Bankruptcy\";\r\n bankruptcyType: string = \"BankruptcyType\";\r\n bankruptcyOutcome: string = \"BankruptcyOutcome\";\r\n housingEventType: string = \"HousingEventType\";\r\n seasoning: string = \"Seasoning\";\r\n}\r\n\r\nexport class FeeEnumerations {\r\n pricingEngineVendor: string = 'PricingEngineVendor';\r\n feeType: string = 'FeeType';\r\n perDiemCalculationMethodType: string = 'PerDiemCalculationMethodType';\r\n feePaidTo: string = 'FeePaidTo';\r\n feePercentOfField: string = 'FeePercentOfField';\r\n}\r\n\r\nexport class TitleEnumerations {\r\n orderType: string = \"TitleOrderType\";\r\n productType: string = \"TitleProductType\";\r\n documentType: string = \"TitleDocumentType\";\r\n orderStatus: string = \"TitleOrderStatus\";\r\n orderSyncType: string = \"TitleOrderSyncType\";\r\n}\r\n\r\nexport class DocumentSetEnumerations {\r\n mortgageDocumentSet: string = \"MortgageDocumentSet\";\r\n}\r\n\r\nexport class MortgageEnumerations {\r\n loanPurpose: string = 'LoanPurposeType';\r\n refinancePurpose: string = 'RefinancePurposeType';\r\n amortizationType: string = 'AmortizationType';\r\n propertyType: string = 'PropertyType';\r\n propertyTitleType: string = 'PropertyTitleType';\r\n mortgageAppliedForType: string = 'MortgageAppliedForType';\r\n subjectProperty: string = 'SubjectProperty';\r\n appraisalFormType: string = 'AppraisalFormType';\r\n //propertyInspectionType: string = \"PropertyInspectionType\";\r\n appraisalMethodType: string = 'AppraisalMethodType';\r\n estateType: string = 'EstateType';\r\n recordingJurisdictionType: string = 'RecordingJurisdictionType';\r\n titleType: string = 'PropertyTitleType';\r\n propertyTrustClassification: string = 'PropertyTrustClassification';\r\n nativeAmericanLandsType: string = 'NativeAmericanLandsType';\r\n productType: string = 'ProductType';\r\n lendingProductType: string = 'CommunityLendingProductType';\r\n secondsRepaymentType: string = 'CommunitySecondsRepaymentType';\r\n negativeAmortizationType: string = 'NegativeAmortizationType';\r\n armIndexType: string = 'ArmIndexType';\r\n armIndexSourceType: string = 'ArmIndexSourceType';\r\n governmentRefinanceType: string = 'GovernmentRefinanceType';\r\n constructionToPermanentClosingType: string = 'ConstructionToPermanentClosingType';\r\n projectType: string = 'ProjectType';\r\n propertyAttachmentType: string = 'PropertyAttachmentType';\r\n creditorServicingOfLoanStatementType: string = 'CreditorServicingOfLoanStatementType';\r\n paymentBillingStatementFrequencyType: string = 'PaymentBillingStatementFrequencyType';\r\n loanUnderwritingSubmitterType: string = 'LoanUnderwritingSubmitterType';\r\n lateChargeType: string = 'LateChargeType';\r\n partialPaymentApplicationMethodType: string = 'PartialPaymentApplicationMethodType';\r\n mortgagePaymentFrequency: string = 'MortgagePaymentFrequency';\r\n projectDesignType: string = 'ProjectDesignType';\r\n improvementStatusType: string = 'ImprovementStatusType';\r\n propertyWillBeType: string = 'PropertyWillBeType';\r\n landValueType: string = 'LandValueType';\r\n mortgageDocumentSet: string = 'MortgageDocumentSet';\r\n constructionMethodType: string = 'PropertyConstructionMethod';\r\n attachmentType: string = 'PropertyAttachmentType';\r\n manufacturedHomeWidthType: string = 'ManufacturedHomeWidthType';\r\n premiumRefundableType: string = 'MIPremiumRefundableType';\r\n renewalType: string = 'MIRenewalType';\r\n renewalCalculationType: string = 'MIRenewalCalculationType';\r\n premiumRatePlanType: string = 'MIPremiumRatePlanType';\r\n paymentFrequencyType: string = 'MIPaymentFrequencyType';\r\n durationType: string = 'MIDurationType';\r\n premiumSourceType: string = 'MIPremiumSource';\r\n lienPositionType: string = 'LienPositionType';\r\n governmentLoanSectionOfActType: string = 'GovernmentLoanSectionOfActType';\r\n fhaInsuranceProgramType: string = 'FhaInsuranceProgramType';\r\n vaFundingFeeExemptionType: string = 'VAFundingFeeExemptionType';\r\n language: string = 'Language';\r\n selfEmploymentForm: string = 'SelfEmploymentForm';\r\n ausSystemType: string = 'AusSystemType';\r\n freddieMacRefinanceProgram: string = 'FreddieMacRefinanceProgram';\r\n freddieMacLoanProgram: string = 'FreddieMacLoanProgram';\r\n giftGrantSource: string = 'GiftGrantSource';\r\n hazardInsuranceCoverageType: string = 'HazardInsuranceCoverageType';\r\n manufacturedHomeConditionType: string = 'ManufacturedHomeConditionType';\r\n certificateOfTitleType: string = 'CertificateOfTitleType';\r\n lotOwnershipType: string = 'LotOwnershipType';\r\n governmentLoanApplicationType: string = 'GovernmentLoanApplicationType';\r\n fHAAlimonyLiabilityTreatmentType: string = 'FHAAlimonyLiabilityTreatmentType';\r\n vaAppraisalType: string = 'VAAppraisalType';\r\n vaLoanProcedureType: string = 'VALoanProcedureType';\r\n vaTitleVestingType: string = 'VATitleVestingType';\r\n vaCashOutRefinanceType: string = 'VACashOutRefinanceType';\r\n propertyOccupancyType: string = 'PropertyOccupancyType';\r\n unitOwnedByType: string = 'UnitOwnedByType';\r\n currentPropertyWillBeType: string = 'CurrentPropertyWillBeType';\r\n condominiumProjectStatusType: string = 'CondominiumProjectStatusType';\r\n nFIPCommunityParticipationStatus: string = 'NFIPCommunityParticipationStatus';\r\n hMDAPreapprovalType: string = 'HMDAPreapprovalType';\r\n borrowerAliasType: string = 'BorrowerAliasType';\r\n borrowerRelationshipTitleType: string = 'BorrowerRelationshipTitleType';\r\n signingRole: string = 'SigningRole';\r\n mortgageEntityType: string = 'MortgageEntityType';\r\n mortgagePartyType: string = 'MortgagePartyType';\r\n informationalFormSeriesTranscriptRequestedPositionType: string =\r\n 'InformationalFormSeriesTranscriptRequestedPositionType';\r\n prepaymentPenaltyPrincipalBalanceType: string = 'PrepaymentPenaltyPrincipalBalanceType';\r\n prepaymentPenaltyOptionType: string = 'PrepaymentPenaltyOptionType';\r\n qualifyingRateType: string = 'QualifyingRateType';\r\n qualifiedMortgageTemporaryGSEType: string = 'QualifiedMortgageTemporaryGSEType';\r\n abilityToRepayMethodType: string = 'AbilityToRepayMethodType';\r\n qualifiedMortgageType: string = 'QualifiedMortgageType';\r\n presumptionOfComplianceType: string = 'PresumptionOfComplianceType';\r\n abilityToRepayExemptionCreditorOrganizationType: string =\r\n 'AbilityToRepayExemptionCreditorOrganizationType';\r\n abilityToRepayExemptionLoanProgramType: string = 'AbilityToRepayExemptionLoanProgramType';\r\n buydownCalculationType: string = 'BuydownCalculationType';\r\n militaryBranch: string = 'MilitaryBranch';\r\n vaBorrowerCertificationOccupancyType: string = 'VABorrowerCertificationOccupancyType';\r\n duAusRecommendation: string = 'DuAusRecommendation';\r\n lpaAusRecommendation: string = 'LpaAusRecommendation';\r\n entityVestingType: string = 'EntityVestingType';\r\n disclosureReason: string = 'DisclosureReason';\r\n}\r\n\r\nexport class MortgageInsuranceEnumerations {\r\n specialLoanProgram: string = 'MiSpecialLoanProgram';\r\n vendor: string = 'MiVendor';\r\n}\r\n\r\nexport class Constants {\r\n public static editToken: string = \"editToken\";\r\n public static authToken: string = \"authToken\";\r\n public static companyGuid: string = \"companyGuid\";\r\n public static userCompanyGuid: string = \"userCompanyGuid\";\r\n public static branchGuid: string = \"branchGuid\";\r\n public static returnUrl: string = \"returnUrl\";\r\n public static userName: string = \"username\";\r\n public static token: string = \"token\";\r\n public static clientIpKey: string = \"clientIpAddress\";\r\n public static userGuid: string = \"userGuid\";\r\n public static flowGuid: string = \"flowGuid\";\r\n public static applicationId: string = \"appId\";\r\n public static contactId: string = \"contactId\";\r\n public static isCoborrower: string = \"isCoborrower\";\r\n\r\n public static flowEndpoints: FlowEndpoints = new FlowEndpoints();\r\n public static stepPaths: StepPaths = new StepPaths();\r\n public static assetVerificationOptions: AssetVerificationOptions = new AssetVerificationOptions();\r\n public static incomeVerificationOptions: IncomeVerificationOptions = new IncomeVerificationOptions();\r\n\r\n public static authorization: Authorization = new Authorization();\r\n\r\n public static modalOptions: ModalOptions = new ModalOptions();\r\n\r\n public static thirdPartyTrackingScripts = new ThirdPartyTrackingScripts();\r\n\r\n public static mimeTypes = new MimeTypes();\r\n\r\n public static enumerationValueNames = new EnumerationValueNames();\r\n\r\n public static dirtyCheckIgnoreFieldsMetaDataField: string = \"fields_to_ignore_for_dirty_check\";\r\n\r\n public static enumerations: Enumerations = new Enumerations();\r\n public static commonEnumerations: CommonEnumerations = new CommonEnumerations();\r\n public static pricingEnumerations: PricingEnumerations =\r\n new PricingEnumerations();\r\n public static mortgageEnumerations: MortgageEnumerations =\r\n new MortgageEnumerations();\r\n public static mortgageInsuranceEnumerations: MortgageInsuranceEnumerations =\r\n new MortgageInsuranceEnumerations();\r\n public static feeEnumerations: FeeEnumerations =\r\n new FeeEnumerations();\r\n public static documentSetEnumerations: DocumentSetEnumerations = new DocumentSetEnumerations();\r\n public static titleEnumerations: TitleEnumerations = new TitleEnumerations();\r\n}\r\n\r\n","import { Borrower } from \"../models/borrower-model\";\r\nimport { WizardFlowContext } from \"../models/wizard-flow-context.model\";\r\nimport { WizardFlowDecisionContext } from \"../models/wizard-flow-decision-context.model\";\r\nimport { ContextType } from \"../models/wizard/config/context-type.enum\";\r\n\r\nexport class ContextExtractor {\r\n\r\n public static prepareDecisionContext(wizardFlowContext: WizardFlowContext): WizardFlowDecisionContext {\r\n // TODO: Do we really need this now? It seems like the decision context is the wizard flow context itself now!?\r\n const mortgage = this.extractContext(wizardFlowContext, ContextType.Mortgage);\r\n const mainBorrower = this.extractContext(wizardFlowContext, ContextType.MainBorrower);\r\n const borrowersThatMainBorrowerIsApplyingFor = this.extractContext(wizardFlowContext, ContextType.BorrowersThatMainBorrowerIsApplyingFor);\r\n const customerPreferences = this.extractContext(wizardFlowContext, ContextType.CustomerPreferences);\r\n let decisionContext = new WizardFlowDecisionContext();\r\n decisionContext.mortgage = mortgage;\r\n decisionContext.mainBorrower = mainBorrower;\r\n decisionContext.borrowersThatMainBorrowerIsApplyingFor = borrowersThatMainBorrowerIsApplyingFor;\r\n decisionContext.customerPreferences = customerPreferences;\r\n decisionContext.creditRunFailed = wizardFlowContext.creditRunFailed;\r\n decisionContext.skipCreditCheck = wizardFlowContext.skipCreditCheck;\r\n decisionContext.skipAutomatedCreditCheck = wizardFlowContext.skipAutomatedCreditCheck;\r\n decisionContext.thereAreBorrowerCharacteristics = wizardFlowContext.thereAreBorrowerCharacteristics;\r\n decisionContext.thereAreLoanCharacteristics = wizardFlowContext.thereAreLoanCharacteristics;\r\n decisionContext.hasSuccessfullyPulledExistingApplication = wizardFlowContext.hasSuccessfullyPulledExistingApplication;\r\n decisionContext.loanPurposeId = wizardFlowContext.loanPurposeId;\r\n return decisionContext;\r\n }\r\n\r\n public static extractContext(wizardFlowContext: WizardFlowContext, contextType: ContextType): any {\r\n if (contextType == ContextType.Mortgage) {\r\n return wizardFlowContext.mortgage;\r\n } else if (contextType == ContextType.SubjectProperty) {\r\n return wizardFlowContext.mortgage.subjectProperty;\r\n } else if (contextType === ContextType.Extension) {\r\n return wizardFlowContext.mortgage.extension;\r\n } else if (contextType == ContextType.CustomerPreferences) {\r\n return wizardFlowContext.customerPreferences;\r\n } else if (contextType == ContextType.Borrowers) {\r\n return wizardFlowContext.mortgage.borrowers;\r\n } else if (contextType == ContextType.MainBorrower) {\r\n return wizardFlowContext.mortgage.borrowers[0];\r\n } else if (contextType == ContextType.WizardFlowContextItself) {\r\n return wizardFlowContext;\r\n } else if (contextType == ContextType.Liabilities) {\r\n return wizardFlowContext.mortgage.liabilities;\r\n } else if (contextType == ContextType.BorrowersThatMainBorrowerIsApplyingFor) {\r\n let borrowers: Borrower[] = [];\r\n wizardFlowContext.mortgage.borrowers.forEach(b => {\r\n const selected = wizardFlowContext.borrowerSettings.get(b.borrowerId);\r\n if (selected && selected === true) {\r\n borrowers.push(b);\r\n }\r\n });\r\n return borrowers;\r\n } else {\r\n return wizardFlowContext.mortgage;\r\n }\r\n }\r\n\r\n}\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { BorrowerCreditScores } from '../models/borrower-credit-scores.model';\r\nimport { Vendor } from '../models/vendor.model';\r\nimport { CreditInquiryDetails, CreditInquiryDetailsEntry } from '../models/credit-inquiry-details.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { LookupEnumItem } from '../models/lookup-enum-item.model';\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json', 'auth-req': 'true', 'X-Requested-With': 'XMLHttpRequest' });\r\n\r\n@Injectable()\r\nexport class CreditService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n public generateCreditAuthDocument = (applicationId: number): Observable => {\r\n const url = `api/online-app/GenerateCreditAuthDocument/${applicationId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public getCreditScores = (applicationId: number): Observable => {\r\n const url = `api/online-app/credit/credit-history?applicationId=${applicationId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n public getVendors = (channel: string = null): Observable => {\r\n let url = `api/online-app/credit/credit-vendors`;\r\n if (channel) {\r\n url = `${url}?channel=${channel}`;\r\n }\r\n return this._dataService.get(url);\r\n }\r\n\r\n public runCreditReports = (applicationId: number, borrowerIds: (number | undefined)[],\r\n vendor: string | undefined | null,\r\n reportType: string | undefined | null,\r\n pullEquifax: boolean | undefined | null,\r\n pullExperian: boolean | undefined | null,\r\n pullTransUnion: boolean | undefined | null): Observable => {\r\n const url = `api/online-app/credit/pull-report`;\r\n const payLoad = {\r\n applicationId: applicationId,\r\n borrowerIds: borrowerIds,\r\n pullType: 'Individual',\r\n creditVendor: !vendor ? 'MeridianLinkSoftPull' : vendor,\r\n creditRequestType: 'Submit',\r\n reportType: !reportType ? null : reportType,\r\n equifax: pullEquifax,\r\n experian: pullExperian,\r\n transUnion: pullTransUnion\r\n };\r\n //temp pull all three until clients switch over\r\n if (!payLoad.experian && !payLoad.equifax && !payLoad.transUnion) {\r\n payLoad.experian = true;\r\n payLoad.equifax = true;\r\n payLoad.transUnion = true;\r\n }\r\n return this._dataService.post(url, payLoad);\r\n }\r\n\r\n public getInquiries = (creditId: number): Observable => {\r\n const url = `api/online-app/credit/${creditId}/inquiries`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n public saveInquiries = (creditInquiries: CreditInquiryDetails) => {\r\n const url = `api/online-app/credit/inquiries?submitESignRequest=true`;\r\n return this._dataService.post(url, creditInquiries);\r\n }\r\n\r\n public createConsentReport = (applicationId: number, creditAuthText: string) => {\r\n const url = `api/online-app/GenerateCreditAuthDocument/${applicationId}`;\r\n return this._dataService.post(url, { creditAuthText: creditAuthText });\r\n }\r\n\r\n public generateEConsentDocument = (applicationId: number) => {\r\n const url = `api/online-app/GenerateEConsentDocument/${applicationId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public getCreditVendorEnumItems = (): Observable => {\r\n const url = `api/Lookup/enum/namespace/LE.Lodasoft.Common.Enums.Credit`;\r\n return this._dataService.post(url, {}).pipe(map((response: any) => {\r\n return response['lE.Lodasoft.Common.Enums.Credit.CreditVendor'];\r\n }));\r\n }\r\n}\r\n","import { HttpBackend, HttpClient, HttpEvent, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { Constants } from './constants';\r\nimport { NavigationService } from './navigation.service';\r\nimport { UtilsService } from './utils.service';\r\n\r\nconst headers = {\r\n 'Content-Type': 'application/json',\r\n 'auth-req': 'true',\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n 'APPLICATION_NAME': 'OnlineAppV3',\r\n 'APPLICATION_VERSION': '3.0' // Flow guid will go to the version\r\n};\r\n\r\n@Injectable()\r\nexport class DataService {\r\n\r\n // This one is the one to use to by-pass the auth interceptor\r\n private _httpClient: HttpClient;\r\n\r\n constructor(\r\n private _handler: HttpBackend,\r\n private readonly _http: HttpClient,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _environmentService: EnvironmentService,\r\n private readonly _navigationService: NavigationService) {\r\n this._httpClient = new HttpClient(this._handler);\r\n }\r\n\r\n post = (url: string, data: any, admin?: boolean, customOptions?: any): Observable => {\r\n const { urlToUse, headersToUse } = this.prepareRequestHeaders(url, admin);\r\n return this._http.post(urlToUse, data, { headers: headersToUse, ...customOptions });\r\n }\r\n\r\n upload(url: string, file: File): Observable> {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + '/' + url\r\n\r\n const formData: FormData = new FormData();\r\n formData.append('uploadFile', file, file.name);\r\n\r\n const req = new HttpRequest('POST', urlToUse, formData, {\r\n reportProgress: true,\r\n responseType: 'text'\r\n });\r\n return this._http.request(req);\r\n }\r\n\r\n postFormData = (url: string, formData: FormData): Observable => {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + url;\r\n return this._http.post(urlToUse, formData, { headers: {} });\r\n };\r\n\r\n postWithoutAuth = (url: string, data: any): Observable => {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + '/' + url;\r\n const headersToUse = new HttpHeaders(headers)\r\n .set('APPLICATION_VERSION', this._navigationService.flowGuid ? this._navigationService.flowGuid : '');\r\n return this._httpClient.post(urlToUse, data, { headers: headersToUse });\r\n }\r\n\r\n put = (url: string, data: any, admin?: boolean): Observable => {\r\n const { urlToUse, headersToUse } = this.prepareRequestHeaders(url, admin);\r\n return this._http.put(urlToUse, data, { headers: headersToUse });\r\n }\r\n\r\n getWithoutAuth = (url: string): Observable => {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + '/' + url;\r\n return this._httpClient.get(urlToUse, { headers });\r\n }\r\n\r\n getTextResponseWithoutAuth = (url: string): Observable => {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + '/' + url;\r\n return this._httpClient.get(urlToUse, { headers, responseType: 'text' });\r\n }\r\n\r\n get = (url: string, admin?: boolean, customOptions?: any): Observable => {\r\n const { urlToUse, headersToUse } = this.prepareRequestHeaders(url, admin);\r\n return this._http.get(urlToUse, { headers: headersToUse, ...customOptions });\r\n }\r\n\r\n delete = (url: string, admin?: boolean): Observable => {\r\n const { urlToUse, headersToUse } = this.prepareRequestHeaders(url, admin);\r\n return this._http.delete(urlToUse, { headers: headersToUse });\r\n }\r\n\r\n downloadFile = (url: string, relativePath: boolean = true, bypassAuth: boolean = false, mimeType: string = null): Observable => {\r\n const httpClient = bypassAuth ? this._httpClient : this._http;\r\n const options: any = {\r\n headers: {\r\n 'Content-Type': Constants.mimeTypes.octetStream\r\n },\r\n observe: 'response',\r\n responseType: mimeType ? ('arraybuffer' as 'arraybuffer') : ('blob' as 'blob')\r\n }\r\n const urlToUse = relativePath ? this._environmentService.apiInfo.apiBaseUrl + '/' + url : url;\r\n\r\n return httpClient.get(urlToUse, options).pipe(mergeMap((response: any) => {\r\n const blobUrl = response.headers.get('LE-B-Loc');\r\n const contentType = response.headers.get('Content-Type');\r\n let body = response.body;\r\n if (mimeType && mimeType !== contentType && !blobUrl) {\r\n body.type = mimeType\r\n }\r\n return blobUrl != null ? this.downloadFile(blobUrl, false, true, contentType) : of(body);\r\n }));\r\n }\r\n\r\n getExternalApi = (url: string): Observable => {\r\n return this._httpClient.get(url);\r\n }\r\n \r\n getRelativePath = (url: string): Observable => {\r\n const urlToUse = url;\r\n return this._http.get(urlToUse, { headers: headers });\r\n }\r\n\r\n private prepareRequestHeaders(url: string, admin?: boolean) {\r\n const urlToUse = this._environmentService.apiInfo.apiBaseUrl + '/' + url;\r\n let headersToUse = headers;\r\n const token = this._utilsService.getUrlParameter(Constants.editToken);\r\n if (admin && (!token || token.length === 0)) {\r\n this._navigationService.navigateToLogin();\r\n return { urlToUse, headersToUse };\r\n }\r\n const useAdmin = admin || (token !== undefined && token.length > 0);\r\n if (!useAdmin) {\r\n headersToUse = this.prepareRequestHeadersForBorrower();\r\n }\r\n return { urlToUse, headersToUse };\r\n }\r\n\r\n private prepareRequestHeadersForBorrower = (): any => {\r\n return new HttpHeaders(headers)\r\n .set('APPLICATION_VERSION', this._navigationService.flowGuid ? this._navigationService.flowGuid : '');\r\n }\r\n}\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { filter, tap } from 'rxjs/operators';\r\n\r\nexport enum ContactListType {\r\n Application = \"Application\",\r\n Agent = \"Agent\",\r\n Borrower = \"Borrower\",\r\n Lead = \"Lead\",\r\n CreditMonitoring = \"CreditMonitoring\",\r\n ExternalBrokerage = \"ExternalBrokerage\",\r\n ExternalBroker = \"ExternalBroker\"\r\n}\r\n\r\n@Injectable()\r\nexport class DrawerService {\r\n\r\n get openDrawer$(): Subject {\r\n return this._openDrawer;\r\n }\r\n\r\n openDrawer(info: { contactListType: ContactListType, recordId: number }): void {\r\n this._openDrawer.next(info);\r\n }\r\n\r\n private _openDrawer = new Subject();\r\n\r\n drawerObservable = new BehaviorSubject(new DrawerAction());\r\n\r\n private _largestSizeInStackOfOpenDrawers: DrawerSize | null = DrawerSize.Small;\r\n\r\n private _drawersByName: Map = new Map();\r\n private _openDrawersByName: Map = new Map();\r\n\r\n private _optionsForDrawerToBeOpened: DrawerOptions;\r\n\r\n constructor() { }\r\n\r\n getDrawer = (drawer: Drawer): Observable => {\r\n return this.drawerObservable.asObservable().pipe(tap(\r\n action => {\r\n if (!this._drawersByName.has(drawer.name)) {\r\n this._drawersByName.set(drawer.name, drawer);\r\n }\r\n }\r\n ),\r\n filter((action: DrawerAction) => action && action.name === drawer.name));\r\n }\r\n\r\n show = (name: string, debounce: number = 10, title?: string, component?: DynamicComponentInfo, options?: DrawerOptions): Promise => {\r\n const drawer = this._drawersByName.get(name);\r\n let requestedToOpenAlreadyOpenDrawer = false;\r\n const previousLargestSizeInStackOfOpenDrawers = this._largestSizeInStackOfOpenDrawers;\r\n this._optionsForDrawerToBeOpened = options ? options : drawer.options;\r\n if (drawer) {\r\n if (!this._openDrawersByName.has(name)) {\r\n this._openDrawersByName.set(name, drawer);\r\n } else {\r\n // The same drawer is already open and there was a request to open it again\r\n requestedToOpenAlreadyOpenDrawer = true;\r\n }\r\n this._largestSizeInStackOfOpenDrawers = this.calculateLargestSizeAmongOpenDrawers(this._optionsForDrawerToBeOpened);\r\n } else {\r\n return new Promise((resolve, _reject) => {\r\n resolve(true);\r\n });\r\n }\r\n return new Promise((resolve, _reject) => {\r\n setTimeout(() => {\r\n if (this._optionsForDrawerToBeOpened.containerWrapperId) {\r\n const wrapperElement = document.getElementById(this._optionsForDrawerToBeOpened.containerWrapperId);\r\n if (!wrapperElement) {\r\n return;\r\n }\r\n if (requestedToOpenAlreadyOpenDrawer) {\r\n const sizeDependentClassNameForContainer = this.getSizeDependentClassName(previousLargestSizeInStackOfOpenDrawers);\r\n wrapperElement.classList.remove(sizeDependentClassNameForContainer);\r\n }\r\n const sizeDependentClassNameForContainer = this.getSizeDependentClassName(this._largestSizeInStackOfOpenDrawers);\r\n if (!wrapperElement.classList.contains(sizeDependentClassNameForContainer)) {\r\n wrapperElement.classList.add(sizeDependentClassNameForContainer);\r\n }\r\n wrapperElement.classList.remove(\"rightnav-drawing-closed\");\r\n }\r\n this.drawerObservable.next({ name: name, show: true, dynamicComponentInfo: component, title: title, options: this._optionsForDrawerToBeOpened });\r\n resolve(true);\r\n }, debounce);\r\n });\r\n }\r\n\r\n hideAll = () => {\r\n const names = Array.from(this._openDrawersByName.keys());\r\n names.forEach(name => {\r\n this.hide(name);\r\n });\r\n this._largestSizeInStackOfOpenDrawers = DrawerSize.Small;\r\n }\r\n\r\n hide = (name: string, debounce: number = 10): Promise => {\r\n const drawer = this._openDrawersByName.get(name);\r\n if (drawer) {\r\n this._openDrawersByName.delete(name);\r\n } else {\r\n return new Promise((resolve, _reject) => {\r\n resolve(true);\r\n });\r\n }\r\n return new Promise((resolve, _reject) => {\r\n setTimeout(() => {\r\n this.drawerObservable.next({ name: name, show: false });\r\n const options = drawer.options || this._optionsForDrawerToBeOpened;\r\n if (options.containerWrapperId) {\r\n const wrapperElement = document.getElementById(options.containerWrapperId);\r\n if (!wrapperElement) {\r\n return;\r\n }\r\n const sizeDependentClassNameForContainer = this.getSizeDependentClassName(options.size);\r\n wrapperElement.classList.remove(sizeDependentClassNameForContainer);\r\n this._largestSizeInStackOfOpenDrawers = this.calculateLargestSizeAmongOpenDrawers();\r\n if (!this._largestSizeInStackOfOpenDrawers) {\r\n wrapperElement.classList.add(\"rightnav-drawing-closed\");\r\n } else {\r\n const sizeDependentClassNameForContainer = this.getSizeDependentClassName(this._largestSizeInStackOfOpenDrawers);\r\n if (!wrapperElement.classList.contains(sizeDependentClassNameForContainer)) {\r\n wrapperElement.classList.add(sizeDependentClassNameForContainer);\r\n }\r\n }\r\n }\r\n resolve(true);\r\n }, debounce);\r\n });\r\n }\r\n\r\n private getSizeDependentClassName = (size: DrawerSize): string => {\r\n switch (size) {\r\n case DrawerSize.Small:\r\n return \"rightnav-drawing-open-sm\";\r\n case DrawerSize.Medium:\r\n return \"rightnav-drawing-open-md\";\r\n case DrawerSize.Large:\r\n return \"rightnav-drawing-open-lg\";\r\n case DrawerSize.XLarge:\r\n return \"rightnav-drawing-open-xlg\";\r\n case DrawerSize.XXLarge:\r\n return \"rightnav-drawing-open-xxlg\";\r\n case DrawerSize.XXXLarge:\r\n return \"rightnav-drawing-open-xxxlg\";\r\n case DrawerSize.XXXXLarge:\r\n return \"rightnav-drawing-open-xxxxlg\";\r\n default:\r\n return \"rightnav-drawing-open-md\";\r\n }\r\n }\r\n\r\n private calculateLargestSizeAmongOpenDrawers = (options?: DrawerOptions): DrawerSize | null => {\r\n const sizes = Array.from(this._openDrawersByName.values()).filter(d => d.options.containerWrapperId != null)\r\n .map(d => d.options ? d.options.size : DrawerSize.Small);\r\n if (options) {\r\n sizes.push(options.size);\r\n }\r\n if (!sizes.length) {\r\n return null;\r\n }\r\n return Math.max(...sizes);\r\n }\r\n}\r\n\r\nexport class DrawerAction {\r\n name: string = \"\";\r\n title?: string = \"\";\r\n show: boolean | null = null;\r\n dynamicComponentInfo?: DynamicComponentInfo | undefined = undefined;\r\n options?: DrawerOptions | undefined = undefined;\r\n}\r\n\r\nexport class Drawer {\r\n name: string;\r\n options: DrawerOptions;\r\n isOpened: boolean = false;\r\n\r\n constructor() {\r\n this.name = \"\",\r\n this.options = {\r\n containerWrapperId: null,\r\n size: DrawerSize.Medium\r\n }\r\n }\r\n}\r\n\r\nexport class DrawerOptions {\r\n size: DrawerSize;\r\n containerWrapperId: string = null;\r\n}\r\n\r\nexport enum DrawerSize {\r\n Small = 1,\r\n Medium = 2,\r\n Large = 3,\r\n XLarge = 4,\r\n XXLarge = 5,\r\n XXXLarge = 6,\r\n XXXXLarge = 7\r\n}\r\n\r\nexport class DynamicComponentInfo {\r\n componentType: Type;\r\n data: any;\r\n\r\n parameters: Map = new Map();\r\n\r\n parameters2: any = {};\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { AssetType } from \"../models/enums/asset-type-enum\";\r\nimport { DataService } from \"./data.service\";\r\n\r\nexport interface CountryEnumerationItem {\r\n name: string;\r\n alpha2: string;\r\n alpha3: string;\r\n countryCode: string;\r\n iso_3166_2: string;\r\n region: string;\r\n subRegion: string;\r\n intermediateRegion: string;\r\n regionCode: string;\r\n subRegionCode: string;\r\n intermediateRegionCode: string;\r\n}\r\n\r\n@Injectable()\r\nexport class EnumsService {\r\n\r\n private _pricingEnums: any = undefined;\r\n\r\n private _allCountries: CountryEnumerationItem[] = undefined;\r\n\r\n private _countries = [\r\n {\r\n name: 'United States',\r\n value: 'us',\r\n areaCode: '+1'\r\n },\r\n {\r\n name: 'Spain',\r\n value: 'es',\r\n areaCode: '+34'\r\n },\r\n {\r\n name: 'Germany',\r\n value: 'de',\r\n areaCode: '+49'\r\n },\r\n {\r\n name: 'South Korea',\r\n value: 'kr',\r\n areaCode: '+82'\r\n },\r\n {\r\n name: 'France',\r\n value: 'fr',\r\n areaCode: '+33 '\r\n },\r\n {\r\n name: 'Brazil',\r\n value: 'br',\r\n areaCode: '+55'\r\n },\r\n {\r\n name: 'Russia',\r\n value: 'ru',\r\n areaCode: '+7'\r\n },\r\n {\r\n name: 'China',\r\n value: 'cn',\r\n areaCode: '+86'\r\n }\r\n ];\r\n\r\n private _turboInsuranceOccupancyTypes = [\r\n { value: 'Primary', name: \"Primary\" },\r\n { value: \"SecondHome\", name: \"Second Home\" },\r\n { value: \"Investment\", name: \"Investment\" },\r\n { value: \"Other\", name: \"Other\" },\r\n ]\r\n\r\n private _turboInsurancePropertyTypes = [\r\n { value: 'SingleFamily', name: \"Single Family\" },\r\n { value: \"Townhouse\", name: \"Townhouse\" },\r\n { value: \"Condominium\", name: \"Condominium\" },\r\n { value: \"Cooperative\", name: \"Cooperative\" },\r\n { value: \"TwoToFourUnitProperty\", name: \"Two To Four Unit Property\" },\r\n { value: \"ManufacturedMobileHome\", name: \"Manufactured Mobile Home\" }\r\n ]\r\n\r\n // SingleFamily = 1,\r\n // Townhouse,\r\n // Condominium,\r\n // Cooperative,\r\n // TwoToFourUnitProperty,\r\n // ManufacturedMobileHome\r\n\r\n private _militaryStatusTypes = [\r\n { value: \"isActiveDutyMilitary\", name: \"Active Duty\" },\r\n { value: \"onlyNonActivatedReserveOrNationalGuard\", name: \"Reserve National Guard Never Activated\" },\r\n { value: \"isRetiredDischargedSeparatedFromMilitary\", name: \"Veteran\" },\r\n ]\r\n\r\n private _ownershipShareTypes = [\r\n { value: \"LessThan25Percent\", name: \"Less Than 25 Percent\" },\r\n { value: \"GreaterOrEqualTo25Percent\", name: \"Greater Than Or Equal To 25 Percent\" },\r\n { value: \"Other\", name: \"Other\" },\r\n ]\r\n\r\n private _propertyTypes = [\r\n { value: \"SFR\", name: \"SFR Detached (Use AttachmentType Instead)\" },\r\n { value: \"SFRAttached\", name: \"SFR Attached (Use AttachmentType Instead)\" },\r\n { value: \"PUD\", name: \"PUD (Use IsPlannedUnitDevelopment Instead)\" },\r\n { value: \"Condominium\", name: \"Condominium (Use ProjectType Instead)\" },\r\n { value: \"Cooperative\", name: \"Cooperative (Use ProjectType Instead)\" },\r\n { value: \"DetachedCondominium\", name: \"Detached Condominium (Use AttachmentType & ProjectType Instead)\" },\r\n { value: \"Townhouse\", name: \"2-4 Unit\" },\r\n { value: \"HighRiseCondominium\", name: \"High Rise Condominium (Use ProjectType & ProjectDesignType Instead)\" },\r\n { value: \"MultiFamilyResidence\", name: \"Non Warranted Condominium\" },\r\n { value: \"ManufacturedHousing\", name: \"Manufactured Housing (Use PropertyConstructionMethod Instead)\" },\r\n { value: \"Modular\", name: \"Modular (Use PropertyConstructionMethod Instead)\" },\r\n { value: \"ManufacturedHousingSingleWide\", name: \"ManufacturedHousing SingleWide (Use PropertyConstructionMethod & ManufacturedHomeWidthType Instead)\" },\r\n { value: \"ManufacturedHousingDoubleWide\", name: \"ManufacturedHousing DoubleWide (Use PropertyConstructionMethod & ManufacturedHomeWidthType Instead)\" },\r\n { value: \"ManufacturedHousingMultiWide\", name: \"ManufacturedHousing MultiWide (Use PropertyConstructionMethod & ManufacturedHomeWidthType Instead)\" },\r\n { value: \"ManufacturedHomeCondominium\", name: \"ManufacturedHousing Condominium (Use PropertyConstructionMethod & ProjectType Instead)\" },\r\n { value: \"ManufacturedHomeCondominiumOrPUDOrCooperative\", name: \"ManufacturedHousing Condominium,PUD,Co-op\" },\r\n { value: \"Detached\", name: \"Detached (Use AttachmentType Instead)\" },\r\n { value: \"Timeshare\", name: \"Timeshare\" },\r\n { value: \"Other\", name: \"Other\" }\r\n ]\r\n\r\n private _mortgageTypes = [\r\n { name: \"Conventional\", value: \"Conventional\" },\r\n { name: \"FHA\", value: \"FHA\" },\r\n { name: \"HomeEquity\", value: \"HomeEquity\" },\r\n { name: \"NonConforming\", value: \"NonConforming\" },\r\n { name: \"NonAgency\", value: \"NonAgency\" },\r\n { name: \"Other\", value: \"Other\" },\r\n { name: \"USDA\", value: \"USDA\" },\r\n { name: \"VA\", value: \"VA\" }\r\n ];\r\n\r\n private _maritalStatusTypes = [\r\n { name: \"Married\", value: \"Married\" },\r\n { name: \"Separated\", value: \"Separated\" },\r\n { name: \"Single\", value: \"Single\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ];\r\n\r\n private _downPaymentSourceTypes = [\r\n { name: \"Cash On Hand\", value: \"CashOnHand\" },\r\n { name: \"Checkings/Savings\", value: \"CheckingSavings\" },\r\n { name: \"Equity From Pending Sale\", value: \"EquityOnPendingSale\" },\r\n { name: \"Equity From Subject Property\", value: \"EquityOnSubjectProperty\" },\r\n { name: \"Equity on Sold Property\", value: \"EquityOnSoldProperty\" },\r\n { name: \"Gift\", value: \"GiftFunds\" },\r\n { name: \"Other Funds Source\", value: \"Other\" },\r\n { name: \"Sale Of Assets\", value: \"SaleOfChattel\" },\r\n { name: \"Stocks, Bonds & Mutual Funds\", value: \"StocksAndBonds\" }\r\n ];\r\n\r\n private _reoStatusTypes = [\r\n { name: \"Sold\", value: \"Sold\" },\r\n { name: \"Pending Sale\", value: \"PendingSale\" },\r\n { name: \"Retain For Primary Or Secondary Residence\", value: \"RetainForPrimaryOrSecondaryResidence\" },\r\n { name: \"Rental Property\", value: \"RentalProperty\" },\r\n { name: \"Retained\", value: \"Retained\" }\r\n ];\r\n\r\n private _usageTypes = [\r\n { name: \"Primary Residence\", value: \"PrimaryResidence\" },\r\n { name: \"Secondary Residence\", value: \"SecondaryResidence\" },\r\n { name: \"Investment\", value: \"Investment\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ];\r\n\r\n private _militaryBranchOfServiceTypes = [\r\n { name: \"Air Force\", value: \"AirForce\" },\r\n { name: \"Army\", value: \"Army\" },\r\n { name: \"Coast Guard\", value: \"CoastGuard\" },\r\n { name: \"Marines\", value: \"Marines\" },\r\n { name: \"Navy\", value: \"Navy\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ]\r\n\r\n private _businessTypes = [\r\n { name: \"Sole Proprietor\", value: \"SoleProprietor\" },\r\n { name: \"LLC\", value: \"LLC\" },\r\n { name: \"S-Corp\", value: \"SCorp\" },\r\n { name: \"C-Corp\", value: \"CCorp\" },\r\n { name: \"Partnership\", value: \"Partnership\" }\r\n ];\r\n\r\n private _assetTypes: Array<{ name: string, value: AssetType }> = [\r\n { name: \"Annuity\", value: AssetType.Annuity },\r\n { name: \"Automobile\", value: AssetType.Automobile },\r\n { name: \"Bond\", value: AssetType.Bond },\r\n { name: \"Bridge Loan Not Deposited\", value: AssetType.BridgeLoanNotDeposited },\r\n { name: \"Cash\", value: AssetType.Cash },\r\n { name: \"Certificate Of Deposit Time Deposit\", value: AssetType.CertificateOfDepositTimeDeposit },\r\n { name: \"Checking Account\", value: AssetType.CheckingAccount },\r\n { name: \"Earnest Money Cash Deposit Toward Purchase\", value: AssetType.EarnestMoneyCashDepositTowardPurchase },\r\n { name: \"Cash Gift\", value: AssetType.CashGift },\r\n { name: \"Gift of Equity\", value: AssetType.GiftOfEquity },\r\n { name: \"Individual Development Account\", value: AssetType.IndividualDevelopmentAccount },\r\n { name: \"Life Insurance\", value: AssetType.LifeInsurance },\r\n { name: \"Money Market Fund\", value: AssetType.MoneyMarketFund },\r\n { name: \"Mutual Fund\", value: AssetType.MutualFund },\r\n { name: \"Net Worth of Business Owned\", value: AssetType.NetWorthOfBusinessOwned },\r\n { name: \"Other Liquid Assets\", value: AssetType.OtherLiquidAssets },\r\n { name: \"Other Non Liquid Assets\", value: AssetType.OtherNonLiquidAssets },\r\n { name: \"Pending Net Sale Proceeds From Real Estate Assets\", value: AssetType.PendingNetSaleProceedsFromRealEstateAssets },\r\n { name: \"Proceeds From Sale Of Non Real Estate Asset\", value: AssetType.ProceedsFromSaleOfNonRealEstateAsset },\r\n { name: \"Relocation Money\", value: AssetType.RelocationMoney },\r\n { name: \"Retirement Fund\", value: AssetType.RetirementFund },\r\n { name: \"Savings Account\", value: AssetType.SavingsAccount },\r\n { name: \"Secured Borrowed Funds Not Deposited\", value: AssetType.SecuredBorrowedFundsNotDeposited },\r\n { name: \"Stock\", value: AssetType.Stock },\r\n { name: \"Stock Options\", value: AssetType.StockOptions },\r\n { name: \"Trust Account\", value: AssetType.TrustAccount }\r\n ];\r\n\r\n private _reoPropertyTypes = [\r\n { name: \"Single Family\", value: \"SingleFamily\" },\r\n { name: \"Condo\", value: \"Condo\" },\r\n { name: \"Townhouse\", value: \"Townhouse\" },\r\n { name: \"Coop\", value: \"Coop\" },\r\n { name: \"Two To Four Unit Property\", value: \"TwoToFourUnitProperty\" },\r\n { name: \"Multi-Family / More Than Four Units\", value: \"MultifamilyMoreThanFourUnits\" },\r\n { name: \"Farm\", value: \"Farm\" },\r\n { name: \"Home & Business Combined\", value: \"HomeAndBusinessCombined\" },\r\n { name: \"Land\", value: \"Land\" },\r\n { name: \"Manufactured Mobile Home\", value: \"ManufacturedMobileHome\" },\r\n ]\r\n\r\n private _propertyWillBeTypes = [\r\n { name: \"Primary Residence\", value: \"PrimaryResidence\" },\r\n { name: \"Second Home\", value: \"SecondaryResidence\" },\r\n { name: \"Investment\", value: \"Investment\" }\r\n ]\r\n\r\n private _propertyTypesForDeclarations = [\r\n { name: \"Primary Residence\", value: \"PrimaryResidence\" },\r\n { name: \"Second Home\", value: \"SecondHome\" },\r\n { name: \"Investment\", value: \"Investment\" },\r\n { name: \"FHA Secondary Residence\", value: \"FHASecondaryResidence\" }\r\n ]\r\n\r\n private _heldTitleHows = [\r\n { name: \"Sole\", value: \"Sole\" },\r\n { name: \"Joint With Spouse\", value: \"JointWithSpouse\" },\r\n { name: \"Joint With Other\", value: \"JointWithOtherThanSpouse\" }\r\n ]\r\n\r\n private _bankruptcyTypes = [\r\n { name: \"Chapter 7\", value: \"Chapter7\" },\r\n { name: \"Chapter 11\", value: \"Chapter11\" },\r\n { name: \"Chapter 12\", value: \"Chapter12\" },\r\n { name: \"Chapter 13\", value: \"Chapter13\" }\r\n ]\r\n\r\n private _fhaSourceTypes = [\r\n { name: \"Community Non-Profit\", value: \"CommunityNonProfit\" },\r\n { name: \"Employer\", value: \"Employer\" },\r\n { name: \"Federal Agency\", value: \"FederalAgency\" }\r\n ]\r\n\r\n private _lienTypes = [\r\n { name: \"First Lien\", value: \"FirstLien\" },\r\n { name: \"Second Lien\", value: \"SecondLien\" },\r\n { name: \"Third Lien\", value: \"ThirdLien\" },\r\n { name: \"Fourth Lien\", value: \"FourthLien\" },\r\n { name: \"Other\", value: \"Other\" },\r\n { name: \"HELOC\", value: \"HELOC\" }\r\n ]\r\n\r\n // ['FirstLien', 'SecondLien', 'Other', 'HELOC', 'FourthLien', 'ThirdLien'],\r\n private _liabilityTypes = [\r\n { name: \"Alimony\", value: \"Alimony\" },\r\n { name: \"Child Care\", value: \"ChildCare\" },\r\n { name: \"Child Support\", value: \"ChildSupport\" },\r\n { name: \"Collections Judgements And Liens\", value: \"CollectionsJudgementsAndLiens\" },\r\n { name: \"HELOC\", value: \"HELOC\" },\r\n { name: \"Installment\", value: \"Installment\" },\r\n { name: \"Job Related Expenses\", value: \"JobRelatedExpenses\" },\r\n { name: \"Lease Payments\", value: \"LeasePayments\" },\r\n { name: \"Mortgage Loan\", value: \"MortgageLoan\" },\r\n { name: \"Open 30Day Charge Account\", value: \"Open30DayChargeAccount\" },\r\n { name: \"Other Liability\", value: \"OtherLiability\" },\r\n { name: \"Revolving\", value: \"Revolving\" },\r\n { name: \"Separate Maintenance Expense\", value: \"SeparateMaintenanceExpense\" },\r\n { name: \"Other Expense\", value: \"OtherExpense\" },\r\n { name: \"Taxes\", value: \"Taxes\" },\r\n { name: \"Tax Lien\", value: \"TaxLien\" },\r\n { name: \"Borrower Estimated Total Monthly Liability Payment\", value: \"BorrowerEstimatedTotalMonthlyLiabilityPayment\" },\r\n { name: \"Deferred Student Loan\", value: \"DeferredStudentLoan\" },\r\n { name: \"Delinquent Taxes\", value: \"DelinquentTaxes\" },\r\n { name: \"Garnishments\", value: \"Garnishments\" },\r\n { name: \"Homeowners Association Lien\", value: \"HomeownersAssociationLien\" },\r\n { name: \"Monetary Judgment\", value: \"MonetaryJudgment\" },\r\n { name: \"Personal Loan\", value: \"PersonalLoan\" },\r\n { name: \"First Position Mortgage Lien\", value: \"FirstPositionMortgageLien\" },\r\n { name: \"Second Position Mortgage Lien\", value: \"SecondPositionMortgageLien\" },\r\n { name: \"Third Position Mortgage Lien\", value: \"ThirdPositionMortgageLien\" },\r\n { name: \"Unsecured Home Improvement Loan Installment\", value: \"UnsecuredHomeImprovementLoanInstallment\" },\r\n { name: \"Unsecured Home Improvement Loan Revolving\", value: \"UnsecuredHomeImprovementLoanRevolving\" },\r\n { name: \"Car Maintenance\", value: \"CarMaintenance\" },\r\n { name: \"Charitable Contributions\", value: \"CharitableContributions\" },\r\n { name: \"Clothing\", value: \"Clothing\" },\r\n { name: \"Dry Cleaning\", value: \"Dry Cleaning\" },\r\n { name: \"Entertainment\", value: \"Entertainment\" },\r\n { name: \"GroceryToiletry\", value: \"GroceryToiletry\" },\r\n { name: \"Health Insurance\", value: \"HealthInsurance\" },\r\n { name: \"Medical\", value: \"Medical\" },\r\n { name: \"Miscellaneous Living Expenses\", value: \"MiscellaneousLivingExpenses\" },\r\n { name: \"Net Rental Expense\", value: \"NetRentalExpense\" },\r\n { name: \"Payroll Insurance Deduction\", value: \"PayrollInsuranceDeduction\" },\r\n { name: \"Payroll Miscellaneous Deductions\", value: \"PayrollMiscellaneousDeductions\" },\r\n { name: \"Payroll Profit Sharing Deduction\", value: \"PayrollProfitSharingDeduction\" },\r\n { name: \"Payroll Retirement Deduction\", value: \"PayrollRetirementDeduction\" },\r\n { name: \"Payroll Tax Deduction\", value: \"PayrollTaxDeduction\" },\r\n { name: \"Union Dues\", value: \"UnionDues\" }\r\n ]\r\n\r\n private _loanPurposeTypes = [\r\n { name: \"Refinance\", value: \"Refinance\" },\r\n { name: \"Purchase\", value: \"Purchase\" },\r\n { name: \"Construction Only\", value: \"ConstructionOnly\" },\r\n { name: \"Construction To Perm\", value: \"ConstructionToPermanent\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ];\r\n\r\n private _companyStatuses = [\r\n new EnumerationItem('Active', 0),\r\n new EnumerationItem('Suspended', 1),\r\n new EnumerationItem('Declined', 2)\r\n ];\r\n\r\n private _languages: EnumerationItem[] = [\r\n { name: \"English\", value: \"English\" },\r\n { name: \"Spanish\", value: \"Spanish\" },\r\n { name: \"Chinese\", value: \"Chinese\" },\r\n { name: \"Korean\", value: \"Korean\" },\r\n { name: \"Vietnamese\", value: \"Vietnamese\" },\r\n { name: \"Tagalog\", value: \"Tagalog\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ];\r\n\r\n private _singleChoiceOptionsProviders: EnumerationItem[] = [\r\n { name: \"Loan Purpose\", value: \"LoanPurpose\" },\r\n { name: \"Loan Purpose V2\", value: \"LoanPurposeV2\" },\r\n { name: \"Default Property Type\", value: \"PropertyType\" }\r\n ];\r\n\r\n private _borrowerCounselingFormatType: EnumerationItem[] = [\r\n { name: \"Face to Face\", value: \"FaceToFace\" },\r\n { name: \"Internet\", value: \"Internet\" },\r\n { name: \"Telephone\", value: \"Telephone\" },\r\n { name: \"Other\", value: \"Other\" }\r\n ];\r\n\r\n bindToNameAsValue: boolean = true;\r\n\r\n private _enumValues: any = {};\r\n\r\n private _mortgageEnums: any = undefined;\r\n\r\n public get reoStatusTypes() {\r\n return this._reoStatusTypes;\r\n }\r\n\r\n public get usageTypes() {\r\n return this._usageTypes;\r\n }\r\n\r\n public get languages() {\r\n return this._languages;\r\n }\r\n\r\n public get militaryBranchOfServiceTypes() {\r\n return this._militaryBranchOfServiceTypes;\r\n }\r\n\r\n public getCompanyStatuses = (): EnumerationItem[] => {\r\n return this._companyStatuses;\r\n }\r\n public get liabilityTypes() {\r\n return this._liabilityTypes;\r\n }\r\n\r\n public get lienTypes() {\r\n return this._lienTypes;\r\n }\r\n\r\n public get fhaSourceTypes() {\r\n return this._fhaSourceTypes;\r\n }\r\n\r\n public get businessTypes() {\r\n return this._businessTypes;\r\n }\r\n\r\n public get assetTypes() {\r\n return this._assetTypes;\r\n }\r\n\r\n public get bankruptyTypes() {\r\n return this._bankruptcyTypes;\r\n }\r\n\r\n public get mortgageTypes() {\r\n return this._mortgageTypes;\r\n }\r\n\r\n public get maritalStatusTypes() {\r\n return this._maritalStatusTypes;\r\n }\r\n\r\n public get downPaymentSourceTypes() {\r\n return this._downPaymentSourceTypes;\r\n }\r\n\r\n public get loanPurposeTypes() {\r\n return this._loanPurposeTypes;\r\n }\r\n\r\n public maritalStatusName(value: string | undefined) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const enumItem = this._maritalStatusTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n return \"\";\r\n }\r\n\r\n public mortgageTypeName(value: any) {\r\n if (value !== null && value !== undefined) {\r\n const enumItem = this._mortgageTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n public loanPurposeName(value: any) {\r\n if (value !== null && value !== undefined) {\r\n const enumItem = this._loanPurposeTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n public residencyStatusTypeName(value: string): string {\r\n if (value == \"USCitizen\") {\r\n return \"US Citizen\";\r\n }\r\n if (value == \"PermanentResident\") {\r\n return \"Permanent Resident\";\r\n }\r\n if (value == \"NonPermanentResidentAlien\") {\r\n return \"Non Permanent Resident Alien\";\r\n }\r\n return value;\r\n }\r\n\r\n public assetTypeName(value: AssetType): string {\r\n var enumItem = this._assetTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n return \"\";\r\n }\r\n\r\n public get reoPropertyTypes() {\r\n return this._reoPropertyTypes;\r\n }\r\n\r\n public get propertyTypes() {\r\n return this._propertyTypes;\r\n }\r\n\r\n public get ownershipShareTypes() {\r\n return this._ownershipShareTypes;\r\n }\r\n\r\n public get militaryStatusTypes() {\r\n return this._militaryStatusTypes;\r\n }\r\n\r\n public get tueboInsuranceOccupancyTypes() {\r\n return this._turboInsuranceOccupancyTypes;\r\n }\r\n\r\n public get tueboInsurancePropertyTypes() {\r\n return this._turboInsurancePropertyTypes;\r\n }\r\n\r\n public get propertyWillBeTypes() {\r\n return this._propertyWillBeTypes;\r\n }\r\n\r\n public get propertyTypesForDeclarations() {\r\n return this._propertyTypesForDeclarations;\r\n }\r\n\r\n public get heldTitleHows() {\r\n return this._heldTitleHows;\r\n }\r\n\r\n public get singleChoiceOptionsProviders() {\r\n return this._singleChoiceOptionsProviders;\r\n }\r\n\r\n public propertyTypeName(value: any): string {\r\n if (value !== null && value !== undefined) {\r\n const enumItem = this._propertyTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public reoPropertyTypeName(value: any): string {\r\n if (value !== null && value !== undefined) {\r\n const enumItem = this._reoPropertyTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n public propertyWillBeTypeName(value: any): string {\r\n if (value !== null && value !== undefined) {\r\n const enumItem = this._propertyWillBeTypes.find(i => i.value == value);\r\n if (enumItem) {\r\n return enumItem.name;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n private _states = [\r\n { name: \"AL\", value: \"al\" },\r\n { name: \"AK\", value: \"ak\" },\r\n { name: \"AZ\", value: \"az\" },\r\n { name: \"AR\", value: \"ar\" },\r\n { name: \"CA\", value: \"ca\" },\r\n { name: \"CO\", value: \"co\" },\r\n { name: \"CT\", value: \"ct\" },\r\n { name: \"DE\", value: \"de\" },\r\n { name: \"DC\", value: \"dc\" },\r\n { name: \"FL\", value: \"fl\" },\r\n { name: \"GA\", value: \"ga\" },\r\n { name: \"HI\", value: \"hi\" },\r\n { name: \"ID\", value: \"id\" },\r\n { name: \"IL\", value: \"il\" },\r\n { name: \"IN\", value: \"in\" },\r\n { name: \"IA\", value: \"ia\" },\r\n { name: \"KS\", value: \"ks\" },\r\n { name: \"KY\", value: \"ky\" },\r\n { name: \"LA\", value: \"la\" },\r\n { name: \"ME\", value: \"me\" },\r\n { name: \"MD\", value: \"md\" },\r\n { name: \"MA\", value: \"ma\" },\r\n { name: \"MI\", value: \"mi\" },\r\n { name: \"MN\", value: \"mn\" },\r\n { name: \"MS\", value: \"ms\" },\r\n { name: \"MO\", value: \"mo\" },\r\n { name: \"MT\", value: \"mt\" },\r\n { name: \"NE\", value: \"ne\" },\r\n { name: \"NV\", value: \"nv\" },\r\n { name: \"NH\", value: \"nh\" },\r\n { name: \"NJ\", value: \"nj\" },\r\n { name: \"NM\", value: \"nm\" },\r\n { name: \"NY\", value: \"ny\" },\r\n { name: \"NC\", value: \"nc\" },\r\n { name: \"ND\", value: \"nd\" },\r\n { name: \"OH\", value: \"oh\" },\r\n { name: \"OK\", value: \"ok\" },\r\n { name: \"OR\", value: \"or\" },\r\n { name: \"PA\", value: \"pa\" },\r\n { name: \"RI\", value: \"ri\" },\r\n { name: \"SC\", value: \"sc\" },\r\n { name: \"SD\", value: \"sd\" },\r\n { name: \"TN\", value: \"tn\" },\r\n { name: \"TX\", value: \"tx\" },\r\n { name: \"UT\", value: \"ut\" },\r\n { name: \"VT\", value: \"vt\" },\r\n { name: \"VA\", value: \"va\" },\r\n { name: \"WA\", value: \"wa\" },\r\n { name: \"WV\", value: \"wv\" },\r\n { name: \"WI\", value: \"wi\" },\r\n { name: \"WY\", value: \"wy\" },\r\n ];\r\n\r\n private _stateNames = [\r\n { value: 'al', name: 'Alabama' },\r\n { value: 'ak', name: 'Alaska' },\r\n { value: 'az', name: 'Arizona' },\r\n { value: 'ar', name: 'Arkansas' },\r\n { value: 'ca', name: 'California' },\r\n { value: 'co', name: 'Colorado' },\r\n { value: 'ct', name: 'Connecticut' },\r\n { value: 'de', name: 'Delaware' },\r\n { value: 'dc', name: 'District of Columbia' },\r\n { value: 'fl', name: 'Florida' },\r\n { value: 'ga', name: 'Georgia' },\r\n { value: 'hi', name: 'Hawaii' },\r\n { value: 'id', name: 'Idaho' },\r\n { value: 'il', name: 'Illinois' },\r\n { value: 'in', name: 'Indiana' },\r\n { value: 'ia', name: 'Iowa' },\r\n { value: 'ks', name: 'Kansas' },\r\n { value: 'ky', name: 'Kentucky' },\r\n { value: 'la', name: 'Louisiana' },\r\n { value: 'me', name: 'Maine' },\r\n { value: 'md', name: 'Maryland' },\r\n { value: 'ma', name: 'Massachusetts' },\r\n { value: 'mi', name: 'Michigan' },\r\n { value: 'mn', name: 'Minnesota' },\r\n { value: 'ms', name: 'Mississippi' },\r\n { value: 'mo', name: 'Missouri' },\r\n { value: 'mt', name: 'Montana' },\r\n { value: 'ne', name: 'Nebraska' },\r\n { value: 'nv', name: 'Nevada' },\r\n { value: 'nh', name: 'New Hampshire' },\r\n { value: 'nj', name: 'New Jersey' },\r\n { value: 'nm', name: 'New Mexico' },\r\n { value: 'ny', name: 'New York' },\r\n { value: 'nc', name: 'North Carolina' },\r\n { value: 'nd', name: 'North Dakota' },\r\n { value: 'oh', name: 'Ohio' },\r\n { value: 'ok', name: 'Oklahoma' },\r\n { value: 'or', name: 'Oregon' },\r\n { value: 'pa', name: 'Pennsylvania' },\r\n { value: 'ri', name: 'Rhode Island' },\r\n { value: 'sc', name: 'South Carolina' },\r\n { value: 'sd', name: 'South Dakota' },\r\n { value: 'tn', name: 'Tennessee' },\r\n { value: 'tx', name: 'Texas' },\r\n { value: 'ut', name: 'Utah' },\r\n { value: 'vt', name: 'Vermont' },\r\n { value: 'va', name: 'Virginia' },\r\n { value: 'wa', name: 'Washington' },\r\n { value: 'wv', name: 'West Virginia' },\r\n { value: 'wi', name: 'Wisconsin' },\r\n { value: 'wy', name: 'Wyoming' },\r\n ]\r\n\r\n public get states() {\r\n return this._states;\r\n }\r\n\r\n public get stateNames() {\r\n return this._stateNames;\r\n }\r\n\r\n private _residencyBasisValues = [\r\n { name: \"Own\", value: \"1\" },\r\n { name: \"Rent\", value: \"2\" },\r\n { name: \"LiveRentFree\", value: \"3\" }\r\n ];\r\n\r\n public get residencyBasisValues() {\r\n return this._residencyBasisValues;\r\n }\r\n\r\n public get countries() {\r\n return this._countries;\r\n }\r\n\r\n public residencyBasisName(value: string): string {\r\n if (value == \"0\") {\r\n return \"Own\";\r\n }\r\n if (value == \"1\") {\r\n return \"Rent\";\r\n }\r\n if (value == \"2\") {\r\n return \"Living Rent Free\";\r\n }\r\n if (value == \"3\") {\r\n return \"Unknown\";\r\n }\r\n return value;\r\n }\r\n\r\n public get borrowerCounselingFormatTypes() {\r\n return this._borrowerCounselingFormatType;\r\n }\r\n\r\n constructor(private readonly _dataService: DataService) { }\r\n\r\n getMortgageEnumerations = (): Observable => {\r\n if (this._mortgageEnums) {\r\n return of(this._mortgageEnums);\r\n }\r\n return this.getEnumerations('LE.Lodasoft.Common.Enums.Mortgage').pipe(\r\n map((result) => {\r\n this._mortgageEnums = result;\r\n return this._mortgageEnums;\r\n })\r\n );\r\n };\r\n\r\n getEnumValue = (name: string): string => {\r\n return this._enumValues[name];\r\n };\r\n\r\n private getEnumerations = (namespace: string): Observable => {\r\n return this._dataService\r\n .post(`api/Lookup/enum/namespace/${namespace}?api_key=lookup`, {})\r\n .pipe(\r\n map((result) => {\r\n return this.getEnumerationResult(result);\r\n })\r\n );\r\n };\r\n\r\n private getEnumerationResult = (enumDefinitions: any) => {\r\n let enums: any = {};\r\n const allEnumValuesFlattened: any = {};\r\n for (var enumType in enumDefinitions) {\r\n var enumeration = enumDefinitions[enumType];\r\n var pieces = enumType.split(/[\\s.]+/);\r\n var enumName = pieces[pieces.length - 1];\r\n enums[enumName] = [];\r\n for (var i = 0; i <= enumeration.length - 1; i++) {\r\n allEnumValuesFlattened[enumName + '.' + enumeration[i].name] =\r\n enumeration[i];\r\n var value = enumeration[i].value;\r\n if (this.bindToNameAsValue) {\r\n value = enumeration[i].name;\r\n }\r\n if (!enumeration[i].hidden) {\r\n var convertedEnumeration = new EnumerationItem(\r\n enumeration[i].displayName,\r\n value\r\n );\r\n convertedEnumeration.alternateValue = enumeration[i].name;\r\n enums[enumName].push(convertedEnumeration);\r\n }\r\n if (!this._enumValues.hasOwnProperty(enumName + enumeration[i].name)) {\r\n this._enumValues[enumName + enumeration[i].name] = value;\r\n }\r\n }\r\n }\r\n return enums;\r\n };\r\n\r\n getPricingEnumerations = (): Observable => {\r\n if (this._pricingEnums) {\r\n return of(this._pricingEnums);\r\n }\r\n return this.getEnumerations('LE.Lodasoft.Common.Models.Pricing').pipe(\r\n map((result) => {\r\n this._pricingEnums = result;\r\n return this._pricingEnums;\r\n })\r\n );\r\n };\r\n\r\n getAllCountries = (): Observable => {\r\n if (this._allCountries) {\r\n return of(this._allCountries);\r\n }\r\n\r\n // countries has been populated from address \"https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes/blob/master/all/all.json\"\r\n return this._dataService.getRelativePath('./assets/countries.json').pipe(\r\n map((result) => {\r\n this._allCountries = result;\r\n return this._allCountries;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class FileService {\r\n constructor(private readonly _dataService: DataService) {}\r\n\r\n viewFile = (fileGuid: string): Observable => {\r\n return this._dataService.downloadFile(\r\n `api/BorrowerPortal/ViewFile/${fileGuid}`\r\n );\r\n };\r\n\r\n downloadFile = (fileGuid: string): Observable => {\r\n return this._dataService.downloadFile(\r\n `api/BorrowerPortal/DownloadFile/${fileGuid}`\r\n );\r\n };\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Flow } from \"../models/flow.model\";\r\nimport { DataService } from \"./data.service\";\r\n\r\n@Injectable()\r\nexport class FlowBuilderService {\r\n\r\n constructor(private readonly _dataService: DataService)\r\n {\r\n }\r\n\r\n getFlow = (flowGuid: string): Observable => {\r\n const url = `api/flow-builder/by-guid/${flowGuid}`;\r\n return this._dataService.getWithoutAuth(url);\r\n }\r\n }\r\n","import { Optional, Provider } from \"@angular/core\";\r\nimport { ControlContainer, NgForm, NgModelGroup } from \"@angular/forms\";\r\n\r\nexport const formViewProvider: Provider = {\r\n provide: ControlContainer,\r\n useFactory: _formViewProviderFactory,\r\n deps: [\r\n [new Optional(), NgForm],\r\n [new Optional(), NgModelGroup]\r\n ]\r\n};\r\n\r\nexport function _formViewProviderFactory(ngForm: NgForm, ngModelGroup: NgModelGroup) {\r\n return ngModelGroup || ngForm || null;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { GlobalConfig, ThirdPartTrackingCodes } from \"../models/global-config.model\";\r\nimport { DataService } from \"./data.service\";\r\n\r\n@Injectable()\r\nexport class GlobalConfigService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n getConfig = (companyId: number): Observable => {\r\n const url = `api/Admin/PageResource/BORROWER_AGENT_OA`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getThirPartTrackingCodes = (companyGuid: string): Observable => {\r\n const url = `api/online-app/3rd-party-tracking-codes/${companyGuid}`;\r\n return this._dataService.getWithoutAuth(url);\r\n }\r\n\r\n getClientIp(): Observable<{ ip: string; }> {\r\n return this._dataService.getExternalApi('https://api.ipify.org?format=json');\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { DataService } from \"./data.service\";\r\nimport { BorrowerVerificationUserEnrollmentRequest, BorrowerVerificationUserEnrollmentResponse } from \"../models/borrower-verification-user-enrollment.model\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BorrowerVerificationOrderHistory } from \"../models/borrower-verification-order-history.model\";\r\n\r\n@Injectable()\r\nexport class IncomeService {\r\n\r\n constructor(private readonly _dataService: DataService)\r\n {\r\n }\r\n\r\n public markFormFreeForBorrowerComplete = (borrowerId: number, applicationId: number): Observable => {\r\n const url = `api/online-app/MarkFormFreeForBorrowerComplete/${applicationId}/${borrowerId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public verifyIncomeAndEmploymentData(applicationId: number, borrowerContactId: number) {\r\n const url = `api/online-app/twn/verification`;\r\n const payLoad = {\r\n applicationId: applicationId,\r\n borrowerContactId: borrowerContactId,\r\n requestType: 'IncomeAndEmployment',\r\n employeeStatusFilter: 'Active'\r\n };\r\n return this._dataService.post(url, payLoad);\r\n }\r\n\r\n public initializeBorrowerIncomeAndEmploymentVerification = (borrowerId: number, applicationId: number, integrationProvider)\r\n : Observable => {\r\n const request: BorrowerVerificationUserEnrollmentRequest = {\r\n applicationId: applicationId,\r\n borrowerId: borrowerId,\r\n maxHeightInPixels: 600,\r\n maxWidthInPixels: 800,\r\n integrationProvider: integrationProvider,\r\n allowedProducts: ['Employment', 'Income'],\r\n inviteAllApplicationBorrowers: true\r\n };\r\n const url = `api/online-app/borrower-verification/invite`;\r\n return this._dataService.post(url, request);\r\n }\r\n\r\n public getVerificationOrderHistoryForTask = (loanDocTaskId: number): Observable => {\r\n const url = `api/form-free/orders/task/${loanDocTaskId}`;\r\n return this._dataService.get(url);\r\n }\r\n }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { InternalContact } from '../models/internal-contact.model';\r\nimport { UserProfile } from '../models/user/user-profile.model';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InternalContactsService {\r\n constructor(private readonly _dataService: DataService) { }\r\n\r\n getInternalContacts = (loanId: number): Observable => {\r\n const url = `api/Loan/${loanId}/InternalContacts`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n saveInternalContact = (loanId: number, data: InternalContact[], updateTasks: boolean, updateBranch: boolean): Observable => {\r\n const url = `api/Loan/${loanId}/UpsertInternalContacts?updateTasks=${updateTasks}&updateBranch=${updateBranch}`;\r\n return this._dataService.post(url, data);\r\n };\r\n\r\n updateInternalContactForRole = (data: InternalContact, loanId: number, roleId: number, userId: string): Observable => {\r\n const url = `api/Loan/${loanId}/UpdateInternalContactForRole/${roleId}/${userId}`;\r\n return this._dataService.post(url, data);\r\n };\r\n\r\n getExternalCompanyUsers = (companyId: number, externalCompanyId: number): Observable => {\r\n const url = `api/Admin/AllUserModel?companyId=${companyId}&externalCompanyId=${externalCompanyId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getAvailableAlignments = (loanId: number, userId: string) => {\r\n const url = `api/Loan/${loanId}/GetAvailableAlignments?userId=${userId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getInternalContactsHistory = (loanId: number) => {\r\n const url = `api/Loan/${loanId}/InternalContacts/TrackingHistory`;\r\n return this._dataService.get(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LoanApplication } from '../models/loan-info.model';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable()\r\nexport class LoanService {\r\n constructor(\r\n private readonly _dataService: DataService\r\n ) { }\r\n\r\n getApplication = (applicationId: number): Observable => {\r\n const url = `api/loan/${applicationId}/get-application-model`;\r\n return this._dataService.get(url);\r\n };\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AuthData } from \"../models/auth/auth-data.model\";\r\nimport { Constants } from \"./constants\";\r\n\r\nconst authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n\r\n@Injectable()\r\nexport class LocalStorageService {\r\n\r\n get refreshToken(): string | undefined {\r\n const authData = this.authorizationData;\r\n if (authData && authData.refreshToken) {\r\n return authData.refreshToken;\r\n }\r\n return undefined;\r\n }\r\n\r\n getItem(key: string):T {\r\n const savedDataJson = localStorage.getItem(key);\r\n if (!savedDataJson) {\r\n return undefined;\r\n }\r\n return JSON.parse(savedDataJson);\r\n }\r\n\r\n hasItem(key: string): boolean {\r\n const savedDataJson = localStorage.getItem(key);\r\n return savedDataJson != null;\r\n }\r\n\r\n removeItem(key: string) {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n setItem(key: string, item: T) {\r\n if (item == null || item == undefined) {\r\n localStorage.setItem(key, null);\r\n return;\r\n }\r\n localStorage.setItem(key, JSON.stringify(item));\r\n }\r\n\r\n set authorizationData(authData: AuthData) {\r\n this.setItem(authorizationDataKey, authData);\r\n }\r\n\r\n get authorizationData(): AuthData {\r\n return this.getItem(authorizationDataKey)\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\nimport {combineLatest, Observable} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\nimport { DataService } from \"./data.service\";\r\n\r\n@Injectable()\r\nexport class MergeFieldsService {\r\n\r\n constructor(\r\n private readonly _dataService: DataService,\r\n ) {}\r\n\r\n getAllMergeFields(): Observable {\r\n return combineLatest([\r\n this._dataService.get('api/configuration/document-templates/app-global-merge-field-keys'),\r\n this._dataService.get('api/configuration/document-templates/agent-global-merge-field-keys'),\r\n this._dataService.get('api/configuration/document-templates/borrower-global-merge-field-keys'),\r\n this._dataService.get('api/configuration/document-templates/lead-global-merge-field-keys'),\r\n this._dataService.get('api/configuration/document-templates/credit-monitoring-global-merge-field-keys')\r\n ]).pipe(\r\n map(\r\n ([app, agent, borrower, lead, creditMonitoring]) => {\r\n return [\r\n ...[{ name: 'TaskUpdateSection', value: 'TaskUpdateSection', groupName: 'custom' }],\r\n ...app.map(field => ({ name: field, value: field, groupName: 'app'})),\r\n ...agent.map(field => ({ name: field, value: field, groupName: 'agent'})),\r\n ...borrower.map(field => ({ name: field, value: field, groupName: 'borrower'})),\r\n ...lead.map(field => ({ name: field, value: field, groupName: 'lead'})),\r\n ...creditMonitoring.map(field => ({ name: field, value: field, groupName: 'creditMonitoring'})),\r\n ];\r\n }\r\n )\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { MortgageApplication, MortgageCalculationDetails } from '../models/mortgage-app.model';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Asset } from '../models/asset.model';\r\nimport { DataService } from './data.service';\r\nimport { Borrower } from '../models/borrower-model';\r\nimport { Originator } from '../models/originator.model';\r\nimport { BorrowerAppStatus } from '../models/borrower-app-status.model';\r\nimport { delay, map } from 'rxjs/operators';\r\nimport { LoanType } from '../models/loan-type-model';\r\nimport { FeatureFlags } from '../models/feature-flags.model';\r\nimport { CheckBorrowerExistenceRequest, CreateBorrowerAccountMortgageRequest } from '../models/create-borrower-account-mortgage-request.model';\r\nimport { CreateApplicationResponse } from '../models/create-application-response.model';\r\nimport { HousingExpense } from '../models/housing-expense.model';\r\nimport { Address } from \"../models/address-model\";\r\nimport { CreateApplicationRequest } from '../models/create-application-request.model';\r\nimport { GenerateEConsentRequest } from '../models/generate-e-consent-request.model';\r\nimport { GenerateEConsentResponse } from '../models/generate-e-consent-response.model';\r\nimport { SubjectProperty } from '../models/subject-property.model';\r\nimport { Declarations } from '../models/declarations-model';\r\nimport { ReferralSource } from '../models/referral-source.model';\r\nimport { PricedProduct, PricingResponse, ProductSearchResult } from '../models/pricing/pricing-response.model';\r\nimport { ProductSearchRequest } from '../models/pricing/product-search-request-info.model';\r\nimport { AssignPricingRequestModel } from '../models/pricing/assign-pricing-request.model';\r\nimport { MortgageTerm } from '../models/mortgage-term.model';\r\nimport { LoanPurpose } from '../models/enums/loan-purpose.enum';\r\nimport { TransactionDetail } from '../models/transaction-detail.model';\r\nimport { PurchaseCredit } from '../models/purchase-credit.model';\r\nimport { CreditInquiryDetails, CreditInquiryDetailsEntry } from '../models/credit-inquiry-details.model';\r\nimport { BorrowerCreditScores } from '../models/borrower-credit-scores.model';\r\nimport { ResidencyBasis } from '../models/enums/residency-basis.enum';\r\nimport { ResidencyAddress } from '../models/residency-address.model';\r\nimport { ResidencyType } from '../models/enums/residency-type.enum';\r\nimport { Demographics } from '../models/demographics-model';\r\nimport { CompanyInfo } from '../models/company-info.model';\r\n\r\nconst headers = new HttpHeaders({ 'Content-Type': 'application/json', 'auth-req': 'true', 'X-Requested-With': 'XMLHttpRequest' });\r\n\r\nconst appStatusKey = \"appStatus\";\r\n\r\n@Injectable()\r\nexport class MortgageApplicationService {\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n constructor(\r\n private readonly _http: HttpClient,\r\n private readonly _environmentService: EnvironmentService,\r\n private readonly _dataService: DataService) {\r\n this._mortgageApplication = new MortgageApplication();\r\n }\r\n\r\n get mortgageApplication(): MortgageApplication {\r\n return this._mortgageApplication;\r\n }\r\n\r\n getOriginators = (companyGuid: string, branchGuid?: string): Observable => {\r\n const url = `${this._environmentService.apiInfo.apiBaseUrl}/api/PublicApi/GetUserListPrimaryRole/${companyGuid}`;\r\n let query = '';\r\n\r\n if (branchGuid) {\r\n query += `?branchGuid=${branchGuid}`;\r\n }\r\n return >this._http.get(url + query, { headers: headers });\r\n }\r\n\r\n getOriginator = (companyGuid: string, userGuid: string): Observable => {\r\n return this.getOriginators(companyGuid).pipe(\r\n map((originators: Originator[]) => {\r\n let originator = originators.find(i => i.userId == userGuid);\r\n return originator;\r\n }\r\n ));\r\n }\r\n\r\n getLoanPurposes = (companyGuid: string): Observable => {\r\n return this._http.get(this._environmentService.apiInfo.apiBaseUrl + `/api/PublicApi/GetLoanPurposes/${companyGuid}`,\r\n {\r\n headers: headers\r\n });\r\n }\r\n\r\n getMortgageCalculationDetails = (mortgageId: number): Observable => {\r\n const url = `api/mortgages/${mortgageId}/calculation-detail`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n redoMortgageCalculationDetails = (mortgage: MortgageApplication, requestedLtv: number | null = null): Observable => {\r\n let url = `api/mortgages/calculation-detail`;\r\n if (requestedLtv) {\r\n url += `?requestedLtv=${requestedLtv}`;\r\n }\r\n return this._dataService.post(url, mortgage);\r\n }\r\n\r\n inviteToCompleteAppForCoborrower = (mortgageId: number, applicationId: number, borrowerId: number): Observable => {\r\n const url = `api/online-app/${mortgageId}/borrowers/${borrowerId}/invite-to-complete-online-app?applicationId=${applicationId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n mergeCoborrower = (loanId: number, borrowerContactId: number): Observable => {\r\n const url = `api/online-app/${loanId}/SetAllowPrimaryToSatisfyFlagOnLoan/${borrowerContactId}/true`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n getLoanTypes = (appId: number): Observable => {\r\n const url = `api/online-app/loantypes/${appId}`;\r\n return >this._dataService.get(url);\r\n }\r\n\r\n saveLoanType = (appId: number, loanTypeId: string) => {\r\n const url = `api/online-app/loantype/${appId}/${loanTypeId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n getAppStatus = (appId: number, mortgageId: number, borrowerId: number): Observable => {\r\n const url = `api/online-app/oav3-status/${appId}/${mortgageId}/${borrowerId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getLicenseStates = (appId: number): Observable => {\r\n const url = `api/online-app/license-states/${appId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n saveAppStatus = (appId: number, mortgageId: number, borrowerId: number, appStatus: BorrowerAppStatus): Observable => {\r\n const url = `api/online-app/oav3-status/${appId}/${mortgageId}/${borrowerId}`;\r\n const payLoad = {\r\n statusDataJson: JSON.stringify(appStatus.details),\r\n currentStatus: appStatus.currentStatus,\r\n lastSuccessfulStatus: appStatus.lastSuccessfulStatus\r\n }\r\n return this._dataService.post(url, payLoad);\r\n }\r\n\r\n getAssetsByBorrowerId = (borrowerId: number): Asset[] => {\r\n let ownedAssets: Asset[] = [];\r\n for (var i = 0; i < this._mortgageApplication.assets.length; i++) {\r\n let asset = this._mortgageApplication.assets[i];\r\n if (asset) {\r\n for (var j = 0; j < asset.owningBorrowerIds!.length; j++) {\r\n if (asset.owningBorrowerIds![j] === borrowerId) {\r\n ownedAssets.push(asset);\r\n }\r\n }\r\n }\r\n }\r\n return ownedAssets;\r\n }\r\n\r\n saveMortgage = (mortgage?: MortgageApplication): Observable => {\r\n if (!mortgage) {\r\n mortgage = this._mortgageApplication;\r\n }\r\n const url = `api/mortgages/urla2020/${mortgage.mortgageId}`;\r\n const correctedReos = [];\r\n if (mortgage.realEstateOwned) {\r\n mortgage.realEstateOwned.forEach((reo) => {\r\n if (reo?.dateAcquired) {\r\n const dateAcquired = new Date(reo.dateAcquired).toISOString();\r\n const correctedReo = { ...reo };\r\n correctedReo.dateAcquired = dateAcquired;\r\n correctedReos.push(correctedReo);\r\n }\r\n });\r\n }\r\n mortgage.realEstateOwned = correctedReos;\r\n return this._dataService.post(url, mortgage).pipe(map(result => {\r\n this._mortgageApplication = result;\r\n return result;\r\n }))\r\n }\r\n\r\n saveLeadSource = (loanId: number, leadSource: string) => {\r\n const encodedLeadSource = encodeURIComponent(leadSource);\r\n const url = `api/online-app/update-leadsource/${loanId}?leadSource=${encodedLeadSource}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n removeBorrower = (applicationId: number, borrowerId: number): Observable => {\r\n const url = `api/Loan/${applicationId}/RemoveBorrowerFromLoan/${borrowerId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n getConfig = (applicationId: number): Observable => {\r\n const url = `api/online-app/config/${applicationId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getReferralAgents = (applicationId: number): Observable => {\r\n const url = `api/online-app/config/${applicationId}/referral-agents`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getCompanyInfo = (companyGuid: string): Observable => {\r\n const url = `api/online-app/company-info/${companyGuid}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n getMortgage = (applicationId: number, processVoaImport: boolean = false): Observable => {\r\n let url = `api/mortgages/urla2020?applicationId=${applicationId}`;\r\n if (processVoaImport) {\r\n url += `&processVoaImport=${processVoaImport}`;\r\n }\r\n return this._dataService.get(url).pipe(map(response => {\r\n this._mortgageApplication = response;\r\n if (!response) {\r\n this._mortgageApplication = new MortgageApplication();\r\n }\r\n\r\n if (!this._mortgageApplication.proposedHousingExpense) {\r\n this._mortgageApplication.proposedHousingExpense = new HousingExpense();\r\n }\r\n if (!this._mortgageApplication.subjectProperty) {\r\n this._mortgageApplication.subjectProperty = new SubjectProperty();\r\n }\r\n if (!this._mortgageApplication.borrowers) {\r\n this._mortgageApplication.borrowers = [];\r\n }\r\n this.mortgageApplication.borrowers.forEach(borrower => {\r\n if (!borrower.declarations) {\r\n borrower.declarations = new Declarations();\r\n }\r\n })\r\n return this._mortgageApplication;\r\n }));\r\n }\r\n\r\n getInquiryCount = (mortgageApplication: MortgageApplication): number => {\r\n let sum: number = 0;\r\n for (var borrower of mortgageApplication.borrowers) {\r\n if (borrower.creditInquiry) {\r\n sum = sum + borrower.creditInquiry.entries.length;\r\n }\r\n }\r\n return sum;\r\n }\r\n\r\n getCoBorrowers = (mortgageApplication: MortgageApplication): Borrower[] => {\r\n return mortgageApplication.borrowers.slice(1);\r\n }\r\n\r\n saveLoanApplication = (request: CreateBorrowerAccountMortgageRequest): Observable => {\r\n return this._dataService.postWithoutAuth(`api/online-app/${request.companyGuid}/CreateBorrowerAndApplicationUrla2020`, request);\r\n }\r\n\r\n saveLoanApplicationNonAnonymous = (request: CreateBorrowerAccountMortgageRequest): Observable => {\r\n return this._dataService.post(`api/online-app/${request.companyGuid}/CreateBorrowerAndApplicationUrla2020`, request);\r\n }\r\n\r\n checkIfBorrowerExists = (companyGuid: string, borrowerEmail: string) => {\r\n const request: CheckBorrowerExistenceRequest = {\r\n companyGuid: companyGuid,\r\n emailAddress: borrowerEmail\r\n }\r\n const url = `api/online-app/${companyGuid}/checkforborrower`;\r\n return this._dataService.post(url, request);\r\n }\r\n\r\n submitApplication = (applicationId: number): Observable => {\r\n const url = `api/online-app/submit-app/${applicationId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n setSubjectProperty = (address: Address): void => {\r\n this._mortgageApplication.subjectProperty.address1 = address.address1;\r\n this._mortgageApplication.subjectProperty.city = address.city;\r\n this._mortgageApplication.subjectProperty.state = address.state;\r\n this._mortgageApplication.subjectProperty.zipCode = address.zipCode;\r\n this._mortgageApplication.subjectProperty.county = address.county;\r\n this._mortgageApplication.subjectProperty.presentValue = address.presentValue;\r\n }\r\n\r\n createApplication = (companyGuid: string, req: CreateApplicationRequest): Observable => {\r\n const url = `api/online-app/${companyGuid}/CreateApplication`;\r\n return this._dataService.post(url, req);\r\n }\r\n\r\n generateEConsentDocument = (applicationId: number, req: GenerateEConsentRequest): Observable => {\r\n const url = `api/online-app/generateEConsentDocument/${applicationId}`;\r\n return this._dataService.post(url, req);\r\n }\r\n\r\n getBorrowerPortalUrl = (): Observable => {\r\n const url = `api/online-app/urls/borrower-portal`;\r\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\r\n return this._dataService.get(url, false, { headers: headers, responseType: 'text' });\r\n }\r\n\r\n resetMortgage = () => {\r\n this._mortgageApplication = new MortgageApplication();\r\n }\r\n\r\n assignProductToApplication = (applicationId: number, assignPricingRequest: AssignPricingRequestModel): Observable => {\r\n const url = `api/online-app/pricing/${applicationId}/assign`;\r\n return this._dataService.post(url, assignPricingRequest);\r\n }\r\n\r\n searchProducts = (applicationId: number): Observable => {\r\n const url = `api/online-app/pricing/${applicationId}/search`;\r\n return this._dataService.post(url, {});\r\n };\r\n\r\n repriceLoan = (applicationId: number, request: ProductSearchRequest): Observable => {\r\n const url = `api/online-app/pricing/${applicationId}/reprice`;\r\n return this._dataService.post(url, request);\r\n }\r\n\r\n getProductPricingDetails = (\r\n searchRequest: ProductSearchRequest,\r\n vendor: string,\r\n ): Observable => {\r\n const url = `api/online-app/vendor/${vendor}/search/products/detail`;\r\n return this._dataService.post(url, searchRequest);\r\n };\r\n\r\n pullMortgageFromLead = (companyGuid: string, leadGuid: string, last4Ssn: string, zipCode: string): Observable => {\r\n const url = `api/online-app/${companyGuid}/prefill-from-lead/${leadGuid}?last4Ssn=${last4Ssn}&zipCode=${zipCode}`;\r\n return this._dataService.post(url, {}).pipe(map(result => {\r\n this._mortgageApplication = result;\r\n return result;\r\n }))\r\n }\r\n\r\n searchProductsFake = (applicationId: number): Observable => {\r\n const product1 = {\r\n isEligible: true,\r\n rateSheetId: '3/25/2024 2:18:54 PM',\r\n priceDate: '2024-03-25T14:18:54.480Z',\r\n quotes: [\r\n {\r\n lockPeriod: 30,\r\n adjustedRate: 7.25,\r\n adjustedPrice: 95.293,\r\n apr: 7.472,\r\n principalAndInterest: 3832.64,\r\n monthlyMi: 0.0,\r\n totalPayment: 3832.64,\r\n totalClosingCost: 26445.0,\r\n discountDollars: 26445.0,\r\n discountPercent: 4.707,\r\n rebateDollars: 0.0,\r\n totalFeesDollars: 1789.0,\r\n thirdPartyFeesDollars: 1290.0\r\n },\r\n ],\r\n productId: '53408041',\r\n productName: 'Citibank, N.A. - Correspondent - VA 30 Yr Fixed GNMA II',\r\n priceStatus: 'Available',\r\n investorId: '128805',\r\n investor: 'Citibank, N.A. - Correspondent - ',\r\n amortizationTerm: 360,\r\n amortizationType: 'FixedRate',\r\n armMargin: 0.0,\r\n loanTerm: 360,\r\n loanType: 'VA',\r\n calculatedValues: {},\r\n };\r\n\r\n const product2 = {\r\n isEligible: true,\r\n rateSheetId: '3/25/2024 2:18:54 PM',\r\n priceDate: '2024-03-25T14:18:54.480Z',\r\n quotes: [\r\n {\r\n lockPeriod: 30,\r\n adjustedRate: 7.25,\r\n adjustedPrice: 95.293,\r\n apr: 7.472,\r\n principalAndInterest: 6666.6,\r\n monthlyMi: 0.0,\r\n totalPayment: 3832.64,\r\n totalClosingCost: 26445.0,\r\n discountDollars: 26445.0,\r\n discountPercent: 4.707,\r\n rebateDollars: 0.0,\r\n },\r\n ],\r\n productId: '53408042',\r\n productName: 'U.S. Bank National Association - Correspondent - VA 30 Yr Fixed',\r\n priceStatus: 'Available',\r\n investorId: '128805',\r\n investor: 'Citibank, N.A. - Correspondent - ',\r\n amortizationTerm: 360,\r\n amortizationType: 'FixedRate',\r\n armMargin: 0.0,\r\n loanTerm: 360,\r\n loanType: 'VA',\r\n calculatedValues: {},\r\n };\r\n\r\n const searchResults = {\r\n products: [product1, product2],\r\n };\r\n\r\n const pricingReponse = {\r\n productSearchRequest: {\r\n loanInformation: {\r\n baseLoanAmount: 250000,\r\n },\r\n propertyInformation: {\r\n appraisedValue: 300000,\r\n }\r\n },\r\n productSearchResult: searchResults\r\n };\r\n\r\n // Simulate a delay of 3 seconds\r\n return of(pricingReponse).pipe(delay(2000)) as Observable;\r\n };\r\n\r\n private generateFakeMortgage = (): MortgageApplication => {\r\n let mortgageApplication = new MortgageApplication();\r\n mortgageApplication.userGuid = \"unassigned\";\r\n mortgageApplication.borrowers = [];\r\n let borrower = new Borrower();\r\n borrower.borrowerId = 12345;\r\n borrower.firstName = \"Mark\";\r\n borrower.lastName = \"Spencer\";\r\n borrower.primaryEmail = \"mark.spencer@testmail.com\";\r\n borrower.socialSecNum = '666-66-6666';\r\n borrower.dateOfBirth = '01/01/1977';\r\n borrower.languagePreference = 'English';\r\n\r\n borrower.declarations = new Declarations();\r\n borrower.declarations.residenceStatus = \"USCitizen\";\r\n borrower.maritalStatus = \"Single\";\r\n borrower.phoneNumber = \"(555)5555555\";\r\n borrower.mobilePhone = \"(555)5555555\";\r\n\r\n borrower.residencyAddresses = [];\r\n let residencyAddress = new ResidencyAddress(ResidencyType.PresentAddress);\r\n residencyAddress.address = new Address();\r\n residencyAddress.address.address1 = \"123 Any St.\";\r\n residencyAddress.address.city = \"San Diego\";\r\n residencyAddress.address.state = \"ca\";\r\n residencyAddress.address.zipCode = \"92128\";\r\n\r\n residencyAddress.durationYears = 6;\r\n residencyAddress.durationMonths = 11;\r\n residencyAddress.rent = 3500;\r\n residencyAddress.residencyBasis = ResidencyBasis.Own;\r\n\r\n borrower.residencyAddresses.push(residencyAddress);\r\n\r\n let borrowerCreditScores: BorrowerCreditScores[] = [];\r\n let scores = new BorrowerCreditScores();\r\n scores.borrowerId = borrower.borrowerId;\r\n scores.borrowerName = \"Mark Spencer\";\r\n scores.equifax = 750;\r\n scores.experian = 678;\r\n scores.transUnion = 708;\r\n scores.date = new Date(\"01/01/2021\");\r\n borrowerCreditScores.push(scores);\r\n\r\n let creditInquiry = new CreditInquiryDetailsEntry()\r\n creditInquiry.newDebtAcquired = false;\r\n creditInquiry.fullName = \"ABC Bank\";\r\n creditInquiry.reason = \"2\";\r\n creditInquiry.creditInquiryDate = \"01/01/2019\";\r\n borrower.creditInquiry = new CreditInquiryDetails();\r\n borrower.creditInquiry.entries = [];\r\n borrower.creditInquiry.entries.push(creditInquiry);\r\n\r\n mortgageApplication.transactionDetail = new TransactionDetail();\r\n mortgageApplication.transactionDetail.purchasePriceAmount = 540000;\r\n let purchaseCredit = new PurchaseCredit();\r\n mortgageApplication.transactionDetail.purchaseCredits = [purchaseCredit];\r\n mortgageApplication.transactionDetail.purchaseCredits[0].purchaseCreditAmount = 200000;\r\n\r\n mortgageApplication.subjectProperty = new SubjectProperty();\r\n mortgageApplication.subjectProperty.downPaymentSource = \"CashOnHand\";\r\n mortgageApplication.subjectProperty.purposeOfLoan = LoanPurpose.Purchase;\r\n mortgageApplication.subjectProperty.address1 = '123 Any St.';\r\n mortgageApplication.subjectProperty.city = 'San Diego';\r\n mortgageApplication.subjectProperty.state = 'ca';\r\n mortgageApplication.subjectProperty.zipCode = '92128';\r\n mortgageApplication.subjectProperty.presentValue = 450000;\r\n\r\n mortgageApplication.mortgageTerm = new MortgageTerm();\r\n mortgageApplication.mortgageTerm.amount = 250000;\r\n mortgageApplication.mortgageTerm.mortgageAppliedFor = 'Conventional';\r\n\r\n mortgageApplication.extension.hasSignedPurchaseAgreement = false;\r\n\r\n borrower.declarations.haveCompletedShortSale = false;\r\n borrower.declarations.haveConveyedTitleInLieuOfForeclosure = false;\r\n borrower.declarations.haveJudgement = false;\r\n borrower.declarations.haveLawsuit = false;\r\n borrower.declarations.havePropertiesOwnership = false;\r\n borrower.declarations.haveRelationshipWithSeller = false;\r\n borrower.declarations.haveTaxDebt = false;\r\n borrower.declarations.occupyProperty = false;\r\n borrower.declarations.propertyHasLienWithCleanEnergyProgram = false;\r\n borrower.declarations.heldTitleHow = \"0\";\r\n borrower.declarations.borrowedDownPayment = false;\r\n borrower.declarations.coSignedLoan = false;\r\n borrower.declarations.beenForclosed = false;\r\n borrower.declarations.applyingForOtherMortgage = false;\r\n borrower.declarations.applyingForNonMortgageCredit = false;\r\n borrower.declarations.declaredBankruptcy = false;\r\n\r\n borrower.governmentMonitors = new Demographics();\r\n\r\n mortgageApplication.borrowers.push(borrower);\r\n\r\n mortgageApplication.realEstateOwned = [];\r\n this._mortgageApplication = mortgageApplication;\r\n return mortgageApplication;\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { MortgageCalculatedStats, PayoffType, UrlaMortgage } from '../models/urla-mortgage.model';\r\nimport { Constants } from './constants';\r\nimport { EnumsService } from './enums.service';\r\nimport { HousingExpense } from '../models/housing-expense.model';\r\nimport { EmploymentTypeEnum, Liability, MortgageBorrower } from '../models/mortgage.model';\r\nimport { ResidencyType } from '../models/enums/residency-type.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MortgageCalculationsService {\r\n\r\n reoLiabilityAssociationChanged = new Subject();\r\n\r\n liabilitySubject = new Subject();\r\n\r\n otherMortgagesChanged = new Subject();\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n }\r\n\r\n calculateMortgageStatistics = (mortgage: UrlaMortgage) => {\r\n if (!mortgage.calculatedStats)\r\n mortgage.calculatedStats = new MortgageCalculatedStats();\r\n\r\n const lenderCreditEnumValue = this._enumsService.getEnumValue(Constants.enumerationValueNames.PurchaseCreditType.LenderCredit);\r\n const lenderCredit = mortgage.transactionDetail?.purchaseCredits.find(p => p.purchaseCreditType == lenderCreditEnumValue);\r\n if (lenderCredit) {\r\n mortgage.calculatedStats.lenderCredit = lenderCredit.purchaseCreditAmount;\r\n }\r\n mortgage.calculatedStats.totalPaidOffForRefinance = this.calculateTotalPayOffForRefinance(mortgage);\r\n mortgage.calculatedStats.landValue = this.calculateLandValueChange(mortgage);\r\n mortgage.calculatedStats.estimatedClosingCostsAmount = this.calculateEstimatedClosingCosts(mortgage);\r\n mortgage.calculatedStats.financialPartialPayoffTotalAmount = this.calculateFinancialPartialPayoffTotalAmount(mortgage);\r\n mortgage.calculatedStats.totalDue = this.calculateTotalDue(mortgage);\r\n mortgage.calculatedStats.totalLoanOrDrawAmount = this.calculateTotalLoanOrDrawAmount(mortgage);\r\n mortgage.calculatedStats.totalMortgageLoans = this.calculateTotalMortgage(mortgage);\r\n mortgage.calculatedStats.totalOtherCredit = this.calculateTotalOtherCredit(mortgage);\r\n mortgage.calculatedStats.totalCredit = this.calculateTotalCredit(mortgage);\r\n mortgage.calculatedStats.totalMortgageLoansAndCredits = this.calculateTotalMortgageLoansAndCredits(mortgage);\r\n mortgage.calculatedStats.totalDueFromBorrowers = this.calculateTotalDueFromBorrowers(mortgage);\r\n mortgage.calculatedStats.cashFromOrToTheBorrower = this.calculateCashFromOrToTheBorrower(mortgage);\r\n if (mortgage.proposedHousingExpense)\r\n mortgage.proposedHousingExpense.firstMortgagePrincipalAndInterest = this.getFirstMortgagePrincipalAndInterest(mortgage) || 0;\r\n mortgage.calculatedStats.proposedMonthlyPaymentTotal = this.calculateProposedHousingExpense(mortgage.proposedHousingExpense);\r\n mortgage.calculatedStats.sourceOfFunds = this.calculateSourceOfFundsValue(mortgage);\r\n }\r\n\r\n isPurposeOfLoanRefinance = (mortgage: UrlaMortgage) => {\r\n return mortgage?.subjectProperty?.purposeOfLoan == this._enumsService.getEnumValue(Constants.enumerationValueNames.LoanPurposeType.Refinance);\r\n }\r\n\r\n isPurposeOfLoanPurchase = (mortgage: UrlaMortgage) => {\r\n return mortgage?.subjectProperty?.purposeOfLoan == this._enumsService.getEnumValue(Constants.enumerationValueNames.LoanPurposeType.Purchase);\r\n }\r\n\r\n calculateOtherPaidOffsTotal = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n mortgage.realEstateOwned?.forEach(reo => {\r\n if (reo.isSubjectProperty) {\r\n let filterReoOfLiabilities = mortgage.liabilities?.filter(l => l.reoId !== reo.reoId) || [];\r\n filterReoOfLiabilities.forEach(liability => {\r\n if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Full)) {\r\n subTotal += Number(liability.unpaidBalance);\r\n }\r\n else if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Partial)) {\r\n subTotal += Number(liability.partialPayoffAmount);\r\n }\r\n });\r\n }\r\n });\r\n return subTotal;\r\n }\r\n\r\n calculateOtherLiensOnSubjectProperty = (mortgage: UrlaMortgage): number => {\r\n const subjectPropertyReo = mortgage.realEstateOwned.find(reo => reo.isSubjectProperty);\r\n if (subjectPropertyReo) {\r\n const mortgageLiabilityTypes = [\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.LiabilityType.MortgageLoan),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.LiabilityType.HELOC)\r\n ];\r\n\r\n const liabilitiesLinkedToSubjectPropertyReo = subjectPropertyReo.liabilities.filter(l =>\r\n mortgageLiabilityTypes.includes(l.typeOfLiability) &&\r\n !l.isExcluded &&\r\n l.payoffType !== PayoffType.Full\r\n );\r\n\r\n let mortgageLiabilities = mortgage.liabilities.filter(l =>\r\n mortgageLiabilityTypes.includes(l.typeOfLiability) &&\r\n l.reoId === subjectPropertyReo.reoId &&\r\n !l.isExcluded &&\r\n l.payoffType !== PayoffType.Full\r\n );\r\n mortgageLiabilities = mortgageLiabilities.concat(liabilitiesLinkedToSubjectPropertyReo);\r\n\r\n const unpaidBalanceOfMortgageLiabilities = mortgageLiabilities\r\n .map(l => l.unpaidBalance || 0)\r\n .reduce((accumulator, current) => accumulator + current, 0);\r\n\r\n return unpaidBalanceOfMortgageLiabilities\r\n }\r\n return 0;\r\n }\r\n\r\n calculateTotalMonthlyPaymentAndTotalLiensForOtherMortgages = (mortgage: UrlaMortgage): MortgageLienAndMonthlyPaymentAmount => {\r\n const subjectPropertyReo = mortgage.realEstateOwned.find(reo => reo.isSubjectProperty);\r\n const result: MortgageLienAndMonthlyPaymentAmount = {\r\n monthlyPayment: 0,\r\n lienAmount: 0\r\n }\r\n let unpaidBalanceOfMortgageLiabilities = 0;\r\n let monthlyPaymentTotalForMortgageLiabilities = 0;\r\n if (subjectPropertyReo) {\r\n const mortgageLiabilityTypes = [\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.LiabilityType.MortgageLoan),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.LiabilityType.HELOC)\r\n ];\r\n\r\n const liabilitiesLinkedToSubjectPropertyReo = subjectPropertyReo.liabilities.filter(l =>\r\n mortgageLiabilityTypes.includes(l.typeOfLiability) &&\r\n !l.isExcluded &&\r\n l.payoffType !== PayoffType.Full\r\n );\r\n\r\n let mortgageLiabilities = mortgage.liabilities.filter(l =>\r\n mortgageLiabilityTypes.includes(l.typeOfLiability) &&\r\n l.reoId === subjectPropertyReo.reoId &&\r\n !l.isExcluded &&\r\n l.payoffType !== PayoffType.Full\r\n );\r\n\r\n mortgageLiabilities = mortgageLiabilities.concat(liabilitiesLinkedToSubjectPropertyReo);\r\n\r\n unpaidBalanceOfMortgageLiabilities = mortgageLiabilities\r\n .map(l => l.unpaidBalance || 0)\r\n .reduce((accumulator, current) => accumulator + current, 0);\r\n\r\n monthlyPaymentTotalForMortgageLiabilities = mortgageLiabilities\r\n .map(l => l.monthlyPayment || 0)\r\n .reduce((accumulator, current) => accumulator + current, 0);\r\n }\r\n\r\n const relatedMortgagesTotalUnpaidBalance = mortgage.relatedMortgages\r\n .map(l => l.loanOrDrawAmount || 0)\r\n .reduce((accumulator, current) => accumulator + current, 0);\r\n\r\n const relatedMortgagesMonthlyPaymentTotal = mortgage.relatedMortgages\r\n .map(l => l.monthlyPayment || 0)\r\n .reduce((accumulator, current) => accumulator + current, 0);\r\n\r\n result.monthlyPayment = monthlyPaymentTotalForMortgageLiabilities + relatedMortgagesMonthlyPaymentTotal;\r\n result.lienAmount = unpaidBalanceOfMortgageLiabilities + relatedMortgagesTotalUnpaidBalance;\r\n\r\n return result;\r\n }\r\n\r\n calculateTotalPayOffForRefinance = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n if (this.isPurposeOfLoanRefinance(mortgage)) {\r\n mortgage.realEstateOwned?.forEach(reo => {\r\n if (reo.isSubjectProperty) {\r\n reo.liabilities?.forEach(liability => {\r\n if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Full)) {\r\n subTotal += Number((liability.unpaidBalance || 0));\r\n }\r\n else if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Partial)) {\r\n subTotal += Number((liability.partialPayoffAmount || 0));\r\n }\r\n });\r\n\r\n let filterReoOfLiabilities = mortgage.liabilities?.filter(l => l.reoId == reo.reoId) || [];\r\n filterReoOfLiabilities.forEach(liability => {\r\n if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Full)) {\r\n subTotal += Number((liability.unpaidBalance || 0));\r\n }\r\n else if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Partial)) {\r\n subTotal += Number((liability.partialPayoffAmount || 0));\r\n }\r\n });\r\n }\r\n });\r\n }\r\n return subTotal;\r\n }\r\n\r\n calculateFinancialPartialPayoffTotalAmount = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n let subjProp = mortgage.realEstateOwned?.find(reo => reo.isSubjectProperty);\r\n let filterReoOfLiabilities = mortgage.liabilities?.filter(l => !l.reoId || (subjProp && l.reoId !== subjProp.reoId));\r\n filterReoOfLiabilities?.forEach(liability => {\r\n if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Full)) {\r\n subTotal += Number((liability.unpaidBalance || 0));\r\n }\r\n else if (liability.payoffType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PayoffType.Partial)) {\r\n subTotal += Number((liability.partialPayoffAmount || 0));\r\n }\r\n });\r\n return subTotal;\r\n }\r\n\r\n calculateLandValueChange = (mortgage: UrlaMortgage) => {\r\n if (!mortgage || !mortgage.subjectProperty)\r\n return 0;\r\n let landValue = 0;\r\n if (mortgage.subjectProperty.landValueType === this._enumsService.getEnumValue(Constants.enumerationValueNames.LandValueType.Appraised)) {\r\n landValue = Number(mortgage.subjectProperty.lotAppraisedValue);\r\n } else if (mortgage.subjectProperty.landValueType === this._enumsService.getEnumValue(Constants.enumerationValueNames.LandValueType.Original)) {\r\n landValue = Number(mortgage.subjectProperty.lotOriginalCost);\r\n } else {\r\n landValue = 0;\r\n }\r\n return landValue;\r\n }\r\n\r\n calculateEstimatedClosingCosts = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n if (mortgage.transactionDetail?.prepaidItemsEstimatedAmount) {\r\n subTotal += Number(mortgage.transactionDetail.prepaidItemsEstimatedAmount);\r\n }\r\n if (mortgage.transactionDetail?.prepaidEscrowsTotalAmount) {\r\n subTotal += Number(mortgage.transactionDetail.prepaidEscrowsTotalAmount);\r\n }\r\n if (mortgage.transactionDetail?.estimatedClosingCostsExcludingPrepaidsAmount) {\r\n subTotal += Number(mortgage.transactionDetail.estimatedClosingCostsExcludingPrepaidsAmount);\r\n }\r\n if (mortgage.mortgageInsuranceDetail?.miOrFundingFeeTotalAmount) {\r\n subTotal += Number(mortgage.mortgageInsuranceDetail.miOrFundingFeeTotalAmount);\r\n }\r\n\r\n return subTotal;\r\n }\r\n\r\n calculateTotalDue = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n if (mortgage.transactionDetail?.purchasePriceAmount) {\r\n subTotal += Number(mortgage.transactionDetail.purchasePriceAmount);\r\n }\r\n if (mortgage.transactionDetail?.alterationsImprovementsAndRepairsAmount) {\r\n subTotal += Number(mortgage.transactionDetail.alterationsImprovementsAndRepairsAmount);\r\n }\r\n\r\n if (mortgage.calculatedStats?.landValue) {\r\n subTotal += Number(mortgage.calculatedStats.landValue);\r\n }\r\n if (mortgage.calculatedStats?.financialPartialPayoffTotalAmount) {\r\n subTotal += Number(mortgage.calculatedStats.financialPartialPayoffTotalAmount);\r\n }\r\n if (mortgage.calculatedStats?.estimatedClosingCostsAmount) {\r\n subTotal += Number(mortgage.calculatedStats.estimatedClosingCostsAmount);\r\n }\r\n if (mortgage.transactionDetail?.borrowerPaidDiscountPointsTotalAmount) {\r\n subTotal += Number(mortgage.transactionDetail.borrowerPaidDiscountPointsTotalAmount);\r\n }\r\n if (mortgage.calculatedStats?.totalPaidOffForRefinance) {\r\n subTotal += Number(mortgage.calculatedStats.totalPaidOffForRefinance);\r\n }\r\n\r\n return subTotal;\r\n }\r\n\r\n calculateTotalLoanOrDrawAmount = (mortgage: UrlaMortgage) => {\r\n let total = 0;\r\n mortgage.relatedMortgages?.forEach(relatedMortgage => {\r\n if (relatedMortgage.loanOrDrawAmount) {\r\n total += Number(relatedMortgage.loanOrDrawAmount);\r\n }\r\n });\r\n return total;\r\n }\r\n\r\n calculateLtv = (\r\n mortgage: UrlaMortgage,\r\n newValues?: {\r\n newLoanAmount: number,\r\n newPresentValue: number,\r\n newPurchasePriceAmount: number,\r\n newProductType: string,\r\n newMiAndFundingFee: number\r\n }\r\n ): number => {\r\n let newLoanAmount: number;\r\n let newPresentValue: number;\r\n let newPurchasePriceAmount: number;\r\n let newProductType: string;\r\n let newMiAndFundingFee: number;\r\n\r\n if (newValues) {\r\n newLoanAmount = newValues.newLoanAmount;\r\n newPresentValue = newValues.newPresentValue;\r\n newPurchasePriceAmount = newValues.newPurchasePriceAmount;\r\n newProductType = newValues.newProductType;\r\n newMiAndFundingFee = newValues.newMiAndFundingFee;\r\n }\r\n\r\n const miOrFundingFeeFinancedAmount = newMiAndFundingFee ?? mortgage.mortgageInsuranceDetail?.miOrFundingFeeFinancedAmount ?? 0;\r\n const totalLoanAmount = newLoanAmount ?? (mortgage.mortgageTerm.totalLoanAmount || (mortgage.mortgageTerm.amount ?? 0 + miOrFundingFeeFinancedAmount));\r\n let presentValue = newPresentValue ?? (mortgage.subjectProperty.presentValue ?? 0);\r\n const purchasePriceAmount = newPurchasePriceAmount ?? mortgage.transactionDetail.purchasePriceAmount;\r\n\r\n if (!purchasePriceAmount) { // for Refinance\r\n if (presentValue == 0) {\r\n return 0\r\n } else {\r\n return totalLoanAmount / presentValue;\r\n }\r\n } else { // for Purchase\r\n if (\r\n purchasePriceAmount &&\r\n purchasePriceAmount > 0 &&\r\n !(presentValue && presentValue != 0 && purchasePriceAmount > presentValue)\r\n ) {\r\n presentValue = purchasePriceAmount;\r\n }\r\n\r\n if (presentValue == 0) {\r\n return 0;\r\n } else {\r\n return totalLoanAmount / presentValue;\r\n }\r\n }\r\n }\r\n\r\n calculateCltv = (\r\n mortgage: UrlaMortgage,\r\n newValues?: {\r\n newLoanAmount: number,\r\n newPresentValue: number,\r\n newPurchasePriceAmount: number,\r\n newProductType: string,\r\n newMiAndFundingFee: number\r\n }\r\n ): number => {\r\n let newLoanAmount: number;\r\n let newPresentValue: number;\r\n let newPurchasePriceAmount: number;\r\n let newProductType: string;\r\n let newMiAndFundingFee: number;\r\n\r\n if (newValues) {\r\n newLoanAmount = newValues.newLoanAmount;\r\n newPresentValue = newValues.newPresentValue;\r\n newPurchasePriceAmount = newValues.newPurchasePriceAmount;\r\n newProductType = newValues.newProductType;\r\n newMiAndFundingFee = newValues.newMiAndFundingFee;\r\n }\r\n\r\n const sub = mortgage.transactionDetail.subordinateLienAmount ?? 0;\r\n\r\n const miOrFundingFeeFinancedAmount = newMiAndFundingFee ?? mortgage.mortgageInsuranceDetail?.miOrFundingFeeFinancedAmount ?? 0;\r\n const totalLoanAmount = newLoanAmount ?? (mortgage.mortgageTerm.totalLoanAmount || (mortgage.mortgageTerm.amount ?? 0 + miOrFundingFeeFinancedAmount));\r\n let presentValue = newPresentValue ?? (mortgage.subjectProperty.presentValue ?? 0);\r\n const purchasePriceAmount = newPurchasePriceAmount ?? mortgage.transactionDetail.purchasePriceAmount;\r\n\r\n if (!purchasePriceAmount) { // for Refinance\r\n if (presentValue == 0) {\r\n return 0\r\n } else {\r\n return (totalLoanAmount + sub) / presentValue;\r\n }\r\n } else { // for Purchase\r\n if (\r\n purchasePriceAmount &&\r\n purchasePriceAmount > 0 &&\r\n !(presentValue && presentValue != 0 && purchasePriceAmount > presentValue)\r\n ) {\r\n presentValue = purchasePriceAmount;\r\n }\r\n\r\n if (presentValue == 0) {\r\n return 0\r\n } else {\r\n return (totalLoanAmount + sub) / presentValue;\r\n }\r\n }\r\n }\r\n\r\n calculateLtvAndCltv = (\r\n mortgage: UrlaMortgage,\r\n newValues?: {\r\n newLoanAmount: number,\r\n newPresentValue: number,\r\n newPurchasePriceAmount: number,\r\n newProductType: string,\r\n newMiAndFundingFee: number\r\n }\r\n ): { ltv: number, cltv: number } => {\r\n const ltv = this.calculateLtv(mortgage, newValues);\r\n const cltv = this.calculateCltv(mortgage, newValues);\r\n\r\n return { ltv, cltv };\r\n }\r\n\r\n calculateTotalMortgage = (mortgage: UrlaMortgage) => {\r\n let totalMortgage = 0;\r\n if (mortgage.mortgageTerm?.amount) {\r\n totalMortgage += Number(mortgage.mortgageTerm.amount);\r\n }\r\n if (mortgage.mortgageInsuranceDetail?.miOrFundingFeeFinancedAmount) {\r\n totalMortgage += Number(mortgage.mortgageInsuranceDetail.miOrFundingFeeFinancedAmount);\r\n }\r\n if (mortgage.calculatedStats?.totalLoanOrDrawAmount) {\r\n totalMortgage += Number(mortgage.calculatedStats.totalLoanOrDrawAmount);\r\n }\r\n // const otherLiensOnSubjectProperty = this.calculateOtherLiensOnSubjectProperty(mortgage);\r\n // totalMortgage += otherLiensOnSubjectProperty;\r\n\r\n return totalMortgage;\r\n }\r\n\r\n calculateTotalLenderCredit = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n let purchaseCredits = mortgage.transactionDetail?.purchaseCredits.filter(p => p.purchaseCreditType === this._enumsService.getEnumValue(Constants.enumerationValueNames.PurchaseCreditType.LenderCredit)\r\n );\r\n purchaseCredits?.forEach(purchaseCredit => {\r\n if (purchaseCredit?.purchaseCreditAmount) {\r\n subTotal += Number(purchaseCredit.purchaseCreditAmount);\r\n }\r\n });\r\n return subTotal;\r\n }\r\n\r\n calculateTotalOtherCredit = (mortgage: UrlaMortgage) => {\r\n let subTotal = 0;\r\n let purchaseCredits = mortgage.transactionDetail?.purchaseCredits.filter(p =>\r\n p.purchaseCreditType !== this._enumsService.getEnumValue(Constants.enumerationValueNames.PurchaseCreditType.LenderCredit)\r\n );\r\n purchaseCredits?.forEach(purchaseCredit => {\r\n if (purchaseCredit?.purchaseCreditAmount) {\r\n subTotal += Number(purchaseCredit.purchaseCreditAmount);\r\n }\r\n });\r\n return subTotal;\r\n }\r\n\r\n calculateTotalCredit = (mortgage: UrlaMortgage) => {\r\n let sellerPaidClosingCostsAmount = 0;\r\n if (mortgage.transactionDetail?.sellerPaidClosingCostsAmount) {\r\n sellerPaidClosingCostsAmount = Number(mortgage.transactionDetail.sellerPaidClosingCostsAmount);\r\n }\r\n return this.calculateTotalOtherCredit(mortgage) + this.calculateTotalLenderCredit(mortgage) + sellerPaidClosingCostsAmount;\r\n }\r\n\r\n calculateTotalDueFromBorrowers = (mortgage: UrlaMortgage) => {\r\n let totalDueFromBorrowers = (-1) * Number(mortgage.calculatedStats.totalMortgageLoans) +\r\n Number(mortgage.calculatedStats.totalCredit);\r\n return totalDueFromBorrowers;\r\n }\r\n\r\n calculateCashFromOrToTheBorrower = (mortgage: UrlaMortgage) => {\r\n let cashFromOrToTheBorrower = mortgage.calculatedStats.totalDue - mortgage.calculatedStats.totalMortgageLoansAndCredits;\r\n return cashFromOrToTheBorrower;\r\n }\r\n\r\n calculateTotalMortgageLoansAndCredits = (mortgage: UrlaMortgage) => {\r\n const totalMortgageLoansAndCredits = (mortgage.calculatedStats.totalMortgageLoans ?? 0) + (mortgage.calculatedStats.totalCredit ?? 0);\r\n return totalMortgageLoansAndCredits;\r\n }\r\n\r\n getFirstMortgagePrincipalAndInterest = (mortgage: UrlaMortgage) => {\r\n if (!mortgage.mortgageTerm?.interestRate) {\r\n return null;\r\n }\r\n let rate = Number(mortgage.mortgageTerm.interestRate);\r\n let term = Number(mortgage.mortgageTerm.noOfMonths);\r\n let balance = Number(mortgage.mortgageTerm.amount);\r\n if (mortgage.mortgageInsuranceDetail?.miOrFundingFeeFinancedAmount) {\r\n balance += Number(mortgage.mortgageInsuranceDetail.miOrFundingFeeFinancedAmount);\r\n }\r\n let princpicalAndInterest = 0;\r\n if (!mortgage.extension?.isInterestOnly) {\r\n princpicalAndInterest = (((rate / 1200) * Math.pow((1 + (rate / 1200)), term)) / (Math.pow((1 + (rate / 1200)), term) - 1)) * balance;\r\n } else {\r\n princpicalAndInterest = balance * (rate / 100) / 12;\r\n }\r\n return princpicalAndInterest;\r\n }\r\n\r\n calculateProposedHousingExpense = (proposedHousingExpense: HousingExpense) => {\r\n if (!proposedHousingExpense)\r\n return 0;\r\n let subProposedTotalValue = 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.firstMortgagePrincipalAndInterest) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.otherMortgageLoanPrincipalAndInterest) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.homeownersInsurance) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.supplementalPropertyInsurance) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.realEstateTax) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.mortgageInsurance) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.homeownersAssociationDuesAndCondominiumFees) || 0;\r\n subProposedTotalValue += Number(proposedHousingExpense.otherHousingExpense) || 0;\r\n return subProposedTotalValue;\r\n }\r\n\r\n calculateSourceOfFundsValue = (mortgage: UrlaMortgage) => {\r\n let subSourceOfFundsValue = 0;\r\n mortgage.transactionDetail?.purchaseCredits.forEach(purchaseCredit => {\r\n subSourceOfFundsValue += Number(purchaseCredit.purchaseCreditAmount);\r\n });\r\n return subSourceOfFundsValue;\r\n }\r\n\r\n calculateBorrowerTotalMonthlyIncome = (borrower: MortgageBorrower) => {\r\n const currentEmployments = borrower?.employments.filter(e => e.employmentType === EmploymentTypeEnum.CurrentEmployer);\r\n let totalEmploymentIncome: number = 0;\r\n currentEmployments?.forEach(e => {\r\n let employmentIncome: number = 0;\r\n const notOmittedIncomes = e.incomes.filter(i => !i.isOmitted);\r\n if (notOmittedIncomes.length > 0) {\r\n employmentIncome = notOmittedIncomes.map(i => i.monthlyIncome).reduce(this.sum);\r\n }\r\n totalEmploymentIncome += employmentIncome;\r\n });\r\n let totalOtherIncome: number = 0;\r\n if (borrower.nonEmploymentIncomes.length != 0) {\r\n const notOmittedIncomes = borrower.nonEmploymentIncomes.filter(i => !i.isOmitted);\r\n if (notOmittedIncomes.length > 0) {\r\n totalOtherIncome = notOmittedIncomes.map(i => i.monthlyIncome).reduce(this.sum);\r\n }\r\n }\r\n let totalMonthlyIncome = totalOtherIncome + totalEmploymentIncome;\r\n return totalMonthlyIncome;\r\n }\r\n\r\n calculateBorrowerMonthlyIncome = (borrower: MortgageBorrower) => {\r\n const currentEmployments = borrower?.employments.filter(e => e.employmentType === EmploymentTypeEnum.CurrentEmployer);\r\n let totalEmploymentIncome: number = 0;\r\n currentEmployments?.forEach(e => {\r\n let employmentIncome: number = 0;\r\n const notOmittedIncomes = e.incomes.filter(i => !i.isOmitted);\r\n if (notOmittedIncomes.length > 0) {\r\n employmentIncome = notOmittedIncomes.map(i => i.monthlyIncome).reduce(this.sum);\r\n }\r\n totalEmploymentIncome += employmentIncome;\r\n });\r\n\r\n return totalEmploymentIncome;\r\n }\r\n\r\n calculateBorrowerMonthlyDebts = (mortgage: UrlaMortgage, filterTypeOfLiability?: string) => {\r\n let liabilities = mortgage?.liabilities.filter(e => e.isExcluded !== true && e.payoffType !== PayoffType.Full && e.monthlyPayment > 0);\r\n\r\n if (filterTypeOfLiability) {\r\n liabilities = liabilities?.filter(x => x.typeOfLiability == filterTypeOfLiability);\r\n }\r\n\r\n let totalExpense: number = 0;\r\n liabilities?.forEach(e => {\r\n totalExpense += (e.monthlyPayment ?? 0);\r\n });\r\n\r\n if (mortgage.subjectProperty.propertyWillBe != 'PrimaryResidence' && (!filterTypeOfLiability || filterTypeOfLiability == 'RentalExpense')) {\r\n mortgage.borrowers.forEach(b => totalExpense += (b.residencyAddresses.find(x => x.residencyType == ResidencyType.PresentAddress)?.rent ?? 0))\r\n }\r\n\r\n if (!filterTypeOfLiability) {\r\n totalExpense += this.calculateOtherREOLiabilities(mortgage);\r\n }\r\n\r\n return totalExpense;\r\n }\r\n\r\n calculateOtherREOLiabilities = (mortgage: UrlaMortgage) => {\r\n\r\n let totalExpense: number = 0;\r\n mortgage.realEstateOwned?.forEach(e => {\r\n if (\r\n !e.isSubjectProperty &&\r\n (\r\n e.includeTaxesInsuranceInDebtRatios ?? true\r\n ) &&\r\n (\r\n e.dispositionStatus == \"Retained\" ||\r\n e.dispositionStatus == \"RetainForPrimaryOrSecondaryResidence\" ||\r\n e.dispositionStatus == \"RentalProperty\"\r\n )\r\n ) {\r\n totalExpense += (e.monthlyMiscExpenses ?? 0);\r\n }\r\n });\r\n\r\n return totalExpense;\r\n }\r\n\r\n sendReoEvent() {\r\n this.reoLiabilityAssociationChanged.next();\r\n }\r\n\r\n sendLiabilityEvent() {\r\n this.liabilitySubject.next(null);\r\n }\r\n\r\n publishOtherMortgagesChangedEvent() {\r\n this.otherMortgagesChanged.next(null);\r\n }\r\n\r\n getFtcSectionAmounts = (mortgage: UrlaMortgage) => {\r\n\r\n this.calculateMortgageStatistics(mortgage);\r\n\r\n let ftcSectionAmounts = {\r\n A: mortgage.transactionDetail?.purchasePriceAmount ?? 0,\r\n B: mortgage.transactionDetail?.alterationsImprovementsAndRepairsAmount ?? 0,\r\n C: this.calculateLandValueChange(mortgage),\r\n D: this.calculateTotalPayOffForRefinance(mortgage),\r\n E: this.calculateFinancialPartialPayoffTotalAmount(mortgage),\r\n F: {\r\n estimated: mortgage.transactionDetail?.prepaidItemsEstimatedAmount ?? 0,\r\n escrow: mortgage.transactionDetail?.prepaidEscrowsTotalAmount ?? 0,\r\n estimatedClosingCosts: mortgage.transactionDetail?.estimatedClosingCostsExcludingPrepaidsAmount ?? 0,\r\n pmi: mortgage.mortgageInsuranceDetail ? mortgage.mortgageInsuranceDetail.miOrFundingFeeTotalAmount : 0,\r\n total: mortgage.transactionDetail?.estimatedClosingCostsAmount ?? 0,\r\n },\r\n G: mortgage.transactionDetail?.borrowerPaidDiscountPointsTotalAmount,\r\n H: 0,\r\n I: {\r\n nonFinancedAmount: mortgage.mortgageTerm?.amount,\r\n financedAmount: mortgage.mortgageInsuranceDetail?.miOrFundingFeeFinancedAmount ?? 0,\r\n total: 0\r\n },\r\n J: this.calculateTotalLoanOrDrawAmount(mortgage),\r\n K: 0,\r\n L: mortgage.transactionDetail?.sellerPaidClosingCostsAmount,\r\n M: {\r\n lender: this.calculateTotalLenderCredit(mortgage),\r\n other: this.calculateTotalOtherCredit(mortgage)\r\n },\r\n N: this.calculateTotalCredit(mortgage),\r\n allTotal: mortgage.calculatedStats.cashFromOrToTheBorrower ?? 0,\r\n };\r\n\r\n ftcSectionAmounts[\"I\"][\"total\"] = (ftcSectionAmounts[\"I\"][\"nonFinancedAmount\"] || 0) + (ftcSectionAmounts[\"I\"][\"financedAmount\"] || 0);\r\n\r\n // total of A through G\r\n ftcSectionAmounts[\"H\"] = (ftcSectionAmounts[\"A\"] || 0) + (ftcSectionAmounts[\"B\"] || 0) + (ftcSectionAmounts[\"C\"] || 0) + (ftcSectionAmounts[\"D\"] || 0)\r\n + (ftcSectionAmounts[\"E\"] || 0) + (ftcSectionAmounts[\"F\"][\"total\"] || 0) + (ftcSectionAmounts[\"G\"] || 0);\r\n\r\n // total of I and J\r\n ftcSectionAmounts[\"K\"] = (ftcSectionAmounts[\"I\"][\"total\"] || 0) + (ftcSectionAmounts[\"J\"] || 0);\r\n\r\n return ftcSectionAmounts;\r\n }\r\n\r\n getPiTiPaymentInfo = (mortgage: UrlaMortgage): { pi: number, ti: number, other: number } => {\r\n let paymentInfo: any = {\r\n pi: 0,\r\n ti: 0,\r\n other: 0\r\n };\r\n\r\n const proposedExpenses = mortgage.proposedHousingExpense ||\r\n (\r\n mortgage.borrowers && mortgage.borrowers[0] && mortgage.borrowers[0].currentHousingExpenses &&\r\n mortgage.borrowers[0].currentHousingExpenses.isCurrent === false ? mortgage.borrowers[0].currentHousingExpenses\r\n : undefined\r\n );\r\n\r\n if (proposedExpenses) {\r\n paymentInfo.pi = proposedExpenses.firstMortgagePrincipalAndInterest;\r\n paymentInfo.ti = proposedExpenses.homeownersInsurance + proposedExpenses.realEstateTax;\r\n paymentInfo.other =\r\n (proposedExpenses.otherMortgageLoanPrincipalAndInterest ?? 0) +\r\n (proposedExpenses.mortgageInsurance ?? 0) +\r\n (proposedExpenses.homeownersAssociationDuesAndCondominiumFees ?? 0) +\r\n (proposedExpenses.otherHousingExpense ?? 0) +\r\n (proposedExpenses.supplementalPropertyInsurance ?? 0) +\r\n (proposedExpenses.rent ?? 0);\r\n }\r\n\r\n return paymentInfo;\r\n }\r\n\r\n setMonthlyPaymentOptions = (liability: Liability) => {\r\n return [0.5, 1, 5].map(el => ({\r\n displayText: `${el}% of Unpaid Balance ($${parseFloat(((liability.unpaidBalance / 100) * el).toFixed(2))})`,\r\n value: el\r\n }));\r\n };\r\n\r\n setMonthlyPayment = (liability: Liability, percent: number) => {\r\n liability.monthlyPayment = parseFloat(((liability.unpaidBalance / 100) * percent).toFixed(2));\r\n }\r\n\r\n private sum = (a: number, b: number): number => {\r\n if (!a) a = 0;\r\n if (!b) b = 0;\r\n return a + b;\r\n }\r\n}\r\n\r\nexport class MortgageLienAndMonthlyPaymentAmount {\r\n lienAmount: number;\r\n monthlyPayment: number;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Observable, of } from 'rxjs';\r\nimport { delay, map } from 'rxjs/operators';\r\nimport { Address } from '../models/address-model';\r\nimport { MortgageDti } from '../models/mortgage-dti.model';\r\nimport { MortgageTerm } from '../models/mortgage-term.model';\r\nimport {\r\n Declarations,\r\n Demographics,\r\n Extension,\r\n GovernmentLoanDetail,\r\n HousingExpense,\r\n Mortgage,\r\n MortgageBorrower,\r\n MortgageInsuranceCalculationResult,\r\n MortgageInsuranceDetail,\r\n OriginatorInformation,\r\n SubjectProperty,\r\n TransactionDetail,\r\n} from '../models/mortgage.model';\r\nimport {\r\n BorrowerCalculatedStats,\r\n EmploymentCalculatedStats,\r\n MortgageCalculatedStats,\r\n UrlaBorrower,\r\n UrlaEmployment,\r\n UrlaMortgage,\r\n} from '../models/urla-mortgage.model';\r\nimport { DataService } from './data.service';\r\nimport { Lead } from '../models/lead.model';\r\n\r\n@Injectable()\r\nexport class MortgageService {\r\n constructor(\r\n private readonly _dataService: DataService,\r\n private readonly _environmentService: EnvironmentService,\r\n private readonly _http: HttpClient\r\n ) { }\r\n\r\n getMortgageTerm = (mortgageTermId: number): Observable => {\r\n const url = `api/mortgage/mortgageterms/${mortgageTermId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n calculateMortgageInsurance = (\r\n applicationId: number\r\n ): Observable => {\r\n const url = `api/mortgage/mortgage-insurance/calculate/${applicationId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n postRefreshOriginator = (\r\n applicationId: number\r\n ): Observable => {\r\n const url = `api/mortgages/${applicationId}/refresh-originator`;\r\n return this._dataService.post(url, applicationId);\r\n };\r\n\r\n getMortgage = (applicationId: number): Observable => {\r\n const url = `api/mortgages/urla2020?applicationId=${applicationId}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n getMortgageDetails = (applicationId: number): Observable => {\r\n const url = `api/mortgages?applicationId=${applicationId}&autoCreateIfNotFound=false`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n getMortgageDti = (mortgageId: number): Observable => {\r\n const url = `api/mortgages/${mortgageId}/dti`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n refreshOriginator = (\r\n applicationId: number\r\n ): Observable => {\r\n const url = `api/mortgages/${applicationId}/refresh-originator`;\r\n return this._dataService.post(url, {});\r\n };\r\n\r\n getUrlaMortgage = (applicationId: number): Observable => {\r\n const url = `api/mortgages/urla2020?applicationId=${applicationId}`;\r\n return this._dataService.get(url).pipe(\r\n map((result) => {\r\n this.initializeMortgage(result);\r\n return result;\r\n })\r\n );\r\n };\r\n\r\n getMortgageBorrowers = (\r\n mortgageId: number\r\n ): Observable => {\r\n const url = `api/mortgages/${mortgageId}/borrowers`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n insertBorrowerToMortgage = (\r\n mortgageId: number,\r\n borrower: MortgageBorrower\r\n ): Observable => {\r\n const url = `api/mortgages/${mortgageId}/borrowers`;\r\n return this._dataService.post(url, borrower);\r\n };\r\n\r\n deleteBorrowerFromMortgage = (\r\n borrowerId: number,\r\n cleanupOrphanedContacts: boolean = false\r\n ): Observable => {\r\n const url = `api/mortgage/borrowers/${borrowerId}?cleanupOrphanedContacts=${cleanupOrphanedContacts}`;\r\n return this._dataService.delete(url);\r\n };\r\n\r\n exportUrlaDocs = (applicationId: number): Observable => {\r\n const url =\r\n this._environmentService.apiInfo.apiBaseUrl +\r\n 'api/mortgages/' +\r\n applicationId +\r\n '/generate-urla-docs';\r\n return this._http.post(url, {});\r\n };\r\n\r\n exportMismoFile = (applicationId: number): Observable => {\r\n const url =\r\n this._environmentService.apiInfo.apiBaseUrl +\r\n 'api/mortgages/' +\r\n applicationId +\r\n '/export-mismo34';\r\n const options: any = { responseType: 'blob', observe: 'response' };\r\n return this._http.post(url, {}, options).pipe(\r\n map((response: any) => {\r\n var a = document.createElement('a');\r\n a.href = URL.createObjectURL(response.body);\r\n let contentDisposition = response.headers.get('content-disposition');\r\n a.download = contentDisposition\r\n .split(';')[1]\r\n .split('filename')[1]\r\n .split('=')[1]\r\n .trim();\r\n a.click();\r\n })\r\n );\r\n };\r\n\r\n importMismoFile = (\r\n applicationId: number,\r\n mortgageId: number,\r\n file: File\r\n ): Observable => {\r\n let url =\r\n 'api/mortgages/' + applicationId + '/import-mismo34/' + mortgageId;\r\n var formData = new FormData();\r\n formData.append('file', file);\r\n return this._dataService.postFormData(url, formData);\r\n };\r\n\r\n getLeadByGuid = (leadGuid: string): Observable => {\r\n const url = `api/leads/prefill/${leadGuid}`;\r\n return this._dataService.get(url);\r\n };\r\n\r\n private initializeMortgage = (mortgage: UrlaMortgage) => {\r\n if (!mortgage.liabilities) {\r\n mortgage.liabilities = [];\r\n }\r\n if (!mortgage.proposedHousingExpense) {\r\n mortgage.proposedHousingExpense = new HousingExpense();\r\n }\r\n if (!mortgage.subjectProperty) {\r\n mortgage.subjectProperty = new SubjectProperty();\r\n }\r\n if (!mortgage.originatorInformation) {\r\n mortgage.originatorInformation = new OriginatorInformation();\r\n }\r\n if (!mortgage.extension) {\r\n mortgage.extension = new Extension();\r\n }\r\n if (!mortgage.mortgageInsuranceDetail) {\r\n mortgage.mortgageInsuranceDetail = new MortgageInsuranceDetail();\r\n }\r\n if (!mortgage.governmentLoanDetail) {\r\n mortgage.governmentLoanDetail = new GovernmentLoanDetail();\r\n }\r\n if (!mortgage.transactionDetail) {\r\n mortgage.transactionDetail = new TransactionDetail();\r\n } else {\r\n if (!mortgage.transactionDetail.purchaseCredits) {\r\n mortgage.transactionDetail.purchaseCredits = [];\r\n }\r\n }\r\n\r\n if (\r\n mortgage.transactionDetail.estimatedClosingCostsAmount &&\r\n !mortgage.transactionDetail.prepaidItemsEstimatedAmount &&\r\n !mortgage.transactionDetail.prepaidEscrowsTotalAmount &&\r\n !mortgage.mortgageInsuranceDetail.miOrFundingFeeTotalAmount\r\n ) {\r\n mortgage.transactionDetail.prepaidEscrowsTotalAmount =\r\n mortgage.transactionDetail.estimatedClosingCostsAmount;\r\n }\r\n\r\n mortgage.calculatedStats = new MortgageCalculatedStats();\r\n mortgage.borrowers.forEach((borrower) => {\r\n if (!borrower.governmentMonitors) {\r\n borrower.governmentMonitors = new Demographics();\r\n }\r\n if (!borrower.aliases) {\r\n borrower.aliases = [];\r\n }\r\n if (!borrower.currentHousingExpenses) {\r\n borrower.currentHousingExpenses = new HousingExpense();\r\n }\r\n if (!borrower.declarations) {\r\n borrower.declarations = new Declarations();\r\n }\r\n if (!borrower.dependents) {\r\n borrower.dependents = [];\r\n }\r\n if (!borrower.employments) {\r\n borrower.employments = [];\r\n } else {\r\n borrower.employments.forEach((e) => {\r\n if (!e.address) {\r\n e.address = new Address();\r\n }\r\n });\r\n }\r\n if (!borrower.nonEmploymentIncomes) {\r\n borrower.nonEmploymentIncomes = [];\r\n }\r\n if (!borrower.residencyAddresses) {\r\n borrower.residencyAddresses = [];\r\n }\r\n (borrower).calculatedStats = new BorrowerCalculatedStats();\r\n borrower.employments.forEach((employment) => {\r\n (employment).calculatedStats =\r\n new EmploymentCalculatedStats();\r\n if (!employment.incomes) {\r\n employment.incomes = [];\r\n }\r\n });\r\n });\r\n if (!mortgage.realEstateOwned) {\r\n mortgage.realEstateOwned = [];\r\n }\r\n };\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UtilsService } from './utils.service';\r\nimport { Constants } from './constants';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { FlowType } from '../models/wizard/config/flow-type.enum';\r\n\r\n@Injectable()\r\nexport class NavigationService {\r\n\r\n companyGuid: string | undefined = undefined;\r\n branchGuid: string | undefined = undefined;\r\n userGuid: string | undefined = undefined;\r\n flowGuid: string | undefined = undefined;\r\n editToken: string | undefined = undefined;\r\n\r\n constructor(\r\n private readonly _router: Router,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _location: Location,\r\n private readonly _environment: EnvironmentService) {\r\n this.companyGuid = this._utilsService.getUrlParameter(Constants.companyGuid);\r\n this.branchGuid = this._utilsService.getUrlParameter(Constants.branchGuid);\r\n this.userGuid = this._utilsService.getUrlParameter(Constants.userGuid);\r\n this.flowGuid = this._utilsService.getUrlParameter(Constants.flowGuid);\r\n this.editToken = this._utilsService.getUrlParameter(Constants.editToken);\r\n }\r\n\r\n get possibleLogoUrls(): string[] {\r\n let possibleLogoUrls: string[] = [];\r\n if (this.branchGuid) {\r\n possibleLogoUrls.push(this._environment.branchLogoUrl + this.branchGuid);\r\n } else {\r\n possibleLogoUrls.push(this._environment.branchLogoUrl);\r\n }\r\n if (this.companyGuid) {\r\n possibleLogoUrls.push(this._environment.companyLogoUrl + this.companyGuid);\r\n } else {\r\n possibleLogoUrls.push(this._environment.companyLogoUrl);\r\n }\r\n return possibleLogoUrls;\r\n }\r\n\r\n navigateToLogin = (companyGuid?: string, setReturnUrl: boolean = true, additionalQueryParams: any = null) => {\r\n if (location.pathname && location.pathname.toLowerCase() === '/login') {\r\n return;\r\n }\r\n let queryParams: any = {};\r\n if (companyGuid) {\r\n queryParams.companyGuid = companyGuid;\r\n }\r\n if (location.pathname && setReturnUrl) {\r\n queryParams.returnUrl = location.pathname;\r\n }\r\n\r\n if (additionalQueryParams) {\r\n queryParams = { ...queryParams, ...additionalQueryParams };\r\n }\r\n this.navigateToPath('login', true, null, queryParams);\r\n }\r\n\r\n navigateToCheckEmailNotice = (email: string) => {\r\n let queryParams = this.generateQueryParameters();\r\n queryParams.email = email;\r\n const url = this._router.createUrlTree(['check-email-notice'], { queryParams: queryParams }).toString()\r\n this._router.navigateByUrl(url);\r\n history.pushState(null, '', location.href);\r\n }\r\n\r\n navigateToCheckEmailForPasswordResetNotice = (email: string) => {\r\n let queryParams = this.generateQueryParameters();\r\n queryParams.email = email;\r\n const url = this._router.createUrlTree(['check-email-password-reset-notice'], { queryParams: queryParams }).toString()\r\n this._router.navigateByUrl(url);\r\n history.pushState(null, '', location.href);\r\n }\r\n\r\n navigateToResetPassword = (email: string) => {\r\n let queryParams = this.generateQueryParameters();\r\n queryParams.email = email;\r\n const url = this._router.createUrlTree(['reset-password'], { queryParams: queryParams }).toString()\r\n this._router.navigateByUrl(url);\r\n history.pushState(null, '', location.href);\r\n }\r\n\r\n navigateToFlow = (flowGuid: string | undefined, initialPath: string) => {\r\n let queryParams = this.generateQueryParameters();\r\n if (flowGuid) {\r\n queryParams.flowGuid = flowGuid;\r\n }\r\n const lastUrlSegment = this._utilsService.getLastUrlSegment();\r\n const url = this._router.createUrlTree([lastUrlSegment], { queryParams: queryParams }).toString()\r\n\r\n this._location.go(url);\r\n }\r\n\r\n navigateToFlowEditor = (flowGuid: string, activeFlowType?: FlowType): void => {\r\n let queryParams = this.generateQueryParameters();\r\n queryParams.flowGuid = flowGuid;\r\n var queryString = this.generateQueryString(queryParams);\r\n if (activeFlowType) {\r\n queryString = queryString + '&flowType=' + activeFlowType;\r\n }\r\n const pathToGo = 'flow-editor-v2' + queryString;\r\n this._router.navigateByUrl(pathToGo)\r\n .then(() => {\r\n window.location.reload();\r\n });\r\n }\r\n\r\n navigateToPath = (path: string, overrideUrl?: boolean, state: any = null, queryParams: any = null, keepExistingQueryParams: boolean = true): void => {\r\n let existingQueryParams = this.generateQueryParameters();\r\n let queryParamsToUse = queryParams;\r\n if (keepExistingQueryParams) {\r\n queryParamsToUse = { ...existingQueryParams, ...queryParams };\r\n }\r\n\r\n const url = this._router.createUrlTree([path], { queryParams: queryParamsToUse }).toString()\r\n if (overrideUrl) {\r\n this._router.navigateByUrl(url, { state: state });\r\n history.pushState(null, '', location.href);\r\n return;\r\n }\r\n setTimeout(() => {\r\n this._router.navigateByUrl(url, { replaceUrl: true, skipLocationChange: true, state: state });\r\n history.pushState(null, '', location.href);\r\n });\r\n }\r\n\r\n redirectToBorrowerPortalLoansWithAppId = (borrowerPortalUrl: string, appId: number) => {\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n const authDataObj = JSON.parse(localStorage.getItem(authorizationDataKey)!);\r\n const token = authDataObj.token;\r\n let redirectUrl = \"https://\" + borrowerPortalUrl + \"/loans-redirect/\" + appId + \"?authToken=\" + token;\r\n window.open(redirectUrl, \"_blank\");\r\n }\r\n\r\n redirectToBorrowerPortalLoans = (borrowerPortalUrl: string) => {\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n const authDataObj = JSON.parse(localStorage.getItem(authorizationDataKey)!);\r\n const token = authDataObj.token;\r\n let redirectUrl = \"https://\" + borrowerPortalUrl + \"/loans-redirect?authToken=\" + token;\r\n window.location.href = redirectUrl;\r\n }\r\n\r\n private generateQueryString = (queryParams: any): string => {\r\n let queryString = queryParams.companyGuid ? \"?\" + Constants.companyGuid + \"=\" + queryParams.companyGuid : \"\";\r\n queryString = this.appendParameter(queryString, Constants.userGuid, queryParams.userGuid);\r\n queryString = this.appendParameter(queryString, Constants.flowGuid, queryParams.flowGuid);\r\n queryString = this.appendParameter(queryString, Constants.editToken, queryParams.editToken);\r\n queryString = this.appendParameter(queryString, Constants.userCompanyGuid, queryParams.userCompanyGuid);\r\n return queryString;\r\n }\r\n\r\n private generateQueryParameters = (): any => {\r\n let queryParams: any = {};\r\n const companyGuid = this._utilsService.getUrlParameter(Constants.companyGuid);\r\n if (companyGuid) {\r\n queryParams.companyGuid = companyGuid;\r\n }\r\n const userGuid = this._utilsService.getUrlParameter(Constants.userGuid);\r\n if (userGuid) {\r\n queryParams.userGuid = userGuid;\r\n }\r\n const userCompanyGuid = this._utilsService.getUrlParameter(Constants.userCompanyGuid);\r\n if (userCompanyGuid) {\r\n queryParams.userCompanyGuid = userCompanyGuid;\r\n }\r\n const flowGuid = this._utilsService.getUrlParameter(Constants.flowGuid);\r\n if (flowGuid) {\r\n queryParams.flowGuid = flowGuid;\r\n }\r\n const editToken = this._utilsService.getUrlParameter(Constants.editToken);\r\n if (editToken) {\r\n queryParams.editToken = editToken;\r\n }\r\n const userName = this._utilsService.getUrlParameter(Constants.userName);\r\n if (userName) {\r\n queryParams.username = userName;\r\n }\r\n const token = this._utilsService.getUrlParameter(Constants.token);\r\n if (token) {\r\n queryParams.token = token;\r\n }\r\n const appId = this._utilsService.getUrlParameter(Constants.applicationId);\r\n if (appId) {\r\n queryParams.appId = appId;\r\n }\r\n // if (location.pathname.toLocaleLowerCase() === '/login') {\r\n // const returnUrl = this._utilsService.getUrlParameter(Constants.returnUrl);\r\n // if (returnUrl) {\r\n // queryParams.returnUrl = returnUrl;\r\n // }\r\n // }\r\n return queryParams;\r\n }\r\n\r\n private appendParameter = (queryString: string, name: string, value: string | undefined): string => {\r\n if (value) {\r\n let separator: string = queryString.length > 0 ? \"&\" : \"?\";\r\n queryString += separator + name + \"=\" + value;\r\n }\r\n return queryString;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport Swal, { SweetAlertIcon, SweetAlertOptions } from 'sweetalert2';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n constructor() { }\r\n\r\n showSuccess(message: string, title: string): void {\r\n this.toast('success', message, title);\r\n }\r\n\r\n showError(message: string, title: string): void {\r\n this.toast('error', message, title);\r\n }\r\n\r\n showInfo(message: string, title: string, options?: Partial): void {\r\n this.toast('info', message, title, options);\r\n }\r\n\r\n showWarning(message: string, title: string): void {\r\n this.toast('warning', message, title);\r\n }\r\n\r\n toast(icon: SweetAlertIcon, message: string, title: string, options?: any): void {\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n timer: 4000,\r\n didOpen: () => {\r\n const swalToasts = document.getElementsByClassName(\"swal2-toast\");\r\n if (swalToasts && swalToasts.length) {\r\n const swalToast = swalToasts[0];\r\n swalToast.addEventListener('mouseenter', () => {\r\n Swal.stopTimer();\r\n });\r\n swalToast.addEventListener('mouseleave', () => {\r\n Swal.resumeTimer();\r\n })\r\n }\r\n },\r\n willClose: () => {\r\n const swalToasts = document.getElementsByClassName(\"swal2-toast\");\r\n if (swalToasts && swalToasts.length) {\r\n const swalToast = swalToasts[0];\r\n swalToast.removeAllListeners();\r\n }\r\n }\r\n });\r\n\r\n toast.fire({\r\n icon: icon,\r\n title: title,\r\n // text: message, // includes only text\r\n html: message, // includes normal text and html\r\n ...options\r\n });\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { AgentPortalService } from \"../agent-portal/services/agent-portal.service\";\r\nimport { BorrowerPortalService } from \"../borrower-portal/services/borrower-portal.service\";\r\nimport { BasePortalService } from \"./base-portal.service\";\r\nimport { DataService } from \"./data.service\";\r\nimport { UtilsService } from \"./utils.service\";\r\nimport { PortalScope } from \"../login/login.component\";\r\n\r\n@Injectable()\r\nexport class PortalServiceFactory {\r\n\r\n private _baseUrl: string;\r\n\r\n constructor(private readonly _utilsService: UtilsService,\r\n private readonly _dataService: DataService) {\r\n this._baseUrl = this._utilsService.getBaseUrl();\r\n }\r\n\r\n create(): BasePortalService {\r\n if (this._baseUrl.toLowerCase() === \"agent-portal\") {\r\n return new AgentPortalService(this._dataService);\r\n }\r\n return new BorrowerPortalService(this._dataService);\r\n }\r\n\r\n createByScope(scope: PortalScope): BasePortalService {\r\n if (scope === PortalScope.Agent) {\r\n return new AgentPortalService(this._dataService);\r\n }\r\n return new BorrowerPortalService(this._dataService);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ShortLinkService {\r\n\r\n constructor(private _dataService: DataService) { }\r\n\r\n getShortLinkRedirectUrl = (shortCode: string, queryString: string): Observable<{url: string}> => {\r\n let url = `api/borrowerportal/redirect/${shortCode}`;\r\n if (queryString) {\r\n url += `?queryString=${queryString}`;\r\n }\r\n return this._dataService.get(url);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { DateTime } from \"luxon\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class TimerService {\r\n\r\n constructor() { }\r\n\r\n private _timersByName: Map = new Map()\r\n\r\n get = (name: string) => {\r\n return this._timersByName.get(name);\r\n }\r\n\r\n start = (name: string, expireInMinutes: number, restartIfRunning: boolean = false, restartTimerAfterExpired: boolean = false): Timer => {\r\n if (this._timersByName.has(name)) {\r\n const timer = this._timersByName.get(name);\r\n if (!timer.isRunning) {\r\n timer.expireInMinutes = expireInMinutes;\r\n timer.start();\r\n return timer;\r\n }\r\n if ((timer.isExpired && restartTimerAfterExpired) || (restartIfRunning && timer.isRunning)) {\r\n this.remove(name);\r\n return this.createAndStartTimer(name, expireInMinutes, restartTimerAfterExpired);\r\n }\r\n return timer;\r\n } else {\r\n return this.createAndStartTimer(name, expireInMinutes, restartTimerAfterExpired);\r\n }\r\n }\r\n\r\n stop = (name: string) => {\r\n const timer = this._timersByName.get(name);\r\n if (timer) {\r\n timer.stop();\r\n }\r\n }\r\n\r\n remove = (name: string) => {\r\n const timer = this._timersByName.get(name);\r\n if (timer) {\r\n timer.stop();\r\n this._timersByName.delete(name);\r\n }\r\n }\r\n\r\n createTimer = (name: string) => {\r\n const timer = new Timer(name, undefined, false);\r\n this._timersByName.set(name, timer);\r\n return timer;\r\n }\r\n\r\n private createAndStartTimer = (name: string, expireInMinutes: number, restartTimerAfterExpired: boolean = false): Timer => {\r\n const timer = new Timer(name, expireInMinutes, restartTimerAfterExpired);\r\n this._timersByName.set(name, timer);\r\n timer.start();\r\n return timer;\r\n }\r\n}\r\n\r\nexport class Timer {\r\n\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n get startedAt(): DateTime {\r\n return this._startedAt;\r\n }\r\n\r\n get isExpired(): boolean {\r\n return this._isExpired;\r\n }\r\n\r\n get isRunning(): boolean {\r\n return this._interval != null;\r\n }\r\n\r\n set expireInMinutes(value: number) {\r\n this._expireInMinutes = value;\r\n }\r\n\r\n ticked: Subject;\r\n expired: Subject;\r\n\r\n private _name: string;\r\n private _startedAt: DateTime;\r\n private _isExpired: boolean = false;\r\n private _interval: NodeJS.Timeout;\r\n private _expireInMinutes: number;\r\n\r\n\r\n private _restartTimerAfterExpired: boolean = false\r\n\r\n constructor(name: string, expireInMinutes: number, restartTimerAfterExpired: boolean = false) {\r\n this._name = name;\r\n this.ticked = new Subject();\r\n this.expired = new Subject();\r\n this._restartTimerAfterExpired = restartTimerAfterExpired;\r\n this._expireInMinutes = expireInMinutes;\r\n }\r\n\r\n start = () => {\r\n let totalSecondsToExpiration = (this._expireInMinutes * 60);\r\n let counter = totalSecondsToExpiration;\r\n const self = this;\r\n this._startedAt = DateTime.fromJSDate(new Date());\r\n const intervalForTimer: NodeJS.Timeout = setInterval(() => {\r\n counter--;\r\n self.ticked.next(totalSecondsToExpiration - counter);\r\n if (counter <= 0) {\r\n self.expired.next(null);\r\n self._isExpired = true;\r\n if (!self._restartTimerAfterExpired) {\r\n self.stop();\r\n } else {\r\n self._isExpired = false;\r\n counter = totalSecondsToExpiration;\r\n }\r\n }\r\n }, 1000);\r\n this._interval = intervalForTimer;\r\n }\r\n\r\n stop = () => {\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n }\r\n }\r\n\r\n}\r\n\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { TurboInsuranceGetQuoteRequest } from '../models/turbo-insurance/get-quote-request.model';\r\nimport { TurboInsuranceOrder } from '../models/turbo-insurance/turbo-insurance-order.model';\r\nimport { TurboInsuranceChooseQuoteRequest } from '../models/turbo-insurance/turbo-insurance-choose-quote-request.model';\r\n\r\n@Injectable()\r\nexport class TurboInsuranceService {\r\n\r\n constructor(private readonly _dataService: DataService) {\r\n }\r\n\r\n public createQuoteRequest = (applicationId: number): Observable => {\r\n const url = `api/turbo-insurance/create-quote-request/${applicationId}`;\r\n return this._dataService.get(url);\r\n }\r\n\r\n public saveQuoteRequest = (applicationId: number, quoteRequest: TurboInsuranceGetQuoteRequest): Observable => {\r\n const url = `api/turbo-insurance/save-quote-request/${applicationId}`;\r\n return this._dataService.post(url, quoteRequest);\r\n }\r\n\r\n public getQuotes = (applicationId: number): Observable => {\r\n const url = `api/turbo-insurance/get-quote-with-wait/${applicationId}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public getQuotesForTask = (loanDocTaskId: number, withWebhook: boolean = true): Observable => {\r\n const url = `api/turbo-insurance/get-quotes-for-task/${loanDocTaskId}?withWebhook= ${withWebhook}`;\r\n return this._dataService.post(url, {});\r\n }\r\n\r\n public chooseQuote = (applicationId: number, quoteId?: string, loanDocTaskId?: number): Observable => {\r\n let queryParams = [];\r\n\r\n if (quoteId) {\r\n queryParams.push(\"quoteId=\" + quoteId);\r\n }\r\n\r\n if (loanDocTaskId) {\r\n queryParams.push(\"loanDocTaskId=\" + loanDocTaskId);\r\n }\r\n const url = `api/turbo-insurance/choose-quote/${applicationId}${queryParams.length > 0 ? '?' + queryParams.join(\"&\") : ''}`;\r\n return this._dataService.post(url, {});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Company } from '../models/company-model';\r\nimport { Profile } from '../models/profile.model';\r\nimport { UserData } from '../models/user/user-data.model';\r\nimport { UserPermissions } from '../models/user/user-permissions.model';\r\nimport { DataService } from './data.service';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n constructor(private readonly _dataService: DataService) { }\r\n\r\n getLoggedInUserData = (): Observable => {\r\n return this._dataService.get('api/auth/userdata').pipe(\r\n map((user) => {\r\n if (user.avatar === 'content/img/avatars/male.png') {\r\n user.avatar = 'assets/images/male.png';\r\n }\r\n return user;\r\n })\r\n );\r\n };\r\n\r\n getProfile = (userId: string): Observable => {\r\n return this._dataService.get(`api/admin/profile/${userId}`);\r\n };\r\n\r\n getUserCompany = (userName: string): Observable> => {\r\n return this._dataService.post(\r\n `api/auth/AllCompanyForUserName?username=${encodeURIComponent(\r\n userName\r\n )}`,\r\n {}\r\n );\r\n };\r\n\r\ngetUserPermissions = (): Observable => {\r\n return this._dataService.get('api/admin/permissionMenu');\r\n };\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Address } from \"../models/address-model\";\r\nimport { Borrower } from \"../models/borrower-model\";\r\nimport { IHaveName } from \"../models/have-name.interface\";\r\nimport { ResidencyAddress } from \"../models/residency-address.model\";\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n\r\n private _presentAddressType: string = \"PresentAddress\";\r\n\r\n constructor() {\r\n }\r\n\r\n getUrlParameter = (name: string): string => {\r\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\r\n var decodedUrl = decodeURIComponent(location.search);\r\n var results = regex.exec(decodedUrl);\r\n return results === null ? '' : decodeURIComponent(results[1]);//.replace(/\\+/g, ' '));\r\n }\r\n\r\n generateUniqueNumericId = (): number => {\r\n const uniqueId = Date.now() & 0xffffffff;\r\n return uniqueId < 0 ? uniqueId : (uniqueId * -1);\r\n }\r\n\r\n getLastUrlSegment = (): string => {\r\n const urlWithoutQueryString = location.href.split('?')[0];\r\n return urlWithoutQueryString.substring(urlWithoutQueryString.lastIndexOf('/') + 1);\r\n }\r\n\r\n getBaseUrl = (): string => {\r\n const parts = window.location.pathname.split('/');\r\n if (parts.length) {\r\n return parts[1];\r\n }\r\n return window.location.pathname;\r\n }\r\n\r\n getCurrentResidencyAddress = (borrower: Borrower): ResidencyAddress => {\r\n return borrower.residencyAddresses.find(i => i.residencyType == this._presentAddressType)!\r\n }\r\n\r\n getCurrentAddress = (borrower: Borrower): Address => {\r\n return borrower.residencyAddresses.find(i => i.residencyType == this._presentAddressType)!.address!;\r\n }\r\n\r\n setCurrentAddress = (borrower: Borrower, address: Address): void => {\r\n borrower.residencyAddresses.find(i => i.residencyType == this._presentAddressType)!.address! = address;\r\n }\r\n\r\n getCurrentAddressStreetName = (borrower: Borrower): string => {\r\n if (borrower.residencyAddresses) {\r\n const currentAddress = borrower.residencyAddresses.find(i => i.residencyType == this._presentAddressType);\r\n if (currentAddress && currentAddress.address && currentAddress.address.address1) {\r\n return currentAddress.address.address1;\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n getPersonsFullName = (person: IHaveName): string => {\r\n if (!person) return \"\";\r\n\r\n let fullName = \"\";\r\n if (person.firstName) {\r\n fullName = person.firstName;\r\n }\r\n if (person.lastName) {\r\n if (fullName) {\r\n fullName = fullName + \" \" + person.lastName;\r\n } else {\r\n fullName = person.lastName;\r\n }\r\n }\r\n return fullName;\r\n }\r\n\r\n formatPhoneNumber = (phoneNumberString: string): string => {\r\n var cleaned = ('' + phoneNumberString).replace(/\\D/g, '');\r\n var match = cleaned.match(/^(\\d{3})(\\d{3})(\\d{4})$/);\r\n if (match) {\r\n return '(' + match[1] + ') ' + match[2] + '-' + match[3];\r\n }\r\n return phoneNumberString;\r\n }\r\n\r\n setZoom = (zoom: number, el: any): void => {\r\n const transformOrigin = [0, 0];\r\n var p = [\"webkit\", \"moz\", \"ms\", \"o\"],\r\n s = \"scale(\" + zoom + \")\",\r\n oString = (transformOrigin[0] * 100) + \"% \" + (transformOrigin[1] * 100) + \"%\";\r\n\r\n for (var i = 0; i < p.length; i++) {\r\n el.style[p[i] + \"Transform\"] = s;\r\n el.style[p[i] + \"TransformOrigin\"] = oString;\r\n }\r\n\r\n el.style[\"transform\"] = s;\r\n el.style[\"transformOrigin\"] = oString;\r\n }\r\n\r\n injectJavaScriptAsCode = (script: string) => {\r\n const scriptElement = document.createElement('script');\r\n scriptElement.innerHTML = script;\r\n document.head.appendChild(scriptElement);\r\n }\r\n\r\n injectJavaScriptAsLink(source: string, isAsync: boolean, defer: boolean, id: string) {\r\n let scriptLinkElement = document.createElement(\"script\");\r\n scriptLinkElement.type = \"text/javascript\";\r\n scriptLinkElement.async = isAsync;\r\n scriptLinkElement.defer = defer;\r\n scriptLinkElement.src = source;\r\n scriptLinkElement.id = id;\r\n document.head.appendChild(scriptLinkElement);\r\n }\r\n\r\n injectNoScriptPixelTracker = (source: string) => {\r\n const noscriptElement = document.createElement('noscript');\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.width = 1;\r\n imgElement.height = 1;\r\n imgElement.style.display = \"none\";\r\n imgElement.src = source;\r\n noscriptElement.appendChild(imgElement);\r\n document.head.appendChild(noscriptElement);\r\n }\r\n\r\n parseJwt = (token: string): any => {\r\n let base64Url = token.split('.')[1];\r\n let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n let jsonPayload = decodeURIComponent(atob(base64).split('').map((c) => {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n }\r\n\r\n getTokenExpireDate = (exp: number) => {\r\n let expiresDate = new Date(0);\r\n expiresDate.setUTCMilliseconds(exp * 1000);\r\n\r\n return expiresDate;\r\n }\r\n\r\n formatISODate = (dateString: string) => {\r\n const date = new Date(dateString);\r\n let month: number | string = date.getUTCMonth() + 1;\r\n if (month < 10) {\r\n month = '0' + month;\r\n }\r\n let day: number | string = date.getUTCDate();\r\n if (day < 10) {\r\n day = '0' + day;\r\n }\r\n return date.getUTCFullYear() + \"-\" + month + \"-\" + day + \"T00:00:00.00Z\";\r\n }\r\n\r\n fromISOFormatToLocal = (dateString: string): string => {\r\n const dateToFormat = new Date(dateString);\r\n let month: number | string = dateToFormat.getUTCMonth() + 1;\r\n let day: number | string = dateToFormat.getUTCDate();\r\n let year = dateToFormat.getUTCFullYear();\r\n\r\n if (month < 10) {\r\n month = '0' + month;\r\n }\r\n if (day < 10) {\r\n day = '0' + day;\r\n }\r\n return month + '/' + day + '/' + year;\r\n }\r\n\r\n containsDigit = (value: string): boolean => {\r\n return /\\d/.test(value);\r\n }\r\n}\r\n","export class Utils {\r\n\r\n static containsDigit = (value: string): boolean => {\r\n const regexp = /[0-9]/g;\r\n return regexp.test(value);\r\n };\r\n\r\n static containsUppercase = (value: string): boolean => {\r\n const regexp = /[A-Z]/g;\r\n return regexp.test(value);\r\n };\r\n\r\n static containsLowercase = (value: string): boolean => {\r\n const regexp = /[a-z]/g;\r\n return regexp.test(value);\r\n };\r\n\r\n static containsSpecialCharacter = (value: string): boolean => {\r\n const regexp = /[^a-zA-Z0-9]/g;\r\n return regexp.test(value);\r\n }\r\n\r\n static removeCountryCodeIfAny = (phoneNumber: string): string => {\r\n if (phoneNumber && phoneNumber.length > 10 && phoneNumber.startsWith(\"1\")) {\r\n return phoneNumber.substring(phoneNumber.length - 10);\r\n }\r\n return phoneNumber;\r\n }\r\n\r\n static getUniqueId = () => {\r\n const uniqueId = Date.now() & 0xffffffff;\r\n return uniqueId < 0 ? uniqueId : uniqueId * -1;\r\n }\r\n}\r\n\r\ndeclare const google: any;\r\n\r\nexport function load_map_and_street_view_from_address(address) {\r\n // Check if GPS has been locally cached.\r\n var geocoder = new google.maps.Geocoder();\r\n var directionsService = new google.maps.DirectionsService();\r\n geocoder.geocode({\r\n 'address': address\r\n }, function(results, status) {\r\n if (status == google.maps.GeocoderStatus.OK) {\r\n\r\n var gps = results[0].geometry.location;\r\n // create_map_and_streetview(gps.lat(), gps.lng(), 'map_canvas', 'pano');\r\n\r\n var request = {\r\n origin: address,\r\n destination: address,\r\n travelMode: google.maps.TravelMode.DRIVING\r\n };\r\n directionsService.route(request, function(response, status) {\r\n if (status == google.maps.DirectionsStatus.OK) {\r\n var cameraLatLng = response.routes[0].legs[0].steps[0].start_location;\r\n create_map_and_streetview(gps, cameraLatLng, 'pano');\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\nexport function create_map_and_streetview(addLatLng, panoLatLng, street_view_id) {\r\n\r\n var panorama = new google.maps.StreetViewPanorama(document.getElementById(street_view_id));\r\n var service = new google.maps.StreetViewService();\r\n service.getPanoramaByLocation(panoLatLng, 50, function(panoData, status) {\r\n if (status != google.maps.StreetViewStatus.OK) {\r\n // $('#pano').html('No StreetView Picture Available').attr('style', 'text-align:center;font-weight:bold').show();\r\n return;\r\n }\r\n var angle = google.maps.geometry.spherical.computeHeading(panoData.location.latLng, addLatLng);\r\n document.getElementById('angle').innerHTML = angle.toString();\r\n var panoOptions = {\r\n position: panoLatLng,\r\n pov: {\r\n heading: angle,\r\n pitch: 0,\r\n zoom: 1\r\n },\r\n enableCloseButton: false,\r\n visible: true\r\n };\r\n\r\n panorama.setOptions(panoOptions);\r\n });\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { WizardFlowServiceBase } from \"./wizard-flow-service.base\";\r\n\r\n@Injectable()\r\nexport class BrowserNavigationDeactivateGuard implements CanDeactivate {\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase) {}\r\n canDeactivate(component: any) {\r\n // will prevent user from going back\r\n if (this._wizardFlowService.browserBackOrForwardClicked) {\r\n this._wizardFlowService.browserBackOrForwardClicked = false;\r\n // push current state again to prevent further attempts.\r\n history.pushState('', '', location.href);\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n\r\n","\r\nimport { WizardFlowContext } from \"../../../models/wizard-flow-context.model\";\r\nimport { StepExpression } from \"../../../models/wizard/step-expression.model\";\r\nimport { ContextExtractor } from \"../../context-extractor\";\r\nimport { IDecideNextStep } from \"./next-step-decider.interface\";\r\n\r\ndeclare var require: any\r\n\r\nexport class ExpressionNextStepDecider implements IDecideNextStep {\r\n\r\n private readonly _ifStepExpression: StepExpression;\r\n private readonly _elseIfStepExpressions: StepExpression[] | undefined = [];\r\n private readonly _elseStepPath: string | undefined;\r\n\r\n private _wizardFlowContext: WizardFlowContext;\r\n\r\n constructor(wizardFlowContext: WizardFlowContext,\r\n ifStepExpression: StepExpression, elseIfStepExpressions: StepExpression[] | undefined, elseStepPath: string | undefined) {\r\n this._ifStepExpression = ifStepExpression;\r\n this._elseIfStepExpressions = elseIfStepExpressions;\r\n this._elseStepPath = elseStepPath;\r\n this._wizardFlowContext = wizardFlowContext;\r\n }\r\n\r\n nextStepPath = (): string | undefined => {\r\n const context = ContextExtractor.prepareDecisionContext(this._wizardFlowContext);\r\n var expressions = require(\"angular-expressions\");\r\n\r\n const ifCondition = expressions.compile(this._ifStepExpression.ifCondition);\r\n\r\n if (ifCondition(context)) {\r\n return this._ifStepExpression.goToPath;\r\n }\r\n if (this._elseIfStepExpressions) {\r\n for (let elseIf of this._elseIfStepExpressions) {\r\n let elseIfCondition = expressions.compile(elseIf.ifCondition);\r\n if (elseIfCondition(context)) {\r\n return elseIf.goToPath;\r\n }\r\n }\r\n }\r\n if (this._elseStepPath)\r\n return this._elseStepPath;\r\n return undefined\r\n }\r\n\r\n private isFunction = (functionToCheck: any) => {\r\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\r\n }\r\n}\r\n\r\n\r\n","import { IDecideNextStep } from \"./next-step-decider.interface\";\r\n\r\nexport class SimpleNextStepDecider implements IDecideNextStep {\r\n\r\n private readonly _nextStepPath: string;\r\n\r\n constructor(nextStepPath: string) {\r\n this._nextStepPath = nextStepPath;\r\n }\r\n\r\n nextStepPath = (): string => {\r\n return this._nextStepPath;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { FlowType } from \"../../models/wizard/config/flow-type.enum\";\r\nimport { StepConfig } from \"../../models/wizard/config/step-config.model\";\r\nimport { WizardFlowConfigs } from \"../../models/wizard/config/wizard-flow-config.model\";\r\nimport { WizardStepBase } from \"../../models/wizard/wizard-step-base.model\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport abstract class WizardFlowConfigServiceBase {\r\n\r\n abstract get flowConfigs(): WizardFlowConfigs;\r\n\r\n abstract get defaultFlowConfigs(): WizardFlowConfigs;\r\n\r\n abstract configureFlows(flowGuid: string | undefined, useCompanyDefaultIfAny: boolean): Observable | undefined;\r\n\r\n abstract getConfig(flowType: FlowType, step: WizardStepBase): StepConfig | undefined;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { WizardGroupEnum } from '../../models/enums/wizard-group-enum';\r\nimport { Flow } from '../../models/flow.model';\r\nimport { AddressFields } from '../../models/wizard/address-fields.model';\r\nimport { AddressStepConfig } from '../../models/wizard/config/address-step-config.model';\r\nimport { ChecklistsStepConfig } from '../../models/wizard/config/checklists-step-config.model';\r\nimport { ContextType } from '../../models/wizard/config/context-type.enum';\r\nimport { CreateAccountStepConfig } from '../../models/wizard/config/create-account-step-config.model';\r\nimport { CreditScoresStepConfig } from '../../models/wizard/config/credit-scores-step.config.model';\r\nimport { ExpressionNextStepDeciderConfig } from '../../models/wizard/config/expression-next-step-decider-config.model';\r\nimport { FieldConfigUtils } from '../../models/wizard/config/field-config-utils';\r\nimport { FlowType } from '../../models/wizard/config/flow-type.enum';\r\nimport { GenericStepConfig } from '../../models/wizard/generic-step-config.model';\r\nimport { MyInfoStepConfig } from '../../models/wizard/config/my-info-step-config.model';\r\nimport { NavigationType } from '../../models/wizard/config/nav-type.enum';\r\nimport { SimpleNextStepDeciderConfig } from '../../models/wizard/config/simple-next-step-decider-config.model';\r\nimport { SingleChoiceQuestionStepConfig } from '../../models/wizard/config/single-choice-question-step-config.model';\r\nimport { StepConfig } from '../../models/wizard/config/step-config.model';\r\nimport { StepType } from '../../models/wizard/config/step-type.enum';\r\nimport { WizardFlowConfig, WizardFlowConfigs } from '../../models/wizard/config/wizard-flow-config.model';\r\nimport { Option } from '../../models/wizard/option.model';\r\nimport { SingleChoiceQuestion } from '../../models/wizard/single-choice-question.model';\r\nimport { StepExpression } from '../../models/wizard/step-expression.model';\r\nimport { WizardStepBase } from '../../models/wizard/wizard-step-base.model';\r\nimport { Constants } from '../constants';\r\nimport { DataService } from '../data.service';\r\nimport { FlowBuilderService } from '../flow-builder.service';\r\nimport { UtilsService } from '../utils.service';\r\nimport { WizardFlowConfigServiceBase } from './wizard-flow-config-service.base';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { OptionsProviderTypes } from '../../models/wizard/config/options-providers/options-provider.factory';\r\n\r\n@Injectable()\r\nexport class WizardFlowConfigService extends WizardFlowConfigServiceBase {\r\n\r\n private _wizardFlowConfigs!: WizardFlowConfigs;\r\n\r\n private _defaultFlowConfigs!: WizardFlowConfigs;\r\n\r\n constructor(private readonly _utilsService: UtilsService,\r\n private readonly _dataService: DataService,\r\n private readonly _flowBuilderService: FlowBuilderService) {\r\n super();\r\n }\r\n\r\n public get flowConfigs(): WizardFlowConfigs {\r\n return this._wizardFlowConfigs;\r\n }\r\n\r\n public get defaultFlowConfigs(): WizardFlowConfigs {\r\n if (!this._defaultFlowConfigs) {\r\n this.generateDefaultFlows();\r\n }\r\n return this._defaultFlowConfigs;\r\n }\r\n\r\n getConfig = (flowType: FlowType, step: WizardStepBase): StepConfig | undefined => {\r\n let flowToSearchStepIn = this._wizardFlowConfigs.registrationFlowConfig;\r\n const flowTypeToLookFor = Number(flowType);\r\n switch (flowTypeToLookFor) {\r\n case FlowType.Apply:\r\n flowToSearchStepIn = this._wizardFlowConfigs.applicationFlowConfig;\r\n break;\r\n case FlowType.CoApply:\r\n flowToSearchStepIn = this._wizardFlowConfigs.coApplicationFlowConfig;\r\n break;\r\n }\r\n\r\n let config = flowToSearchStepIn.steps.find(c => c.path === step.path);\r\n return config;\r\n }\r\n\r\n public configureFlows = (flowGuid: string | undefined, useCompanyDefaultIfAny: boolean): Observable | undefined => {\r\n // Here - make a call into the flow builder API to get the flow config from the server.\r\n // If there is none, use the default one, and then save it.\r\n if (flowGuid && flowGuid.length > 0) {\r\n return this._flowBuilderService.getFlow(flowGuid).pipe(\r\n switchMap((flow: Flow) => {\r\n if (flow) {\r\n this.generateFlowConfigs(flow);\r\n return of(this._wizardFlowConfigs);\r\n } else {\r\n return this.configureDefaultFlows(useCompanyDefaultIfAny);\r\n }\r\n }), catchError((error) => this.configureDefaultFlows(useCompanyDefaultIfAny)));\r\n }\r\n return this.configureDefaultFlows(useCompanyDefaultIfAny);\r\n }\r\n\r\n private configureDefaultFlows = (useCompanyDefaultIfAny: boolean): Observable | undefined => {\r\n const companyGuid = this._utilsService.getUrlParameter(Constants.companyGuid);\r\n if (companyGuid && useCompanyDefaultIfAny) {\r\n return this._dataService.getWithoutAuth('api/flow-builder/default-by-company-guid/' + companyGuid).pipe(map(result => {\r\n if (result) {\r\n this.generateFlowConfigs(result);\r\n return this._wizardFlowConfigs;\r\n } else {\r\n this._wizardFlowConfigs = this.generateDefaultFlows();\r\n return this._wizardFlowConfigs;\r\n }\r\n }, error => {\r\n this._wizardFlowConfigs = this.generateDefaultFlows();\r\n return this._wizardFlowConfigs;\r\n }));\r\n }\r\n this._wizardFlowConfigs = this.generateDefaultFlows();\r\n return of(this._wizardFlowConfigs);\r\n }\r\n\r\n private generateDefaultFlows = (): WizardFlowConfigs => {\r\n if (this._defaultFlowConfigs) {\r\n return this._defaultFlowConfigs;\r\n }\r\n let registrationFlowConfig = this.generateDefaultRegistrationFlowConfig();\r\n let applicationFlowConfig = this.generateDefaultApplicationFlowConfig();\r\n let coApplicationFlowConfig = this.generateDefaultCoApplicationFlowConfig();\r\n let wizardFlowConfigs = new WizardFlowConfigs(applicationFlowConfig, coApplicationFlowConfig, registrationFlowConfig);\r\n wizardFlowConfigs.isDefault = true;\r\n wizardFlowConfigs.userCreationAutoConfirmed = false;\r\n wizardFlowConfigs.navigationType = NavigationType.Horizontal;\r\n this._defaultFlowConfigs = wizardFlowConfigs;\r\n return wizardFlowConfigs;\r\n }\r\n\r\n private generateDefaultCoApplicationFlowConfig = (): WizardFlowConfig => {\r\n let coApplyFlowConfig = new WizardFlowConfig();\r\n coApplyFlowConfig.isDefault = true;\r\n\r\n /* Begin - My Info */\r\n const myInfoStepNextStepDeciderConfig = new SimpleNextStepDeciderConfig(Constants.stepPaths.address);\r\n const myInfoStepConfig = new MyInfoStepConfig('6', 'My info', Constants.stepPaths.myInfo, WizardGroupEnum.MyInfo,\r\n myInfoStepNextStepDeciderConfig);\r\n myInfoStepConfig.title = 'Tell us a little more about yourself.';\r\n myInfoStepConfig.configuresCoborrowers = false;\r\n myInfoStepConfig.configuresAddressHistory = false;\r\n coApplyFlowConfig.steps.push(myInfoStepConfig);\r\n /* End - My Info */\r\n\r\n /* Begin - Current Address */\r\n const currentAddressStepConfig = new GenericStepConfig('10', 'Current Address', Constants.stepPaths.address, WizardGroupEnum.MyInfo,\r\n StepType.CurrentAddressStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.ownershipStatus));\r\n currentAddressStepConfig.title = 'What is your current address?';\r\n coApplyFlowConfig.steps.push(currentAddressStepConfig);\r\n /* End - Current Address */\r\n\r\n /* Begin - Own Rent */\r\n const ownRentStepConfig = new GenericStepConfig('11', 'Own, Rent or Live Rent Free', Constants.stepPaths.ownershipStatus, WizardGroupEnum.MyInfo,\r\n StepType.OwnershipStatusStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.addressHistory));\r\n ownRentStepConfig.heading = 'Do you...';\r\n coApplyFlowConfig.steps.push(ownRentStepConfig);\r\n /* End - Own Rent */\r\n\r\n /* Begin - Address History */\r\n const addressHistoryStepConfig = new GenericStepConfig('12', 'Address History', Constants.stepPaths.addressHistory, WizardGroupEnum.MyInfo,\r\n StepType.AddressHistoryStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.manualOrDigitalEmploymentAndIncomeChoice));\r\n addressHistoryStepConfig.explanation = 'Please provide at least 2 years of address history';\r\n let addressHistoryStepFieldConfig: any = FieldConfigUtils.generateAddressHistoryStepFieldConfig();\r\n addressHistoryStepConfig.fieldConfig = addressHistoryStepFieldConfig;\r\n coApplyFlowConfig.steps.push(addressHistoryStepConfig);\r\n /* End - Address History */\r\n\r\n /* Begin - Choose digital or manual employment-income step */\r\n const digialEmploymentAndIncomeOption = new Option('digital', 'Digitally', 'Securely verify your income electronically, eliminating the need for paper copies',\r\n '1', 'laptop-svg-icon');\r\n const manualEmploymentAndIncomeOption = new Option('manual', 'Manually', 'Manually enter any employment and income information and provide paper statements later',\r\n '2', 'clipboard-svg-icon');\r\n const employmentAndIncomeQuestion = new SingleChoiceQuestion('', '', [digialEmploymentAndIncomeOption, manualEmploymentAndIncomeOption]);\r\n const employmentAndIncomeStepConfig = new SingleChoiceQuestionStepConfig('14', 'Employment and Income', Constants.stepPaths.manualOrDigitalEmploymentAndIncomeChoice,\r\n WizardGroupEnum.MyFinances,\r\n ContextType.CustomerPreferences,\r\n employmentAndIncomeQuestion,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.gatherEmploymentAndIncomeDigitally == 2', Constants.stepPaths.manualIncomeAndEmployment), [], Constants.stepPaths.digitalIncomeAndEmployment,\r\n ));\r\n employmentAndIncomeStepConfig.fieldToSetWithAnswer = 'gatherEmploymentAndIncomeDigitally';\r\n employmentAndIncomeStepConfig.title = 'Tell us about your employment and income';\r\n employmentAndIncomeStepConfig.explanation = 'Select how you want to tell us about your employment and income';\r\n coApplyFlowConfig.steps.push(employmentAndIncomeStepConfig);\r\n /* End - Configure digital employment/income verification step */\r\n\r\n /* Begin - Configure income step */\r\n const incomeStepConfig = new GenericStepConfig('15', 'Income', Constants.stepPaths.manualIncomeAndEmployment, WizardGroupEnum.MyFinances, StepType.ManualIncomeAndEmploymentStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.manualOrDigitalAssetChoice));\r\n incomeStepConfig.title = 'Tell us about your Income/Employment history.';\r\n incomeStepConfig.explanation = 'Please specify what type of income you have by adding all that apply';\r\n let incomeStepFieldConfig: any = FieldConfigUtils.generateIncomeStepFieldConfig();\r\n incomeStepConfig.fieldConfig = incomeStepFieldConfig;\r\n coApplyFlowConfig.steps.push(incomeStepConfig);\r\n /* End - Configure income step */\r\n\r\n /* Begin - Configure digital employment/income verification step */\r\n const digitalEmploymentIncomeStepConfig = new GenericStepConfig('16', 'Digital Income', Constants.stepPaths.digitalIncomeAndEmployment, WizardGroupEnum.MyFinances,\r\n StepType.DigitalIncomeAndEmploymentStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.manualIncomeAndEmployment));\r\n digitalEmploymentIncomeStepConfig.title = 'Digital Income and Employment Verification';\r\n digitalEmploymentIncomeStepConfig.explanation = 'Securely gathering digital assets eliminates the need to track down paper statements.';\r\n coApplyFlowConfig.steps.push(digitalEmploymentIncomeStepConfig);\r\n /* End - Configure digital employment/income verification step */\r\n\r\n /* Begin - Choose digital or manual asset step */\r\n const digitalAssetOption = new Option('digital', 'Digitally', 'Securely gather your bank statements electronically, eliminating the need for paper copies',\r\n '1', 'laptop-svg-icon');\r\n const manualAssetOption = new Option('manual', 'Manually', 'Manually enter any asset information and provide paper statements later',\r\n '2', 'clipboard-svg-icon');\r\n const assetQuestion = new SingleChoiceQuestion('', '', [digitalAssetOption, manualAssetOption]);\r\n const assetManualOrDigitalStepConfig = new SingleChoiceQuestionStepConfig('17', 'Asset Manual or Digital', Constants.stepPaths.manualOrDigitalAssetChoice,\r\n WizardGroupEnum.MyFinances, ContextType.CustomerPreferences, assetQuestion,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.gatherAssetsDigitally == 2', Constants.stepPaths.manualAssets), [], Constants.stepPaths.digitalAssets,\r\n ));\r\n assetManualOrDigitalStepConfig.fieldToSetWithAnswer = 'gatherAssetsDigitally';\r\n assetManualOrDigitalStepConfig.title = 'Tell us about your assets';\r\n assetManualOrDigitalStepConfig.explanation = 'Select how you want to tell us about your assets';\r\n coApplyFlowConfig.steps.push(assetManualOrDigitalStepConfig);\r\n /* End - Choose digital or manual asset step */\r\n\r\n /* Begin - Digital assets step */\r\n const digitalAssetsStepConfig = new GenericStepConfig('18', 'Digital Assets', Constants.stepPaths.digitalAssets, WizardGroupEnum.MyFinances,\r\n StepType.DigitalAssetsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reo));\r\n digitalAssetsStepConfig.title = 'Digital Assets';\r\n digitalAssetsStepConfig.explanation = 'Securely gathering digital assets eliminates the need to track down paper statements.' +\r\n 'Search for your financial institution and connect with them the same way you do when you visit them on the web.';\r\n coApplyFlowConfig.steps.push(digitalAssetsStepConfig);\r\n /* End - Digital assets step */\r\n\r\n /* Begin - Configure assets step */\r\n const assetsStepConfig = new GenericStepConfig('19', 'Assets', Constants.stepPaths.manualAssets, WizardGroupEnum.MyFinances,\r\n StepType.ManualAssetsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reo));\r\n assetsStepConfig.title = 'Now, we need to collect some Asset details.';\r\n assetsStepConfig.explanation = 'Click Add below, choose an asset type and enter the amount for the asset. Please note, we will need to verify enough assets to cover any funds you will need during this transaction.';\r\n let assetsStepFieldConfig: any = FieldConfigUtils.generateAssetsStepFieldConfig();\r\n assetsStepConfig.fieldConfig = assetsStepFieldConfig;\r\n coApplyFlowConfig.steps.push(assetsStepConfig);\r\n /* End - Configure assets step */\r\n\r\n /* Begin - Configure REO step */\r\n const reoStepConfig = new GenericStepConfig('20', 'Real Estate Owned', Constants.stepPaths.reo, WizardGroupEnum.MyFinances,\r\n StepType.ReoStep,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('!skipCreditCheck', Constants.stepPaths.verifyCredit), [],\r\n Constants.stepPaths.loanInfo));\r\n reoStepConfig.title = 'Real Estate Information.';\r\n reoStepConfig.explanation = 'If you currently own any home or other type of real estate, please enter it below. If you don\\'t own any real estate, just continue.';\r\n let reoStepFieldConfig: any = FieldConfigUtils.generateReoStepFieldConfig();\r\n reoStepConfig.fieldConfig = reoStepFieldConfig;\r\n coApplyFlowConfig.steps.push(reoStepConfig);\r\n /* End - Configure REO step */\r\n\r\n /* Begin - Configure verify credit step */\r\n const verifyCreditStepConfig = new GenericStepConfig('21', 'Verify Credit', Constants.stepPaths.verifyCredit, WizardGroupEnum.MyFinances,\r\n StepType.VerifyCreditStep,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.doNotRunCredit == 0 && !creditRunFailed && !skipAutomatedCreditCheck', Constants.stepPaths.creditScores), [], Constants.stepPaths.declarations));\r\n verifyCreditStepConfig.title = 'Credit Verification';\r\n verifyCreditStepConfig.heading = `Now, we need to review all applicants' credit reports. Please provide the following information: `;\r\n coApplyFlowConfig.steps.push(verifyCreditStepConfig);\r\n /* End - Configure verify credit step */\r\n\r\n /* Begin - Credit scores step */\r\n const nextStepDecider = new ExpressionNextStepDeciderConfig(new StepExpression('mortgage.liabilities.length == 0', Constants.stepPaths.creditInquiry), [], Constants.stepPaths.reviewCredit);\r\n const creditScoresStepConfig = new CreditScoresStepConfig('22', 'Credit Scores', Constants.stepPaths.creditScores, WizardGroupEnum.MyFinances, nextStepDecider);\r\n creditScoresStepConfig.title = 'Here are your credit scores:';\r\n creditScoresStepConfig.useScoreIndicatorIcons = true;\r\n coApplyFlowConfig.steps.push(creditScoresStepConfig);\r\n /* End - Credit scores step */\r\n\r\n /* Begin - Configure review credit step */\r\n const reviewCreditStepConfig = new GenericStepConfig('23', 'Review Credit', Constants.stepPaths.reviewCredit, WizardGroupEnum.MyFinances, StepType.ReviewCreditStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.creditInquiry));\r\n reviewCreditStepConfig.title = 'Congratulations!! We were able to retrieve your credit report. ';\r\n reviewCreditStepConfig.heading = 'Please link your Mortgage Liabilities to the Real Estate owned.';\r\n coApplyFlowConfig.steps.push(reviewCreditStepConfig);\r\n /* End - Configure verify credit step */\r\n\r\n /* Begin - Configure Credit Inquiry Step */\r\n const creditInquiryStepConfig = new GenericStepConfig('24', 'Credit Inquiry', Constants.stepPaths.creditInquiry, WizardGroupEnum.MyFinances,\r\n StepType.CreditInquiryStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.hoi));\r\n creditInquiryStepConfig.title = 'Credit Inquiries';\r\n //const numberOfCreditInquiries = 10; // this._mortgageApplicationService.getInquiryCount(this._mortgageApplication);\r\n creditInquiryStepConfig.heading = 'Based on the credit report, here are the credit inquires in the past 120 days. ' +\r\n ' Please select an option for each inquiry below, and if any new debt was acquired.';\r\n coApplyFlowConfig.steps.push(creditInquiryStepConfig);\r\n /* End - Configure Credit Inquiry Step */\r\n\r\n /* Begin - Configure HOI step */\r\n const hoiStepConfig = new GenericStepConfig('34', \"Home Owner's Insurance\", Constants.stepPaths.hoi, WizardGroupEnum.PropertyAndLoan,\r\n StepType.HoiStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.declarations));\r\n hoiStepConfig.title = \"Let's review your homeowner's insurance needs\";\r\n hoiStepConfig.heading = ``;\r\n coApplyFlowConfig.steps.push(hoiStepConfig);\r\n /* End - Configure HOI step */\r\n\r\n /* Begin - Configure Declarations step */\r\n const declarationsStepConfig = new GenericStepConfig('26', 'Declarations', Constants.stepPaths.declarations, WizardGroupEnum.Declarations,\r\n StepType.DeclarationsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.militaryService));\r\n declarationsStepConfig.title = 'Declarations';\r\n declarationsStepConfig.explanation = 'Government Declaration and Monitoring Questions';\r\n coApplyFlowConfig.steps.push(declarationsStepConfig);\r\n /* End - Configure Declarations step */\r\n\r\n /* Begin - Configure Military Service step */\r\n const militaryServiceStepConfig = new GenericStepConfig('33', 'Military Service', Constants.stepPaths.militaryService, WizardGroupEnum.Declarations,\r\n StepType.MilitaryServiceStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.demographics));\r\n militaryServiceStepConfig.title = 'Military Service';\r\n militaryServiceStepConfig.explanation = 'Please provide the following information as it pertains to military service. This will help us better understand which products you might qualify for.';\r\n coApplyFlowConfig.steps.push(militaryServiceStepConfig);\r\n /* End - Configure Military Service step */\r\n\r\n /* Begin - Configure Demographics step */\r\n const demographicsStepConfig = new GenericStepConfig('27', 'Demograghics', Constants.stepPaths.demographics, WizardGroupEnum.Declarations,\r\n StepType.DemographicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.loanCharacteristics));\r\n demographicsStepConfig.title = 'Demographics';\r\n demographicsStepConfig.explanation = 'What is your demographic information? ' +\r\n 'You do not have to provide this information, but we are required by the Federal Government to ask.';\r\n coApplyFlowConfig.steps.push(demographicsStepConfig);\r\n /* End - Configure Demographics step */\r\n\r\n /* Begin - Configure Loan Characteristics step */\r\n const loanCharacteristicsStepConfig = new GenericStepConfig('31', 'Loan Characteristics', Constants.stepPaths.loanCharacteristics, WizardGroupEnum.Declarations,\r\n StepType.LoanCharacteristicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.borrowerCharacteristics));\r\n loanCharacteristicsStepConfig.title = 'Loan Characteristics';\r\n loanCharacteristicsStepConfig.explanation = \"Now we need to identify some specific items that may require further documentation. Please check all that apply, even if \" +\r\n \"you've already noted these characteristics previously in this application.\";\r\n coApplyFlowConfig.steps.push(loanCharacteristicsStepConfig);\r\n /* End - Configure Loan Characteristics step */\r\n\r\n /* Begin - Configure Borrower Characteristics step */\r\n const borrowerCharacteristicsStepConfig = new GenericStepConfig('32', 'Borrower Characteristics', Constants.stepPaths.borrowerCharacteristics, WizardGroupEnum.Declarations,\r\n StepType.BorrowerCharacteristicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.econsent));\r\n borrowerCharacteristicsStepConfig.title = 'Borrower Characteristics';\r\n borrowerCharacteristicsStepConfig.explanation = \"Now we need to identify some specific items that may require further documentation. \" +\r\n \"Please check all that apply to each borrower, even if you've already noted these characteristics previously in this application.\";\r\n coApplyFlowConfig.steps.push(borrowerCharacteristicsStepConfig);\r\n /* End - Configure Borrower Characteristics step */\r\n\r\n /* Begin - E-consent step */\r\n const consentAuthorizationStepConfig = new GenericStepConfig('28', 'E-Consent Authorization', Constants.stepPaths.econsent,\r\n WizardGroupEnum.Declarations, StepType.EConsentStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reviewApplication));\r\n consentAuthorizationStepConfig.title = 'E-Consent Authorization';\r\n consentAuthorizationStepConfig.explanation = 'Your Consent To Do Business Electronically (The E-Disclosure Agreement)';\r\n coApplyFlowConfig.steps.push(consentAuthorizationStepConfig);\r\n /* End - E-consent step */\r\n\r\n /* Begin - Review application step */\r\n const reviewApplicationStepConfig = new GenericStepConfig('29', 'Review Application', Constants.stepPaths.reviewApplication,\r\n WizardGroupEnum.ReviewAndSubmit,\r\n StepType.ReviewApplicationStep, undefined);\r\n reviewApplicationStepConfig.title = 'Review Application';\r\n reviewApplicationStepConfig.explanation = 'Please review your application and continue.';\r\n coApplyFlowConfig.steps.push(reviewApplicationStepConfig);\r\n /* Begin - Review Application step */\r\n\r\n return coApplyFlowConfig;\r\n }\r\n\r\n private generateDefaultApplicationFlowConfig = (): WizardFlowConfig => {\r\n let applicationFlowConfig = new WizardFlowConfig();\r\n applicationFlowConfig.isDefault = true;\r\n\r\n /* Begin - Pull Existing Application */\r\n // const pullExistingApplicationStepConfig = new GenericStepConfig('39', 'Pull Existing Application',\r\n // Constants.stepPaths.pullExistingApplication, WizardGroupEnum.MyInfo,\r\n // StepType.PullExistingApplicationStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.myInfo));\r\n // pullExistingApplicationStepConfig.title = 'It seems like we might already have your information.';\r\n // pullExistingApplicationStepConfig.explanation = 'Please enter the following info, so we can pull up your existing application.';\r\n // applicationFlowConfig.steps.push(pullExistingApplicationStepConfig);\r\n /* End - Pull Existing Application */\r\n\r\n /* Begin - My Info */\r\n const myInfoStepNextStepDeciderConfig = new SimpleNextStepDeciderConfig(Constants.stepPaths.numberOfBorrowers);\r\n const myInfoStepConfig = new MyInfoStepConfig('6', 'My info', Constants.stepPaths.myInfo, WizardGroupEnum.MyInfo,\r\n myInfoStepNextStepDeciderConfig);\r\n myInfoStepConfig.title = 'Tell us a little more about yourself.';\r\n myInfoStepConfig.configuresCoborrowers = false;\r\n myInfoStepConfig.configuresAddressHistory = false;\r\n applicationFlowConfig.steps.push(myInfoStepConfig);\r\n /* End - My Info */\r\n\r\n /* Begin - Number of Borrowers */\r\n const numberOfBorrowersNextStepDeciderConfig = new ExpressionNextStepDeciderConfig(new StepExpression('mortgage.borrowers.length == 1', Constants.stepPaths.address), [],\r\n Constants.stepPaths.createCoBorrowers);\r\n const numberOfBorrowersStepConfig = new GenericStepConfig('8', 'Number of Borrowers', Constants.stepPaths.numberOfBorrowers, WizardGroupEnum.MyInfo,\r\n StepType.NumberOfBorrowersStep, numberOfBorrowersNextStepDeciderConfig);\r\n numberOfBorrowersStepConfig.title = 'Hi, [borrower.firstName]! Will anyone else be on the loan with you?';\r\n applicationFlowConfig.steps.push(numberOfBorrowersStepConfig);\r\n /* End - Number of Borrowers */\r\n\r\n /* Begin - Create co-borrowers step */\r\n const createCoborrowersStepConfig = new GenericStepConfig('9', 'Create Coborrowers', Constants.stepPaths.createCoBorrowers, WizardGroupEnum.MyInfo,\r\n StepType.CreateCoBorrowersStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.address));\r\n createCoborrowersStepConfig.title = 'Let\\'s gather information about co-borrowers.';\r\n createCoborrowersStepConfig.explanation = 'We will ask for more details about each co-borrower later.';\r\n applicationFlowConfig.steps.push(createCoborrowersStepConfig);\r\n /* End - Create co-borrowers step */\r\n\r\n /* Begin - Current Address */\r\n const currentAddressStepConfig = new GenericStepConfig('10', 'Current Address', Constants.stepPaths.address, WizardGroupEnum.MyInfo,\r\n StepType.CurrentAddressStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.ownershipStatus));\r\n currentAddressStepConfig.title = 'What is your current address?';\r\n applicationFlowConfig.steps.push(currentAddressStepConfig);\r\n /* End - Current Address */\r\n\r\n /* Begin - Own Rent */\r\n const ownRentStepConfig = new GenericStepConfig('11', 'Own, Rent or Live Rent Free', Constants.stepPaths.ownershipStatus, WizardGroupEnum.MyInfo,\r\n StepType.OwnershipStatusStep,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('borrowersThatMainBorrowerIsApplyingFor.length == 0', Constants.stepPaths.addressHistory), [], Constants.stepPaths.multiBorrowerAddressHistory,\r\n ));\r\n ownRentStepConfig.heading = 'Do you...';\r\n applicationFlowConfig.steps.push(ownRentStepConfig);\r\n /* End - Own Rent */\r\n\r\n /* Begin - Address History */\r\n const addressHistoryStepConfig = new GenericStepConfig('12', 'Address History', Constants.stepPaths.addressHistory, WizardGroupEnum.MyInfo,\r\n StepType.AddressHistoryStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.manualOrDigitalEmploymentAndIncomeChoice));\r\n addressHistoryStepConfig.title = \"Now, let's gather some information about your address history.\";\r\n addressHistoryStepConfig.explanation = 'Please provide at least 2 years of address history';\r\n let addressHistoryStepFieldConfig: any = FieldConfigUtils.generateAddressHistoryStepFieldConfig();\r\n addressHistoryStepConfig.fieldConfig = addressHistoryStepFieldConfig;\r\n applicationFlowConfig.steps.push(addressHistoryStepConfig);\r\n /* End - Address History */\r\n\r\n /* Begin - Multiple Borrower Address History */\r\n const multipleBorrowerAddressHistoryStepConfig = new GenericStepConfig('13', 'Multiple Borrower Address History', Constants.stepPaths.multiBorrowerAddressHistory,\r\n WizardGroupEnum.MyInfo, StepType.MultiBorrowersAddressHistoryStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.manualOrDigitalEmploymentAndIncomeChoice));\r\n multipleBorrowerAddressHistoryStepConfig.title = 'Please provide at least 2 years of address history for each borrower.';\r\n applicationFlowConfig.steps.push(multipleBorrowerAddressHistoryStepConfig);\r\n /* End - Multiple Borrower Address History */\r\n\r\n /* Begin - Choose digital or manual employment-income step */\r\n const digialEmploymentAndIncomeOption = new Option('digital', 'Digitally', 'Securely verify your income electronically, eliminating the need for paper copies',\r\n Constants.incomeVerificationOptions.digital, 'laptop-svg-icon');\r\n const manualEmploymentAndIncomeOption = new Option('manual', 'Manually', 'Manually enter any employment and income information and provide paper statements later',\r\n Constants.incomeVerificationOptions.manual, 'clipboard-svg-icon');\r\n const employmentAndIncomeQuestion = new SingleChoiceQuestion('', '', [digialEmploymentAndIncomeOption, manualEmploymentAndIncomeOption]);\r\n const employmentAndIncomeStepConfig = new SingleChoiceQuestionStepConfig('14', 'Employment and Income', Constants.stepPaths.manualOrDigitalEmploymentAndIncomeChoice,\r\n WizardGroupEnum.MyFinances,\r\n ContextType.CustomerPreferences,\r\n employmentAndIncomeQuestion,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.gatherEmploymentAndIncomeDigitally == 2', Constants.stepPaths.manualIncomeAndEmployment), [], Constants.stepPaths.digitalIncomeAndEmployment,\r\n ));\r\n employmentAndIncomeStepConfig.fieldToSetWithAnswer = 'gatherEmploymentAndIncomeDigitally';\r\n employmentAndIncomeStepConfig.title = 'Tell us about your employment and income';\r\n employmentAndIncomeStepConfig.explanation = 'Select how you want to tell us about your employment and income';\r\n applicationFlowConfig.steps.push(employmentAndIncomeStepConfig);\r\n /* End - Configure digital employment/income verification step */\r\n\r\n /* Begin - Configure income step */\r\n const incomeStepConfig = new GenericStepConfig('15', 'Income', Constants.stepPaths.manualIncomeAndEmployment, WizardGroupEnum.MyFinances, StepType.ManualIncomeAndEmploymentStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.manualOrDigitalAssetChoice));\r\n incomeStepConfig.title = 'Tell us about your Income/Employment history.';\r\n incomeStepConfig.explanation = 'Please specify what type of income you have by adding all that apply';\r\n let incomeStepFieldConfig: any = FieldConfigUtils.generateIncomeStepFieldConfig();\r\n incomeStepConfig.fieldConfig = incomeStepFieldConfig;\r\n applicationFlowConfig.steps.push(incomeStepConfig);\r\n /* End - Configure income step */\r\n\r\n /* Begin - Configure digital employment/income verification step */\r\n const digitalEmploymentIncomeStepConfig = new GenericStepConfig('16', 'Digital Income', Constants.stepPaths.digitalIncomeAndEmployment, WizardGroupEnum.MyFinances,\r\n StepType.DigitalIncomeAndEmploymentStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.manualIncomeAndEmployment));\r\n digitalEmploymentIncomeStepConfig.title = 'Digital Income and Employment Verification';\r\n digitalEmploymentIncomeStepConfig.explanation = 'Securely gathering digital assets eliminates the need to track down paper statements.';\r\n applicationFlowConfig.steps.push(digitalEmploymentIncomeStepConfig);\r\n /* End - Configure digital employment/income verification step */\r\n\r\n /* Begin - Choose digital or manual asset step */\r\n const digitalAssetOption = new Option('digital', 'Digitally', 'Securely gather your bank statements electronically, eliminating the need for paper copies',\r\n Constants.assetVerificationOptions.digital, 'laptop-svg-icon');\r\n const manualAssetOption = new Option('manual', 'Manually', 'Manually enter any asset information and provide paper statements later',\r\n Constants.assetVerificationOptions.manual, 'clipboard-svg-icon');\r\n const assetQuestion = new SingleChoiceQuestion('', '', [digitalAssetOption, manualAssetOption]);\r\n const assetManualOrDigitalStepConfig = new SingleChoiceQuestionStepConfig('17', 'Asset Manual or Digital', Constants.stepPaths.manualOrDigitalAssetChoice,\r\n WizardGroupEnum.MyFinances, ContextType.CustomerPreferences, assetQuestion,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.gatherAssetsDigitally == 2', Constants.stepPaths.manualAssets), [], Constants.stepPaths.digitalAssets,\r\n ));\r\n assetManualOrDigitalStepConfig.fieldToSetWithAnswer = 'gatherAssetsDigitally';\r\n assetManualOrDigitalStepConfig.title = 'Tell us about your assets';\r\n assetManualOrDigitalStepConfig.explanation = 'Select how you want to tell us about your assets';\r\n applicationFlowConfig.steps.push(assetManualOrDigitalStepConfig);\r\n /* End - Choose digital or manual asset step */\r\n\r\n /* Begin - Digital assets step */\r\n const digitalAssetsStepConfig = new GenericStepConfig('18', 'Digital Assets', Constants.stepPaths.digitalAssets, WizardGroupEnum.MyFinances,\r\n StepType.DigitalAssetsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reo));\r\n digitalAssetsStepConfig.title = 'Digital Assets';\r\n digitalAssetsStepConfig.explanation = 'Securely gathering digital assets eliminates the need to track down paper statements.' +\r\n 'Search for your financial institution and connect with them the same way you do when you visit them on the web.';\r\n applicationFlowConfig.steps.push(digitalAssetsStepConfig);\r\n /* End - Digital assets step */\r\n\r\n /* Begin - Configure assets step */\r\n const assetsStepConfig = new GenericStepConfig('19', 'Assets', Constants.stepPaths.manualAssets, WizardGroupEnum.MyFinances,\r\n StepType.ManualAssetsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reo));\r\n assetsStepConfig.title = 'Now, we need to collect some Asset details.';\r\n assetsStepConfig.explanation = 'Click Add below, choose an asset type and enter the amount for the asset. Please note, we will need to verify enough assets to cover any funds you will need during this transaction.';\r\n let assetsStepFieldConfig: any = FieldConfigUtils.generateAssetsStepFieldConfig();\r\n assetsStepConfig.fieldConfig = assetsStepFieldConfig;\r\n applicationFlowConfig.steps.push(assetsStepConfig);\r\n /* End - Configure assets step */\r\n\r\n /* Begin - Configure REO step */\r\n const reoStepConfig = new GenericStepConfig('20', 'Real Estate Owned', Constants.stepPaths.reo, WizardGroupEnum.MyFinances,\r\n StepType.ReoStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.linkLiabilitiesToReo));\r\n reoStepConfig.title = 'Real Estate Information.';\r\n reoStepConfig.explanation = 'If you currently own any home or other type of real estate, please enter it below. If you don\\'t own any real estate, just continue.';\r\n let reoStepFieldConfig: any = FieldConfigUtils.generateReoStepFieldConfig();\r\n reoStepConfig.fieldConfig = reoStepFieldConfig;\r\n applicationFlowConfig.steps.push(reoStepConfig);\r\n /* End - Configure REO step */\r\n\r\n /* Begin - Link Liabilities to REO step */\r\n const linkLiabilitiesToStepConfig = new GenericStepConfig('40', 'Link Liabilities to REO',\r\n Constants.stepPaths.linkLiabilitiesToReo, WizardGroupEnum.MyFinances,\r\n StepType.LinkLiabilitiesToReoStep,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('!skipCreditCheck', Constants.stepPaths.verifyCredit), [],\r\n Constants.stepPaths.purchaseCredits));\r\n linkLiabilitiesToStepConfig.title = 'Now, let us go over the mortgage loans you already have.';\r\n linkLiabilitiesToStepConfig.explanation = 'Please associate the mortgage loans you have with the real estate you own below.';\r\n applicationFlowConfig.steps.push(linkLiabilitiesToStepConfig);\r\n /* End - Link Liabilities to REO step */\r\n\r\n /* Begin - Configure verify credit step */\r\n const verifyCreditStepConfig = new GenericStepConfig('21', 'Verify Credit', Constants.stepPaths.verifyCredit, WizardGroupEnum.MyFinances,\r\n StepType.VerifyCreditStep,\r\n new ExpressionNextStepDeciderConfig(new StepExpression('customerPreferences.doNotRunCredit == 0 && !creditRunFailed && !skipAutomatedCreditCheck', Constants.stepPaths.creditScores), [], Constants.stepPaths.purchaseCredits));\r\n verifyCreditStepConfig.title = 'Credit Verification';\r\n verifyCreditStepConfig.heading = `Now, we need to review all applicants' credit reports. Please provide the following information: `;\r\n // if (this._mortgageApplication.borrowers.length == 1) {\r\n // verifyCreditStepConfig.heading = 'Now, we need to review your credit reports for all borrowers. Please provide the following information: ';\r\n // } else {\r\n // verifyCreditStepConfig.heading = 'Now, we need to review all applicants credit reports. Please provide the following information: ';\r\n // }\r\n applicationFlowConfig.steps.push(verifyCreditStepConfig);\r\n /* End - Configure verify credit step */\r\n\r\n /* Begin - Credit scores step */\r\n const nextStepDecider = new ExpressionNextStepDeciderConfig(new StepExpression('mortgage.liabilities.length == 0', Constants.stepPaths.creditInquiry), [], Constants.stepPaths.reviewCredit);\r\n const creditScoresStepConfig = new CreditScoresStepConfig('22', 'Credit Scores', Constants.stepPaths.creditScores, WizardGroupEnum.MyFinances, nextStepDecider);\r\n creditScoresStepConfig.title = 'Here are your credit scores:';\r\n creditScoresStepConfig.useScoreIndicatorIcons = true;\r\n applicationFlowConfig.steps.push(creditScoresStepConfig);\r\n /* End - Credit scores step */\r\n\r\n /* Begin - Configure review credit step */\r\n // tslint:disable-next-line:max-line-length\r\n const reviewCreditStepConfig = new GenericStepConfig('23', 'Review Credit', Constants.stepPaths.reviewCredit, WizardGroupEnum.MyFinances, StepType.ReviewCreditStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.creditInquiry));\r\n reviewCreditStepConfig.title = 'Now that we have your credit report, we need to understand what debts are linked to the real estate you own.';\r\n reviewCreditStepConfig.heading = 'Please link your Mortgage Liabilities to the Real Estate you own.';\r\n applicationFlowConfig.steps.push(reviewCreditStepConfig);\r\n /* End - Configure verify credit step */\r\n\r\n /* Begin - Configure Credit Inquiry Step */\r\n const creditInquiryStepConfig = new GenericStepConfig('24', 'Credit Inquiry', Constants.stepPaths.creditInquiry, WizardGroupEnum.MyFinances,\r\n StepType.CreditInquiryStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.purchaseCredits));\r\n creditInquiryStepConfig.title = 'Credit Inquiries';\r\n creditInquiryStepConfig.heading = 'Based on the credit report, here are the' +\r\n ' credit inquires in the past 120 days. Please select an option for each inquiry below, and if any new debt was acquired.';\r\n applicationFlowConfig.steps.push(creditInquiryStepConfig);\r\n /* End - Configure Credit Inquiry Step */\r\n\r\n /* Begin - Purchase Credits */\r\n const purchaseCreditsStepConfig = new GenericStepConfig('35', 'Purchase Credits',\r\n Constants.stepPaths.purchaseCredits, WizardGroupEnum.PropertyAndLoan,\r\n StepType.PurchaseCreditsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.loanInfo));\r\n purchaseCreditsStepConfig.title = 'Regarding the home you wish to purchase, are you...';\r\n let purchaseCreditsStepFieldConfig: any = FieldConfigUtils.generatePurchaseCreditsStepFieldConfig();\r\n purchaseCreditsStepConfig.fieldConfig = purchaseCreditsStepFieldConfig;\r\n applicationFlowConfig.steps.push(purchaseCreditsStepConfig);\r\n /* End - Purchase Credits */\r\n\r\n /* Begin - Type of Loan */\r\n const typeOfLoanStepConfig = new GenericStepConfig('25', 'Type of Loan', Constants.stepPaths.loanInfo, WizardGroupEnum.PropertyAndLoan,\r\n StepType.LoanTypeStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.hoi));\r\n typeOfLoanStepConfig.title = 'Do you know which loan type you are applying for?';\r\n let loanInfoStepFieldConfig = FieldConfigUtils.generateLoanInfoStepFieldConfig();\r\n typeOfLoanStepConfig.fieldConfig = loanInfoStepFieldConfig;\r\n applicationFlowConfig.steps.push(typeOfLoanStepConfig);\r\n /* End - Type of Loan */\r\n\r\n /* Begin - Pricing */\r\n // const pricingStepConfig = new GenericStepConfig('38', 'Pricing', Constants.stepPaths.pricing, WizardGroupEnum.PropertyAndLoan,\r\n // StepType.PricingStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.hoi));\r\n // pricingStepConfig.title = 'Please select a rate?';\r\n // applicationFlowConfig.steps.push(pricingStepConfig);\r\n /* End - Pricing */\r\n\r\n /* Begin - Configure HOI step */\r\n const hoiStepConfig = new GenericStepConfig('34', \"Home Owner's Insurance\", Constants.stepPaths.hoi, WizardGroupEnum.PropertyAndLoan,\r\n StepType.HoiStep,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.declarations));\r\n hoiStepConfig.title = \"Let's review your homeowner's insurance needs\";\r\n hoiStepConfig.heading = ``;\r\n applicationFlowConfig.steps.push(hoiStepConfig);\r\n /* End - Configure HOI step */\r\n\r\n /* Begin - Configure Declarations step */\r\n const declarationsStepConfig = new GenericStepConfig('26', 'Declarations', Constants.stepPaths.declarations, WizardGroupEnum.Declarations,\r\n StepType.DeclarationsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.militaryService));\r\n declarationsStepConfig.title = 'Declarations';\r\n declarationsStepConfig.explanation = 'Government Declaration and Monitoring Questions';\r\n applicationFlowConfig.steps.push(declarationsStepConfig);\r\n /* End - Configure Declarations step */\r\n\r\n /* Begin - Configure Military Service step */\r\n const militaryServiceStepConfig = new GenericStepConfig('33', 'Military Service', Constants.stepPaths.militaryService, WizardGroupEnum.Declarations,\r\n StepType.MilitaryServiceStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.demographics));\r\n militaryServiceStepConfig.title = 'Military Service';\r\n militaryServiceStepConfig.explanation = 'Please provide the following information as it pertains to military service. This will help us better understand which products you might qualify for.';\r\n applicationFlowConfig.steps.push(militaryServiceStepConfig);\r\n /* End - Configure Military Service step */\r\n\r\n /* Begin - Configure Demographics step */\r\n const demographicsStepConfig = new GenericStepConfig('27', 'Demograghics', Constants.stepPaths.demographics, WizardGroupEnum.Declarations,\r\n StepType.DemographicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.homeownershipEducation));\r\n demographicsStepConfig.title = 'Demographics';\r\n demographicsStepConfig.explanation = 'What is your demographic information? ' +\r\n 'You do not have to provide this information, but we are required by the Federal Government to ask.';\r\n applicationFlowConfig.steps.push(demographicsStepConfig);\r\n /* End - Configure Demographics step */\r\n\r\n /* Begin - Configure Homeownership Education step */\r\n const homeownershipEducationConfig = new GenericStepConfig('41', 'Homeownership Education', Constants.stepPaths.homeownershipEducation, WizardGroupEnum.Declarations,\r\n StepType.HomeownershipEducationStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.loanCharacteristics));\r\n homeownershipEducationConfig.title = 'Homeownership Education';\r\n homeownershipEducationConfig.explanation = 'Please, give us the details of ' +\r\n 'all the homeownership education/councelling you had before.';\r\n applicationFlowConfig.steps.push(homeownershipEducationConfig);\r\n /* End - Configure Demographics step */\r\n\r\n /* Begin - Configure Loan Characteristics step */\r\n const loanCharacteristicsStepConfig = new GenericStepConfig('31', 'Loan Characteristics', Constants.stepPaths.loanCharacteristics, WizardGroupEnum.Declarations,\r\n StepType.LoanCharacteristicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.borrowerCharacteristics));\r\n loanCharacteristicsStepConfig.title = 'Loan Characteristics';\r\n loanCharacteristicsStepConfig.explanation = \"Now we need to identify some specific items that may require further documentation. Please check all that apply, even if \" +\r\n \"you've already noted these characteristics previously in this application.\";\r\n applicationFlowConfig.steps.push(loanCharacteristicsStepConfig);\r\n /* End - Configure Loan Characteristics step */\r\n\r\n /* Begin - Configure Borrower Characteristics step */\r\n const borrowerCharacteristicsStepConfig = new GenericStepConfig('32', 'Borrower Characteristics', Constants.stepPaths.borrowerCharacteristics, WizardGroupEnum.Declarations,\r\n StepType.BorrowerCharacteristicsStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.checklists));\r\n borrowerCharacteristicsStepConfig.title = 'Borrower Characteristics';\r\n borrowerCharacteristicsStepConfig.explanation = \"Now we need to identify some specific items that may require further documentation. \" +\r\n \"Please check all that apply to each borrower, even if you've already noted these characteristics previously in this application.\";\r\n applicationFlowConfig.steps.push(borrowerCharacteristicsStepConfig);\r\n /* End - Configure Borrower Characteristics step */\r\n\r\n /* Begin - Configure Checklists step */\r\n const checkListsStepConfig = new ChecklistsStepConfig('36', 'Checklists', Constants.stepPaths.checklists, WizardGroupEnum.Declarations,\r\n new SimpleNextStepDeciderConfig(Constants.stepPaths.econsent));\r\n checkListsStepConfig.title = 'Checklists';\r\n checkListsStepConfig.explanation = \"Now we need to identify some specific items that may require further documentation. \" +\r\n \"Please answer the following questions.\";\r\n applicationFlowConfig.steps.push(checkListsStepConfig);\r\n /* End - Configure Checklists step */\r\n\r\n /* Begin - E-consent step */\r\n const consentAuthorizationStepConfig = new GenericStepConfig('28', 'E-Consent Authorization', Constants.stepPaths.econsent,\r\n WizardGroupEnum.Declarations, StepType.EConsentStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.gatherLeadSource));\r\n consentAuthorizationStepConfig.title = 'E-Consent Authorization';\r\n consentAuthorizationStepConfig.explanation = 'Your Consent To Do Business Electronically (The E-Disclosure Agreement)';\r\n applicationFlowConfig.steps.push(consentAuthorizationStepConfig);\r\n /* End - E-consent step */\r\n\r\n /* Begin - Gather lead source step */\r\n const gatherReferralSourceStepConfig = new GenericStepConfig('37', 'Gather Lead Source', Constants.stepPaths.gatherLeadSource,\r\n WizardGroupEnum.Declarations, StepType.GatherLeadSourceStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.reviewApplication));\r\n gatherReferralSourceStepConfig.title = 'How Did You Hear About Us?';\r\n gatherReferralSourceStepConfig.explanation = 'Please tell us below how you heard about us.';\r\n applicationFlowConfig.steps.push(gatherReferralSourceStepConfig);\r\n /* End - Gather lead source step */\r\n\r\n /* Begin - Review application step */\r\n const reviewApplicationStepConfig = new GenericStepConfig('29', 'Review Application', Constants.stepPaths.reviewApplication,\r\n WizardGroupEnum.ReviewAndSubmit,\r\n StepType.ReviewApplicationStep, undefined);\r\n reviewApplicationStepConfig.title = 'Review Application';\r\n reviewApplicationStepConfig.explanation = 'Please review your application and continue.';\r\n let reviewApplicationStepFieldConfig: any = FieldConfigUtils.generateReviewApplicationStepFieldConfig;\r\n reviewApplicationStepConfig.fieldConfig = reviewApplicationStepFieldConfig;\r\n applicationFlowConfig.steps.push(reviewApplicationStepConfig);\r\n /* Begin - Review Application step */\r\n\r\n return applicationFlowConfig;\r\n }\r\n\r\n private generateDefaultRegistrationFlowConfig = (): WizardFlowConfig => {\r\n\r\n let registrationFlowConfig = new WizardFlowConfig();\r\n registrationFlowConfig.isDefault = true;\r\n\r\n const loanPurposeQuestion = new SingleChoiceQuestion('Are you...', '', []);\r\n\r\n const nextStepDeciderConfig = new ExpressionNextStepDeciderConfig(new StepExpression(\"mortgage.subjectProperty.purposeOfLoan == 'Purchase'\", Constants.stepPaths.currentAppState), [],\r\n Constants.stepPaths.propertyAddressRefi);\r\n const loanPurposeStepConfig = new SingleChoiceQuestionStepConfig('1', 'Loan Purpose', Constants.stepPaths.loanPurpose,\r\n undefined, ContextType.SubjectProperty,\r\n loanPurposeQuestion, nextStepDeciderConfig);\r\n loanPurposeStepConfig.optionsProviderType = OptionsProviderTypes.LoanPurpose;\r\n loanPurposeStepConfig.heading = '';\r\n loanPurposeStepConfig.title = 'Welcome to our online application!';\r\n loanPurposeStepConfig.explanation = 'We look forward to working with you on your mortgage goals. Let\\'s get started...';\r\n loanPurposeStepConfig.fieldToSetWithAnswer = 'purposeOfLoan';\r\n registrationFlowConfig.steps.push(loanPurposeStepConfig);\r\n\r\n /* Begin - Configure current state of application step */\r\n const haveSignedPurchaseAgreementOption = new Option('purchase-agreement', 'Have a signed purchase agreement', '', true, 'duotone-clipboard-check');\r\n const lookingToGetPreApprovedOption = new Option('pre-approval', 'Looking to get pre-approved', '', false, 'duotone-coupon-discount');\r\n const currentStateOfApplicationQuestion = new SingleChoiceQuestion('', '', [haveSignedPurchaseAgreementOption, lookingToGetPreApprovedOption]);\r\n\r\n const currentStateOfApplicationStepConfig = new SingleChoiceQuestionStepConfig('2', 'Current State of Application', Constants.stepPaths.currentAppState,\r\n undefined, ContextType.Extension, currentStateOfApplicationQuestion, new ExpressionNextStepDeciderConfig(new StepExpression('mortgage.extension.hasSignedPurchaseAgreement == true',\r\n Constants.stepPaths.propertyAddress), [], Constants.stepPaths.occupancy));\r\n currentStateOfApplicationStepConfig.title = 'What is the current status of your application?';\r\n currentStateOfApplicationStepConfig.explanation = 'We look forward to working with you on your mortgage goals.';\r\n currentStateOfApplicationStepConfig.fieldToSetWithAnswer = 'hasSignedPurchaseAgreement';\r\n registrationFlowConfig.steps.push(currentStateOfApplicationStepConfig);\r\n /* End - configure current state of application step */\r\n\r\n /* Begin - Configure property address step */\r\n const propertyAddressStepNextStepDeciderConfig = new SimpleNextStepDeciderConfig(Constants.stepPaths.occupancy);\r\n const propertyAddressStepConfig = new AddressStepConfig('3.a', 'Property Address', Constants.stepPaths.propertyAddress, undefined,\r\n ContextType.SubjectProperty, new AddressFields('address1', 'city', 'state', 'zipCode', 'county'));\r\n propertyAddressStepConfig.title = 'Awesome! What is the address of the new home?';\r\n propertyAddressStepConfig.nextStepDeciderConfig = propertyAddressStepNextStepDeciderConfig;\r\n registrationFlowConfig.steps.push(propertyAddressStepConfig);\r\n /* End - Configure property address step */\r\n\r\n /* Begin - Configure property address refi step */\r\n const propertyAddressRefiStepNextStepDeciderConfig = new SimpleNextStepDeciderConfig(Constants.stepPaths.occupancy);\r\n const propertyAddressRefiStepConfig = new AddressStepConfig('3.b', 'Property Address Refi', Constants.stepPaths.propertyAddressRefi, undefined,\r\n ContextType.SubjectProperty, new AddressFields('address1', 'city', 'state', 'zipCode', 'county'));\r\n propertyAddressRefiStepConfig.title = 'Congratulations! What is the address of the property that you\\'re refinancing ? ';\r\n propertyAddressRefiStepConfig.nextStepDeciderConfig = propertyAddressRefiStepNextStepDeciderConfig;\r\n registrationFlowConfig.steps.push(propertyAddressRefiStepConfig);\r\n /* End - Configure property address refi step */\r\n\r\n /* Begin - Configure occupancy step */\r\n // TODO:\r\n const primaryResidenceOption = new Option('primaryResidence', 'Primary Residence', '', 'PrimaryResidence', 'stockholm-home-heart');\r\n const secondHomeOption = new Option('secondHome', 'Vacation/Second Home', '', 'SecondaryResidence', 'stockholm-sun');\r\n const investmentPropertyOption = new Option('investmentProperty', 'Investment Property', '', 'Investment', 'stockholm-bank');\r\n const occupancyQuestion = new SingleChoiceQuestion('', '', [primaryResidenceOption, secondHomeOption, investmentPropertyOption]);\r\n const occupancyNextStepDeciderConfig = new SimpleNextStepDeciderConfig(Constants.stepPaths.propertyType);\r\n const occupancyStepConfig = new SingleChoiceQuestionStepConfig('4', 'Occupancy', Constants.stepPaths.occupancy, undefined, ContextType.SubjectProperty,\r\n occupancyQuestion, occupancyNextStepDeciderConfig);\r\n occupancyStepConfig.title = 'How will you occupy this property?';\r\n occupancyStepConfig.fieldToSetWithAnswer = 'propertyWillBe';\r\n registrationFlowConfig.steps.push(occupancyStepConfig);\r\n /* End - Configure occupancy step */\r\n\r\n /* Begin - Configure property type */\r\n const singleFamilyOption = new Option('singleFamily', 'Single Family', '', 'SFR', 'stockholm-home-heart');\r\n const townhouseOption = new Option('townhouse', 'Townhouse', '', 'Townhouse', 'duotone-building');\r\n const condoOption = new Option('condo', 'Condo', '', 'Condominium');\r\n condoOption.iconClass = 'fa fa-2x fa-building';\r\n condoOption.iconType = 'font-awesome';\r\n const multiUnitOption = new Option('multiUnit', 'Multi Unit', '', 'MultiFamilyResidence', 'duotone-building2');\r\n const manufacturedHomeOption = new Option('manufacturedHousing', 'Manufactured Home', '', 'ManufacturedHousing');\r\n manufacturedHomeOption.iconType = 'font-awesome';\r\n manufacturedHomeOption.iconClass = 'las la-tools fs-3x';\r\n const propertyTypeNextStepDeciderConfig = new ExpressionNextStepDeciderConfig(new StepExpression('mortgage.userGuid == \"unassigned\"', Constants.stepPaths.originator), [],\r\n Constants.stepPaths.createAccount);\r\n const propertyTypeQuestion = new SingleChoiceQuestion('', '', [singleFamilyOption, townhouseOption, condoOption, multiUnitOption, manufacturedHomeOption]);\r\n const propertyTypeStepConfig = new SingleChoiceQuestionStepConfig('5', 'Property Type', Constants.stepPaths.propertyType, undefined, ContextType.SubjectProperty,\r\n propertyTypeQuestion, propertyTypeNextStepDeciderConfig);\r\n propertyTypeStepConfig.title = 'What Type of Property?';\r\n propertyTypeStepConfig.fieldToSetWithAnswer = 'propertyType';\r\n registrationFlowConfig.steps.push(propertyTypeStepConfig);\r\n /* End - Configure property type step */\r\n\r\n /* Begin - Select originator step */\r\n const originatorStepConfig = new GenericStepConfig('6', 'Select Originator', Constants.stepPaths.originator, undefined,\r\n StepType.SelectOriginatorStep, new SimpleNextStepDeciderConfig(Constants.stepPaths.createAccount));\r\n originatorStepConfig.title = 'Our team of originators are listed below. Select the one you would like to work with or start typing a name in the search box';\r\n registrationFlowConfig.steps.push(originatorStepConfig);\r\n /* End - Select originator step */\r\n\r\n /* Begin - Configure create my account step */\r\n const createAccountStepConfig = new CreateAccountStepConfig('7', 'Create Account', Constants.stepPaths.createAccount, undefined);\r\n createAccountStepConfig.title = 'Now, let\\'s create an account to save your progress.';\r\n registrationFlowConfig.steps.push(createAccountStepConfig);\r\n /* End - Configure create my account step */\r\n\r\n /* Begin - Configure loan purpose step V2 - This step is not added to the flow, it's dangling, so flow designers can add this to their flows if needed */\r\n const loanPurposeV2NextStepDeciderConfig = new ExpressionNextStepDeciderConfig(new StepExpression(\"mortgage.subjectProperty.purposeOfLoan == 'Purchase'\", Constants.stepPaths.currentAppState), [],\r\n Constants.stepPaths.propertyAddressRefi);\r\n const loanPurposeStepV2Config = new SingleChoiceQuestionStepConfig('42', 'Loan Purpose', Constants.stepPaths.loanPurposeV2,\r\n undefined, ContextType.WizardFlowContextItself,\r\n loanPurposeQuestion, loanPurposeV2NextStepDeciderConfig);\r\n loanPurposeStepV2Config.optionsProviderType = OptionsProviderTypes.loanPurposeV2;\r\n loanPurposeStepV2Config.heading = '';\r\n loanPurposeStepV2Config.title = 'Welcome to our online application!';\r\n loanPurposeStepV2Config.explanation = 'We look forward to working with you on your mortgage goals. Let\\'s get started...';\r\n loanPurposeStepV2Config.fieldToSetWithAnswer = 'loanPurposeId';\r\n registrationFlowConfig.steps.push(loanPurposeStepV2Config);\r\n\r\n /* End - Configure loan purpose step V2 */\r\n\r\n return registrationFlowConfig;\r\n }\r\n\r\n private generateFlowConfigs(flow: Flow) {\r\n\r\n let registrationFlowConfig: WizardFlowConfig;\r\n let applicationFlowConfig: WizardFlowConfig;\r\n let coApplicationFlowConfig: WizardFlowConfig;\r\n\r\n let flowConfigs: WizardFlowConfigs | null = null;\r\n\r\n const defaultApplicationFlowConfig = this.generateDefaultApplicationFlowConfig();\r\n if (!flow.data) {\r\n registrationFlowConfig = this.generateDefaultRegistrationFlowConfig();\r\n applicationFlowConfig = defaultApplicationFlowConfig;\r\n coApplicationFlowConfig = this.generateDefaultCoApplicationFlowConfig();\r\n } else {\r\n flowConfigs = JSON.parse(flow.data);\r\n\r\n if (flowConfigs) {\r\n registrationFlowConfig = flowConfigs.registrationFlowConfig;\r\n if (!registrationFlowConfig) {\r\n registrationFlowConfig = this.generateDefaultRegistrationFlowConfig();\r\n }\r\n\r\n applicationFlowConfig = flowConfigs.applicationFlowConfig;\r\n if (!applicationFlowConfig) {\r\n applicationFlowConfig = defaultApplicationFlowConfig;\r\n } else {\r\n applicationFlowConfig.steps.forEach(stepConfig => {\r\n const defaultStepConfig = defaultApplicationFlowConfig.steps.find(s => s.stepType === stepConfig.stepType);\r\n if (defaultStepConfig) {\r\n stepConfig.fieldConfig = { ...defaultStepConfig.fieldConfig, ...stepConfig.fieldConfig };\r\n }\r\n })\r\n }\r\n\r\n coApplicationFlowConfig = flowConfigs.coApplicationFlowConfig;\r\n if (!coApplicationFlowConfig) {\r\n coApplicationFlowConfig = this.generateDefaultCoApplicationFlowConfig();\r\n }\r\n } else {\r\n registrationFlowConfig = this.generateDefaultRegistrationFlowConfig();\r\n applicationFlowConfig = defaultApplicationFlowConfig;\r\n coApplicationFlowConfig = this.generateDefaultCoApplicationFlowConfig();\r\n }\r\n }\r\n\r\n this._wizardFlowConfigs = new WizardFlowConfigs(applicationFlowConfig, coApplicationFlowConfig, registrationFlowConfig);\r\n this._wizardFlowConfigs.title = flow.title;\r\n this._wizardFlowConfigs.comment = flow.comment;\r\n this._wizardFlowConfigs.guid = flow.flowGuid;\r\n this._wizardFlowConfigs.isDefault = flow.isDefault;\r\n this._wizardFlowConfigs.navigationType = flowConfigs ? flowConfigs.navigationType : NavigationType.Horizontal;\r\n let hasProgressBar = true;\r\n if (flowConfigs && flowConfigs.hasProgressBar === false) {\r\n hasProgressBar = false;\r\n }\r\n this._wizardFlowConfigs.hasProgressBar = hasProgressBar;\r\n this._wizardFlowConfigs.userCreationAutoConfirmed = flow.userCreationAutoConfirmed;\r\n }\r\n}\r\n","import { EventEmitter, Injectable, Output } from \"@angular/core\";\r\nimport { UserInfo } from \"projects/shared/models/user-info.model\";\r\nimport { Observable, Subject } from \"rxjs\";\r\nimport { BorrowerCreditScores } from \"../../models/borrower-credit-scores.model\";\r\nimport { MortgageApplication } from \"../../models/mortgage-app.model\";\r\nimport { WizardFlowContext } from \"../../models/wizard-flow-context.model\";\r\nimport { ICreateStep } from \"../../models/wizard/config/factories/step-factory.interface\";\r\nimport { FlowConfig } from \"../../models/wizard/config/flow-config.model\";\r\nimport { WizardFlowSettings } from \"../../models/wizard/config/flow-settings.model\";\r\nimport { StepConfig } from \"../../models/wizard/config/step-config.model\";\r\nimport { StepType } from \"../../models/wizard/config/step-type.enum\";\r\nimport { WizardNavGroup } from \"../../models/wizard/wizard-nav-group.model\";\r\nimport { WizardStepBase } from \"../../models/wizard/wizard-step-base.model\";\r\nimport { WizardFlowConfig, WizardFlowConfigs } from \"../../models/wizard/config/wizard-flow-config.model\";\r\nimport { FlowType } from \"../../models/wizard/config/flow-type.enum\";\r\nimport { ApplicationForUser } from \"../../models/borrower-portal/application-for-user-model\";\r\n\r\n@Injectable()\r\nexport abstract class WizardFlowServiceBase {\r\n\r\n abstract navigateForward(): void;\r\n\r\n abstract navigateBackward(): void;\r\n\r\n abstract initializeFlowsInPreviewMode(entryPath: string): Promise;\r\n\r\n abstract startFlow(path: string, stepPathToGoAfterStart?: string): void;\r\n\r\n abstract navigateToApplicationFlow(applicationId?: number): void;\r\n\r\n @Output() abstract companyGuidIdentified: EventEmitter | undefined;\r\n\r\n abstract getStep(path: string | undefined): TStep | undefined;\r\n\r\n abstract getStepById(id: string | undefined): TStep | undefined;\r\n\r\n abstract getNavGroups(): WizardNavGroup[];\r\n\r\n abstract getCurrentStep(): WizardStepBase;\r\n\r\n abstract isFirstStep(step: WizardStepBase): boolean;\r\n\r\n abstract get creditScores(): BorrowerCreditScores[];\r\n\r\n abstract set creditScores(borrowerCreditScores: BorrowerCreditScores[]);\r\n\r\n abstract get companyGuid(): string | undefined;\r\n\r\n abstract get companyId(): number | undefined;\r\n\r\n abstract get userGuid(): string | undefined;\r\n\r\n abstract get userInfo(): UserInfo | undefined;\r\n\r\n abstract get isNavigationApplicable(): boolean | false;\r\n\r\n abstract get percentComplete(): number | 0;\r\n\r\n abstract get referralSource(): number | undefined;\r\n\r\n abstract get isFirstStepOfRegistrationFlow(): boolean | false;\r\n\r\n abstract get loanInitializedEvent(): Subject;\r\n\r\n abstract navigateToGroup(navGroup: WizardNavGroup): void;\r\n\r\n abstract navigateToFlow(flowGuid: string | undefined): void\r\n\r\n abstract resetFlows(): void;\r\n\r\n abstract createFlowConfig(flowType: FlowType, step: WizardStepBase, settings: WizardFlowSettings): Observable | undefined;\r\n\r\n abstract updateFlowConfig(flowType: FlowType, step: WizardStepBase, settings: WizardFlowSettings): Observable | undefined;\r\n\r\n abstract getFlowConfigs(): Observable | undefined;\r\n\r\n abstract deleteFlowConfig(flowGuid: string): Observable;\r\n\r\n abstract getStepFactory(stepType: StepType): ICreateStep | undefined\r\n\r\n browserBackOrForwardClicked: boolean = false;\r\n\r\n inEditMode: boolean = false;\r\n\r\n inPreviewMode: boolean = false;\r\n\r\n abstract set stepConfigBeingPreviewed(stepConfig: StepConfig | undefined);\r\n\r\n abstract get stepConfigBeingPreviewed(): StepConfig | undefined;\r\n\r\n abstract get inCoApplyFlow(): boolean;\r\n\r\n abstract get activeFlowType(): FlowType;\r\n\r\n abstract get activeFlowConfig(): WizardFlowConfig | undefined;\r\n\r\n abstract get isEditEnabled(): boolean;\r\n\r\n abstract get context(): WizardFlowContext;\r\n\r\n abstract updateContext(mortgage: MortgageApplication): void;\r\n\r\n abstract saveMortgage(): Observable;\r\n\r\n abstract hasPreviousStep(): boolean;\r\n\r\n abstract isNavGroupCompleted(groupId: number): boolean;\r\n\r\n abstract saveFlowConfigs(settings: WizardFlowSettings): Promise | undefined\r\n\r\n abstract navigateToManualAssetsStep(): void;\r\n\r\n abstract navigateToManualEmploymentAndIncomeStep(): void;\r\n\r\n abstract addNewStepToActiveFlow(stepConfig: StepConfig): void;\r\n\r\n abstract get campaignId(): number | undefined;\r\n\r\n abstract get leadId(): number | undefined;\r\n\r\n abstract get leadGuid(): string | undefined;\r\n\r\n abstract get leadSourceOverride(): string | undefined;\r\n\r\n}\r\n","import { EventEmitter, Injectable, Type } from \"@angular/core\";\r\nimport { UserInfo } from \"projects/shared/models/user-info.model\";\r\nimport { Observable, Observer, Subject } from \"rxjs\";\r\nimport { filter, finalize, map } from \"rxjs/operators\";\r\nimport { BorrowerCreditScores } from \"../../models/borrower-credit-scores.model\";\r\nimport { WizardGroupEnum } from \"../../models/enums/wizard-group-enum\";\r\nimport { MortgageApplication } from \"../../models/mortgage-app.model\";\r\nimport { WizardFlowContext } from \"../../models/wizard-flow-context.model\";\r\nimport { WizardFlowCustomerPreferences } from \"../../models/wizard-flow-customer-preferences.model\";\r\nimport { AddressHistoryStep } from \"../../models/wizard/address-history-step.model\";\r\nimport { AddressStepFactory } from \"../../models/wizard/config/factories/address-step.factory\";\r\nimport { CreateAccountStepFactory } from \"../../models/wizard/config/factories/create-account-step.factory\";\r\nimport { CreditScoresStepFactory } from \"../../models/wizard/config/factories/credit-scores-step.factory\";\r\nimport { GenericStepFactory } from \"../../models/wizard/config/factories/generic-step.factory\";\r\nimport { MyInfoStepFactory } from \"../../models/wizard/config/factories/my-info-step.factory\";\r\nimport { NextStepDeciderFactory } from \"../../models/wizard/config/factories/next-step-decider.factory\";\r\nimport { SingleChoiceQuestionStepFactory } from \"../../models/wizard/config/factories/single-choice-question-step.factory\";\r\nimport { ICreateStep } from \"../../models/wizard/config/factories/step-factory.interface\";\r\nimport { FlowConfig } from \"../../models/wizard/config/flow-config.model\";\r\nimport { WizardFlowSettings } from \"../../models/wizard/config/flow-settings.model\";\r\nimport { StepType } from \"../../models/wizard/config/step-type.enum\";\r\nimport { WizardFlowConfig } from \"../../models/wizard/config/wizard-flow-config.model\";\r\nimport { ConsentAuthorizationStep } from \"../../models/wizard/consent-authorization-step-model\";\r\nimport { CreditInquiryStep } from \"../../models/wizard/credit-inquiry-step.model\";\r\nimport { CurrentAddressStep } from \"../../models/wizard/current-address-step.model\";\r\nimport { DeclarationsStep } from \"../../models/wizard/declarations-step.model\";\r\nimport { NumberOfBorrowersStep } from \"../../models/wizard/number-of-borrowers-step.model\";\r\nimport { ReviewCreditStep } from \"../../models/wizard/review-credit-step.model\";\r\nimport { SelectOriginatorStep } from \"../../models/wizard/select-originator-step.model\";\r\nimport { SubmitApplicationStep } from \"../../models/wizard/submit-application-step.model\";\r\nimport { TypeOfLoanStep } from \"../../models/wizard/type-of-loan-step.model\";\r\nimport { WizardFlow } from \"../../models/wizard/wizard-flow.model\";\r\nimport { WizardNavGroup } from \"../../models/wizard/wizard-nav-group.model\";\r\nimport { WizardStepBase } from \"../../models/wizard/wizard-step-base.model\";\r\nimport { RegistrationComponent } from \"../../registration/registration.component\";\r\nimport { AuthService } from \"../auth.service\";\r\nimport { DataService } from \"../data.service\";\r\nimport { MortgageApplicationService } from \"../mortgage-application.service\";\r\nimport { NavigationService } from \"../navigation.service\";\r\nimport { UtilsService } from \"../utils.service\";\r\nimport { BrowserNavigationDeactivateGuard } from \"./browser-navigation-deactivate-guard\";\r\nimport { WizardFlowConfigServiceBase } from \"./wizard-flow-config-service.base\";\r\nimport { WizardFlowServiceBase } from \"./wizard-flow-service.base\";\r\nimport { Constants } from \"../constants\";\r\nimport { MortgageApplicationComponent } from \"../../mortgage-application/mortgage-application.component\";\r\nimport { CoMortgageApplicationComponent } from \"../../co-mortgage-application/co-mortgage-application.component\";\r\nimport { NavigationStart, Router } from \"@angular/router\";\r\nimport { MultiBorrowersAddressHistoryStep } from \"../../models/wizard/multiborrowers-address-history-step.model\";\r\nimport { BorrowerAppStatus } from \"../../models/borrower-app-status.model\";\r\nimport { BorrowerAppStatusDetails } from \"../../models/borrower-app-status-details.model\";\r\nimport { StepConfig } from \"../../models/wizard/config/step-config.model\";\r\nimport { WizardFlowConfigs } from \"../../models/wizard/config/wizard-flow-config.model\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\nimport { Declarations } from \"../../models/declarations-model\";\r\nimport { ResidencyAddress } from \"../../models/residency-address.model\";\r\nimport { Address } from \"../../models/address-model\";\r\nimport { CreditInquiryDetails, CreditInquiryDetailsEntry } from \"../../models/credit-inquiry-details.model\";\r\nimport { TransactionDetail } from \"../../models/transaction-detail.model\";\r\nimport { SubjectProperty } from \"../../models/subject-property.model\";\r\nimport { PurchaseCredit } from \"../../models/purchase-credit.model\";\r\nimport { Demographics } from \"../../models/demographics-model\";\r\nimport { LoanPurpose } from \"../../models/enums/loan-purpose.enum\";\r\nimport { FlowType } from \"../../models/wizard/config/flow-type.enum\";\r\nimport { CreditService } from \"../credit.service\";\r\nimport { Vendor } from \"../../models/vendor.model\";\r\nimport { ResidencyType } from \"../../models/enums/residency-type.enum\";\r\nimport { LoanCharacteristicsStep } from \"../../models/wizard/loan-characteristics-step.model\";\r\nimport { BorrowerCharacteristicsStep } from \"../../models/wizard/borrower-characteristics-step.model\";\r\nimport { MilitaryServiceStep } from \"../../models/wizard/military-service-step.model\";\r\nimport { ResidencyBasis } from \"../../models/enums/residency-basis.enum\";\r\nimport { HoiStep } from \"../../models/wizard/hoi-step.model\";\r\nimport { CharacteristicsService } from \"../characteristics.service\";\r\nimport { ChecklistsStepFactory } from \"../../models/wizard/config/factories/checklists-step.factory\";\r\nimport { MortgageTerm } from \"../../models/mortgage-term.model\";\r\nimport { VerifyCreditStepFactory } from \"../../models/wizard/config/factories/verify-credit-step.factory\";\r\nimport { IncomeStepFactory } from \"../../models/wizard/config/factories/income-step.factory\";\r\nimport { AssetsStepFactory } from \"../../models/wizard/config/factories/assets-step.factory\";\r\nimport { ReoStepFactory } from \"../../models/wizard/config/factories/reo-step.factory\";\r\nimport { OwnRentStepFactory } from \"../../models/wizard/config/factories/own-rent-step.factory\";\r\nimport { PurchaseCreditsStepFactory } from \"../../models/wizard/config/factories/purchase-credits-step.factory\";\r\nimport { ReviewApplicationStepFactory } from \"../../models/wizard/config/factories/review-application-step.factory\";\r\nimport { ApplicationForUser } from \"../../models/borrower-portal/application-for-user-model\";\r\nimport { Lead } from \"../../models/lead.model\";\r\nimport { MortgageService } from \"../mortgage.service\";\r\nimport { Occupancy } from \"../../models/enums/occupancy.enum\";\r\nimport { PullExistingApplicationStep } from \"../../models/wizard/pull-existing-application-step.model\";\r\nimport { LinkLiabilitiesToReoStep } from \"../../models/wizard/link-liabilities-to-reo-step.model\";\r\nimport { Utils } from \"../utils\";\r\nimport { PricingStepFactory } from \"../../models/wizard/config/factories/pricing-step.factory\";\r\nimport { DemographicsStepFactory } from \"../../models/wizard/config/factories/demographics-step.factory\";\r\nimport { GatherLeadSourceStepFactory } from \"../../models/wizard/config/factories/gather-lead-source-step.factory\";\r\nimport { HomeownershipEducationStep } from \"../../models/wizard/homeownership-education-step.model\";\r\nimport { DigitalAssetsStepFactory } from \"../../models/wizard/config/factories/digital-assets-step.factory\";\r\nimport { DigitalIncomeVerificationStepFactory } from \"../../models/wizard/config/factories/digital-income-verification-step.factory\";\r\nimport { CreateMultipleCoBorrowersStepFactory } from \"../../models/wizard/config/factories/create-multiple-coborrowers-step.factory\";\r\n\r\nconst registerMainRoutePath: string = \"register\";\r\nconst applicationMainRoutePath: string = \"apply\";\r\nconst coApplicationMainRoutePath: string = \"co-apply\";\r\n\r\ndeclare const CobrowseIO: any;\r\n\r\n@Injectable()\r\nexport class WizardFlowService extends WizardFlowServiceBase {\r\n\r\n companyGuidIdentified: EventEmitter = new EventEmitter();\r\n\r\n inPreviewMode: boolean = false;\r\n\r\n private _loanInitializedEvent: Subject = new Subject();\r\n\r\n get loanInitializedEvent(): Subject {\r\n return this._loanInitializedEvent;\r\n }\r\n\r\n get activeFlowType(): FlowType {\r\n if (this._activeFlow.entryPath === registerMainRoutePath) {\r\n return FlowType.Register;\r\n } else if (this._activeFlow.entryPath === applicationMainRoutePath) {\r\n return FlowType.Apply;\r\n }\r\n return FlowType.CoApply;\r\n }\r\n\r\n get activeFlowConfig(): WizardFlowConfig | undefined {\r\n return this._activeFlowConfig;\r\n }\r\n\r\n get userInfo(): UserInfo | undefined {\r\n return this._userInfo;\r\n }\r\n\r\n get creditScores(): BorrowerCreditScores[] {\r\n return this._borrowerCreditScores;\r\n }\r\n\r\n set creditScores(borrowerCreditScores: BorrowerCreditScores[]) {\r\n this._borrowerCreditScores = borrowerCreditScores;\r\n }\r\n\r\n get isNavigationApplicable(): boolean {\r\n const isApplicable = this._activeFlow === this._mortgageApplicationFlow ||\r\n this._activeFlow === this._mortgageCoApplicationFlow;\r\n return isApplicable;\r\n }\r\n\r\n get isEditEnabled(): boolean {\r\n return this._token !== \"\";\r\n }\r\n\r\n get context(): WizardFlowContext {\r\n return this._wizardFlowContext;\r\n }\r\n\r\n get percentComplete(): number {\r\n if (this.inPreviewMode) {\r\n return 60;\r\n }\r\n if (!this._activeFlow) {\r\n return 0;\r\n }\r\n const numberOfSteps = this._activeFlow.steps.length;\r\n let currentStepIndex: number = 0;\r\n if (this._currentStep) {\r\n currentStepIndex = this._activeFlow.steps.indexOf(this._currentStep);\r\n }\r\n return Math.ceil(currentStepIndex / numberOfSteps * 100);\r\n }\r\n\r\n get isFirstStepOfRegistrationFlow(): boolean {\r\n if (this._activeFlow) {\r\n const activeFlowType = this.activeFlowType;\r\n if (activeFlowType === FlowType.Register) {\r\n if (this._currentStep) {\r\n const currentStepIndex = this._activeFlow.steps.indexOf(this._currentStep);\r\n return (currentStepIndex === 0);\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private _registrationFlow!: WizardFlow;\r\n private _mortgageApplicationFlow!: WizardFlow;\r\n private _mortgageCoApplicationFlow!: WizardFlow;\r\n private _activeFlow!: WizardFlow;\r\n private _activeFlowConfig: WizardFlowConfig | undefined;\r\n\r\n private _currentStep!: WizardStepBase;\r\n private _previousStep: WizardStepBase | undefined;\r\n private _furthestVisitedStep!: WizardStepBase;\r\n\r\n private _visitedSteps: WizardStepBase[] = [];\r\n private _visitedGroups: number[] = [];\r\n\r\n private _lastBadFlowGuid: string | undefined;\r\n //private _companyGuid: string | undefined;\r\n private _branchGuid: string | undefined;\r\n //private _companyId: number | undefined;\r\n private _userGuid: string | undefined;\r\n //private _appId: string | undefined;\r\n private _token: string | undefined = \"\";\r\n private _campaignId: number | undefined;\r\n private _leadSourceOverride: string | undefined;\r\n private _referralSource: number | undefined;\r\n private _leadId: number | undefined;\r\n private _leadGuid: string | undefined;\r\n\r\n private _customerPreferences: WizardFlowCustomerPreferences;\r\n private _wizardFlowContext: WizardFlowContext;\r\n\r\n private _borrowerCreditScores: BorrowerCreditScores[] = [];\r\n\r\n private _flowConfigs: WizardFlowConfigs | undefined;\r\n private _registrationRoutesConfigured: boolean = false;\r\n private _applicationRoutesConfigured: boolean = false;\r\n private _coApplicationRoutesConfigured: boolean = false;\r\n\r\n private _userInfo: UserInfo | undefined;\r\n private _applicationInfo: any | undefined;\r\n private _stepConfigBeingPreviewed: StepConfig | undefined;\r\n\r\n private _isLoadingMortgage: boolean = false;\r\n\r\n constructor(private readonly _router: Router,\r\n private readonly _dataService: DataService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _wizardFlowConfigService: WizardFlowConfigServiceBase,\r\n private readonly _singleChoiceQuestionStepFactory: SingleChoiceQuestionStepFactory,\r\n private readonly _addressStepFactory: AddressStepFactory,\r\n private readonly _createAccountStepFactory: CreateAccountStepFactory,\r\n private readonly _nextStepDeciderFactory: NextStepDeciderFactory,\r\n private readonly _creditScoresStepFactory: CreditScoresStepFactory,\r\n private readonly _checklistsStepFactory: ChecklistsStepFactory,\r\n private readonly _myInfoStepFactory: MyInfoStepFactory,\r\n private readonly _verifyCreditStepFactory: VerifyCreditStepFactory,\r\n private readonly _incomeStepFactory: IncomeStepFactory,\r\n private readonly _assetsStepFactory: AssetsStepFactory,\r\n private readonly _ownRentStepFactory: OwnRentStepFactory,\r\n private readonly _purchaseCreditsStepFactory: PurchaseCreditsStepFactory,\r\n private readonly _createMultipleCoBorrowersStepFactory: CreateMultipleCoBorrowersStepFactory,\r\n private readonly _reoStepFactory: ReoStepFactory,\r\n private readonly _reviewApplicationStepFactory: ReviewApplicationStepFactory,\r\n private readonly _pricingStepFactory: PricingStepFactory,\r\n private readonly _demoGraphicsStepFactory: DemographicsStepFactory,\r\n private readonly _gatherLeadSourceStepFactory: GatherLeadSourceStepFactory,\r\n private readonly _digitalAssetsStepFactory: DigitalAssetsStepFactory,\r\n private readonly _digitalIncomeVerificationStepFactory: DigitalIncomeVerificationStepFactory,\r\n private readonly _authService: AuthService,\r\n private readonly _creditService: CreditService,\r\n private readonly _characteristicsService: CharacteristicsService,\r\n private readonly _mortgageService: MortgageService) {\r\n super();\r\n\r\n this._branchGuid = this._utilsService.getUrlParameter(\"branchGuid\");\r\n this._userGuid = this._utilsService.getUrlParameter(\"userGuid\");\r\n //this._appId = this._utilsService.getUrlParameter(\"appId\");\r\n this._customerPreferences = new WizardFlowCustomerPreferences();\r\n this._leadSourceOverride = this._utilsService.getUrlParameter(\"leadSourceOverride\");\r\n const refSourceStr = this._utilsService.getUrlParameter(\"referralSource\");\r\n if (!isNaN(parseInt(refSourceStr))) {\r\n this._referralSource = parseInt(refSourceStr);\r\n }\r\n const campaignId = this._utilsService.getUrlParameter(\"campaignId\");\r\n if (campaignId) {\r\n this._campaignId = parseInt(campaignId);\r\n }\r\n const leadId = this._utilsService.getUrlParameter(\"leadId\");\r\n if (leadId) {\r\n this._leadId = parseInt(leadId);\r\n }\r\n const leadGuid = this._utilsService.getUrlParameter(\"leadGuid\");\r\n if (leadGuid) {\r\n this._leadGuid = leadGuid;\r\n }\r\n if (this.userGuid) {\r\n this._mortgageApplicationService.mortgageApplication.userGuid = this.userGuid;\r\n }\r\n this._token = this._utilsService.getUrlParameter(\"editToken\");\r\n if (this._token && this._token !== \"\") {\r\n this._authService.setAdminToken(this._token);\r\n }\r\n this._wizardFlowContext = this.prepareEditModeWizardFlowContext();\r\n if (!this.isEditEnabled) {\r\n this._wizardFlowContext = new WizardFlowContext(this._mortgageApplicationService.mortgageApplication, this._customerPreferences);\r\n }\r\n this._wizardFlowContext.companyGuid = this._utilsService.getUrlParameter(\"companyGuid\");\r\n if (this.userGuid && this.context.companyGuid) {\r\n this._mortgageApplicationService.getOriginator(this.companyGuid, this.userGuid).subscribe(originator => {\r\n this._wizardFlowContext.originator = originator;\r\n });\r\n }\r\n this._router.events.pipe(\r\n filter((event: any) => {\r\n return (event instanceof NavigationStart);\r\n }\r\n )\r\n ).subscribe((event) => {\r\n this.onNavigationStart(event);\r\n }\r\n );\r\n }\r\n\r\n getFlowConfigs = (): Observable => {\r\n return this._dataService.get('api/flow-builder?companyIdFilter=&flowTypeFilter=OnlineApplication', true);\r\n }\r\n\r\n deleteFlowConfig = (guid: string): Observable => {\r\n return this._dataService.delete('api/flow-builder/by-guid/' + guid, true);\r\n }\r\n\r\n saveFlowConfigs = (settings: WizardFlowSettings): Promise | undefined => {\r\n this._wizardFlowConfigService.flowConfigs.navigationType = settings.navigationType;\r\n this._wizardFlowConfigService.flowConfigs.hasProgressBar = settings.hasProgressBar;\r\n this._wizardFlowConfigService.flowConfigs.title = settings.title;\r\n this._wizardFlowConfigService.flowConfigs.comment = settings.comment;\r\n const payLoad = {\r\n flowType: 'OnlineApplication',\r\n flowGuid: this._wizardFlowConfigService.flowConfigs.guid,\r\n title: settings.title,\r\n comment: settings.comment,\r\n active: settings.isActive,\r\n isDefault: settings.isDefault,\r\n userCreationAutoConfirmed: this._wizardFlowConfigService.flowConfigs.userCreationAutoConfirmed,\r\n data: JSON.stringify(this._wizardFlowConfigService.flowConfigs)\r\n }\r\n let promise = new Promise((resolve, reject) => {\r\n this._dataService.put('api/flow-builder/by-guid/' + this._wizardFlowConfigService.flowConfigs.guid, payLoad, true)\r\n .toPromise()\r\n .then(\r\n response => {\r\n resolve(response);\r\n },\r\n err => {\r\n reject(err);\r\n }\r\n );\r\n });\r\n return promise;\r\n }\r\n\r\n addNewStepToActiveFlow = (stepConfig: StepConfig) => {\r\n const factory = this.getStepFactory(stepConfig.stepType);\r\n const newStep = factory.create(stepConfig, this._wizardFlowContext);\r\n this._activeFlow.steps.push(newStep);\r\n }\r\n\r\n updateFlowConfig = (flowType: FlowType, step: WizardStepBase, settings: WizardFlowSettings): Observable | undefined => {\r\n const stepConfig = this._wizardFlowConfigService.getConfig(flowType, step);\r\n if (stepConfig) {\r\n const factory = this.getStepFactory(stepConfig.stepType);\r\n if (factory) {\r\n factory.configure(step, stepConfig);\r\n }\r\n }\r\n\r\n switch (flowType) {\r\n case FlowType.Apply:\r\n this._wizardFlowConfigService.flowConfigs.applicationFlowConfig.stepGroups = settings.navGroups;\r\n break;\r\n case FlowType.CoApply:\r\n this._wizardFlowConfigService.flowConfigs.applicationFlowConfig.stepGroups = settings.navGroups;\r\n break;\r\n }\r\n\r\n this._wizardFlowConfigService.flowConfigs.navigationType = settings.navigationType;\r\n this._wizardFlowConfigService.flowConfigs.hasProgressBar = settings.hasProgressBar;\r\n this._wizardFlowConfigService.flowConfigs.title = settings.title;\r\n this._wizardFlowConfigService.flowConfigs.comment = settings.comment;\r\n const payLoad = {\r\n flowType: 'OnlineApplication',\r\n flowGuid: this._wizardFlowConfigService.flowConfigs.guid,\r\n title: settings.title,\r\n comment: settings.comment,\r\n active: settings.isActive,\r\n isDefault: settings.isDefault,\r\n userCreationAutoConfirmed: this._wizardFlowConfigService.flowConfigs.userCreationAutoConfirmed,\r\n data: JSON.stringify(this._wizardFlowConfigService.flowConfigs)\r\n }\r\n return this._dataService.put('api/flow-builder/by-guid/' + this._wizardFlowConfigService.flowConfigs.guid, payLoad, true);\r\n }\r\n\r\n createFlowConfig = (flowType: FlowType, step: WizardStepBase, settings: WizardFlowSettings): Observable | undefined => {\r\n const stepConfig = this._wizardFlowConfigService.getConfig(flowType, step);\r\n if (stepConfig) {\r\n const factory = this.getStepFactory(stepConfig.stepType);\r\n if (factory) {\r\n factory.configure(step, stepConfig);\r\n }\r\n }\r\n this._wizardFlowConfigService.flowConfigs.navigationType = settings.navigationType;\r\n this._wizardFlowConfigService.flowConfigs.hasProgressBar = settings.hasProgressBar;\r\n this._wizardFlowConfigService.flowConfigs.title = settings.title;\r\n this._wizardFlowConfigService.flowConfigs.comment = settings.comment;\r\n const payLoad = {\r\n flowType: 'OnlineApplication',\r\n title: settings.title,\r\n comment: settings.comment,\r\n userCreationAutoConfirmed: this._wizardFlowConfigService.flowConfigs.userCreationAutoConfirmed,\r\n active: true,\r\n data: JSON.stringify(this._wizardFlowConfigService.flowConfigs)\r\n }\r\n return this._dataService.post('api/flow-builder', payLoad, true);\r\n }\r\n\r\n resetFlows = () => {\r\n this._applicationRoutesConfigured = false;\r\n this._registrationRoutesConfigured = false;\r\n this._coApplicationRoutesConfigured = false;\r\n this._mortgageApplicationService.resetMortgage();\r\n }\r\n\r\n getStepById(id: string): TStep | undefined {\r\n // There is really no type checking in type script, all types are erased in runtime\r\n // So - we cannot really enforce the type of the step here when we return.\r\n let flow: WizardFlow | undefined = this._activeFlow;\r\n if (!flow) {\r\n return undefined;\r\n }\r\n const step = this._activeFlow.steps.find(s => s.id == id);\r\n return step;\r\n }\r\n\r\n getStep(path: string): TStep | undefined {\r\n // There is really no type checking in type script, all types are erased in runtime\r\n // So - we cannot really enforce the type of the step here when we return.\r\n let flow: WizardFlow | undefined = this._activeFlow;\r\n if (!flow) {\r\n flow = this.findFlowByPath(path);\r\n }\r\n if (!flow) {\r\n return undefined;\r\n }\r\n let step: TStep;\r\n if (!path || path.length === 0) {\r\n step = flow.steps[0];\r\n } else {\r\n step = flow.steps.find(s => s.path === path);\r\n if (!step) {\r\n step = this._currentStep;\r\n }\r\n }\r\n return step;\r\n }\r\n\r\n isFirstStep(step: WizardStepBase): boolean {\r\n const firstStep = this._activeFlow.steps[0];\r\n return step === firstStep;\r\n }\r\n\r\n getCurrentStep(): WizardStepBase {\r\n return this._currentStep;\r\n }\r\n\r\n navigateToManualAssetsStep = (): void => {\r\n const step = this._activeFlow.steps.find(s => s.path === Constants.stepPaths.manualAssets);\r\n if (step) {\r\n return this.navigateToStep(step);\r\n }\r\n }\r\n\r\n navigateToManualEmploymentAndIncomeStep = (): void => {\r\n const step = this._activeFlow.steps.find(s => s.path === Constants.stepPaths.manualIncomeAndEmployment);\r\n if (step) {\r\n return this.navigateToStep(step);\r\n }\r\n }\r\n\r\n set stepConfigBeingPreviewed(stepConfig: StepConfig | undefined) {\r\n this._stepConfigBeingPreviewed = stepConfig;\r\n if (stepConfig) {\r\n let steps = this._activeFlow.steps.filter(s => s.id == stepConfig.id);\r\n if (steps && steps.length === 1) {\r\n this._currentStep = steps[0];\r\n } else {\r\n const step = this._activeFlow.steps.find(s => s.path.toLowerCase() === stepConfig.path.toLowerCase());\r\n if (step) {\r\n this._currentStep = step;\r\n }\r\n }\r\n }\r\n }\r\n\r\n get stepConfigBeingPreviewed(): StepConfig | undefined {\r\n return this._stepConfigBeingPreviewed;\r\n }\r\n\r\n get userGuid(): string | undefined {\r\n return this._userGuid;\r\n }\r\n\r\n get companyGuid(): string | undefined {\r\n return this.context.companyGuid;\r\n }\r\n\r\n get branchGuid(): string | undefined {\r\n return this._branchGuid;\r\n }\r\n\r\n get companyId(): number | undefined {\r\n return this.context.companyId;\r\n }\r\n\r\n get referralSource(): number | undefined {\r\n return this._referralSource;\r\n }\r\n\r\n get inCoApplyFlow(): boolean {\r\n if (!this._activeFlow)\r\n return false;\r\n return this._activeFlow.entryPath === coApplicationMainRoutePath;\r\n }\r\n\r\n saveMortgage = (): Observable => {\r\n return this._mortgageApplicationService.saveMortgage().pipe(map(mortgage => {\r\n this.updateContext(mortgage);\r\n return mortgage;\r\n }))\r\n }\r\n\r\n navigateToApplicationFlow = (applicationId?: number) => {\r\n this.resetFlows();\r\n this._dataService.get('api/BorrowerPortal/GetApplicationsForUser').pipe(\r\n finalize(() => {\r\n })\r\n ).subscribe(\r\n response => {\r\n if (response.length > 0) {\r\n this._wizardFlowContext.applicationInfo = response[0];\r\n }\r\n this.doNavigateToApplicationFlow(response, applicationId);\r\n },\r\n error => {\r\n this.handleFlowStartError(error);\r\n }\r\n );\r\n }\r\n\r\n initializeFlowsInPreviewMode = (entryPath: string): Promise => {\r\n this.inPreviewMode = true;\r\n const flowGuid = this._utilsService.getUrlParameter(Constants.flowGuid);\r\n const promise = new Promise((resolve, reject) => {\r\n this.configureFlows(flowGuid, false, entryPath, true).then(() => {\r\n resolve(this._flowConfigs);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n startFlow = (entryPath: string, stepPathToGoAfterStart?: string, reConfigure?: boolean) => {\r\n this.inPreviewMode = false;\r\n const flowGuid = this._utilsService.getUrlParameter(Constants.flowGuid);\r\n if ((this._applicationRoutesConfigured || this._registrationRoutesConfigured || this._coApplicationRoutesConfigured)\r\n && this._activeFlow.entryPath === entryPath &&\r\n (this._wizardFlowConfigService.flowConfigs.guid === flowGuid || this._lastBadFlowGuid === flowGuid)) {\r\n // If we have an active flow running, and the flow has not changed, no need to do anything\r\n if ((entryPath === Constants.flowEndpoints.apply || entryPath === Constants.flowEndpoints.coApply) && this._isLoadingMortgage) {\r\n return;\r\n }\r\n this.navigateToStepAfterStart(stepPathToGoAfterStart);\r\n return;\r\n }\r\n this.configureFlows(flowGuid, true, entryPath, reConfigure).then(() => {\r\n this.doStartFlow(entryPath, stepPathToGoAfterStart);\r\n });\r\n }\r\n\r\n updateContext = (mortgage: MortgageApplication) => {\r\n if (mortgage && mortgage.borrowers) {\r\n mortgage.borrowers.forEach(el => {\r\n if (!el.primaryEmail) {\r\n el.primaryEmail = '';\r\n }\r\n if (!el.declarations) {\r\n el.declarations = new Declarations();\r\n }\r\n });\r\n }\r\n this._wizardFlowContext.mortgage = mortgage;\r\n const loggedInBorrowerId = this._userInfo?.borrowerId;\r\n if (loggedInBorrowerId) {\r\n const currentBorrower = mortgage.borrowers.find(m => m.contactId === loggedInBorrowerId);\r\n if (currentBorrower) {\r\n this._wizardFlowContext.currentBorrower = currentBorrower;\r\n } else {\r\n this._wizardFlowContext.currentBorrower = mortgage.borrowers[0];\r\n }\r\n }\r\n }\r\n\r\n private doNavigateToApplicationFlow = (applications: any[], applicationId?: number) => {\r\n let applicationInfo: any = undefined;\r\n if (!applicationId) {\r\n applicationInfo = applications[0];\r\n /*\r\n if (applications.length > 1) {\r\n setTimeout(() => {\r\n // If there are more than one applications, re-redirect to the Borrower Portal - Loans, so that they can pick the app that they'd like to work on\r\n this._navigationService.redirectToBorrowerPortalLoans();\r\n }, 2000);\r\n } else {\r\n applicationInfo = applications[0];\r\n }\r\n */\r\n } else {\r\n applicationInfo = applications.find((a: any) => a.applicationId == applicationId);\r\n }\r\n if (!applicationInfo) {\r\n this._navigationService.navigateToPath(Constants.flowEndpoints.error);\r\n return;\r\n }\r\n this._applicationInfo = applicationInfo;\r\n this.context.companyId = applicationInfo.companyId;\r\n this._userInfo = new UserInfo(this._applicationInfo.myDetails.borrowerName, this._applicationInfo.myDetails.borrowerId,\r\n this._applicationInfo.myDetails.borrowerEmail);\r\n const flowEntryPath = this._applicationInfo.onlineApplicationIsCoborrower ? coApplicationMainRoutePath : applicationMainRoutePath;\r\n this.initializeCobrowse(applicationInfo.applicationId);\r\n this._navigationService.navigateToPath(flowEntryPath, true);\r\n }\r\n\r\n private registerAngularRoutesForFlows = (entryPath: string) => {\r\n if (entryPath === registerMainRoutePath) {\r\n this.registerRegistrationFlowRoutes();\r\n } else if (entryPath === applicationMainRoutePath || entryPath === 'checklists') {\r\n this.registerApplicationFlowRoutes();\r\n } else if (entryPath === coApplicationMainRoutePath) {\r\n this.registerCoApplicationFlowRoutes();\r\n }\r\n }\r\n\r\n private configureFlows = (flowGuid: string, useCompanyDefaultIfAny: boolean, entryPath: string, reConfigure?: boolean) => {\r\n const promise = new Promise((resolve, reject) => {\r\n if (!this._registrationFlow || !this._mortgageApplicationFlow || !this._mortgageCoApplicationFlow || reConfigure) {\r\n this.resetFlows();\r\n this._wizardFlowConfigService.configureFlows(flowGuid, useCompanyDefaultIfAny)?.subscribe(flowConfigs => {\r\n this._flowConfigs = flowConfigs;\r\n if (flowConfigs.isDefault) {\r\n // Config service gave us a default flow config - this means the flowGuid is bad. Need to remember it.\r\n this._lastBadFlowGuid = flowGuid;\r\n }\r\n this._registrationFlow = this.configureFlow(flowConfigs.registrationFlowConfig, registerMainRoutePath);\r\n this._mortgageApplicationFlow = this.configureFlow(flowConfigs.applicationFlowConfig, applicationMainRoutePath);\r\n this._mortgageCoApplicationFlow = this.configureFlow(flowConfigs.coApplicationFlowConfig, coApplicationMainRoutePath)\r\n this.registerAngularRoutesForFlows(entryPath);\r\n resolve('success');\r\n }, err => reject(err));\r\n } else {\r\n this.registerAngularRoutesForFlows(entryPath);\r\n resolve('success');\r\n }\r\n });\r\n return promise;\r\n }\r\n\r\n private startRegistrationFlow = (stepPathToGoAfterStart: string | undefined) => {\r\n if (this._leadGuid) {\r\n const observer: Observer = {\r\n next: (lead: Lead) => {\r\n if (lead) {\r\n this.context.mortgage.subjectProperty.propertyWillBe = lead.propertyWillBe as Occupancy;\r\n this.context.mortgage.subjectProperty.projectType = lead.projectType;\r\n this.context.mortgage.subjectProperty.attachmentType = lead.attachmentType;\r\n this.context.mortgage.subjectProperty.address1 = lead.subjectPropertyAddress1;\r\n this.context.mortgage.subjectProperty.address2 = lead.subjectPropertyAddress2;\r\n this.context.mortgage.subjectProperty.city = lead.subjectPropertyCity;\r\n this.context.mortgage.subjectProperty.state = lead.subjectPropertyState;\r\n this.context.mortgage.subjectProperty.zipCode = lead.subjectPropertyZip;\r\n this.context.mortgage.borrowers[0].firstName = lead.firstName;\r\n this.context.mortgage.borrowers[0].lastName = lead.lastName;\r\n this.context.mortgage.borrowers[0].phoneNumber = Utils.removeCountryCodeIfAny(lead.phone);\r\n this.context.mortgage.borrowers[0].mobilePhone = Utils.removeCountryCodeIfAny(lead.phone);\r\n this.context.mortgage.borrowers[0].primaryEmail = lead.email;\r\n this.context.lead = lead;\r\n }\r\n },\r\n error: (error: any) => {\r\n console.error(error);\r\n },\r\n complete: () => {\r\n }\r\n }\r\n this._mortgageService.getLeadByGuid(this._leadGuid).subscribe(observer)\r\n .add(() => {\r\n this._currentStep = this.getStepToGoAfterRegistrationFlowStarts(stepPathToGoAfterStart);\r\n this.navigateToStep(this._currentStep);\r\n return;\r\n });\r\n } else {\r\n this._currentStep = this.getStepToGoAfterRegistrationFlowStarts(stepPathToGoAfterStart);\r\n this.navigateToStep(this._currentStep);\r\n return;\r\n }\r\n }\r\n\r\n private doStartFlow = (path: string, stepPathToGoAfterStart: string | undefined) => {\r\n if (path === registerMainRoutePath || this.isEditEnabled) {\r\n this.startRegistrationFlow(stepPathToGoAfterStart);\r\n return;\r\n }\r\n this._navigationService.navigateToPath(\"borrower-portal/loading\");\r\n if (this._applicationInfo) {\r\n this.getMortgageAndNavigateToStep(this._applicationInfo, stepPathToGoAfterStart);\r\n } else {\r\n this._dataService.get('api/BorrowerPortal/GetApplicationsForUser').subscribe(\r\n response => {\r\n if (!response) {\r\n this._navigationService.navigateToPath(\"error\");\r\n return;\r\n }\r\n this._characteristicsService.getTaskCategories().subscribe(categories => {\r\n if (categories && categories.length) {\r\n this._wizardFlowContext.thereAreLoanCharacteristics =\r\n categories.filter(c => c.characteristicType === \"LoanCharacteristic\").length > 0;\r\n this._wizardFlowContext.thereAreBorrowerCharacteristics =\r\n categories.filter(c => c.characteristicType === \"BorrowerCharacteristic\").length > 0;\r\n }\r\n });\r\n\r\n let selectedApp = response[0];\r\n if (this.context.applicationId) {\r\n const appWithGivenId = response.find(l => l.applicationId == this.context.applicationId);\r\n if (appWithGivenId) {\r\n selectedApp = appWithGivenId;\r\n }\r\n }\r\n\r\n if (!selectedApp) {\r\n this._navigationService.navigateToPath(\"error\");\r\n return;\r\n }\r\n\r\n this.initializeCobrowse(selectedApp.applicationId);\r\n this._userInfo = new UserInfo(selectedApp.myDetails.borrowerName, selectedApp.myDetails.borrowerId, selectedApp.borrowerEmail);\r\n this.context.companyId = selectedApp.companyId;\r\n this._wizardFlowContext.applicationInfo = selectedApp;\r\n this.getMortgageAndNavigateToStep(selectedApp, stepPathToGoAfterStart);\r\n },\r\n error => {\r\n this.handleFlowStartError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private initializeCobrowse = (applicationId: number) => {\r\n const authDataJson = localStorage.getItem(Constants.authorization.authorizationDataKey);\r\n if (authDataJson) {\r\n const authData = JSON.parse(authDataJson);\r\n if (authData) {\r\n CobrowseIO.customData = {\r\n user_id: authData.userId,\r\n user_name: authData.userName,\r\n user_email: authData.userName,\r\n device_id: applicationId,\r\n device_name: authData.userName,\r\n application_id: applicationId\r\n };\r\n }\r\n }\r\n }\r\n\r\n private handleFlowStartError = (error: any) => {\r\n // TODO: Handle this with an http error interceptor\r\n this.resetFlows();\r\n if (error.status === 401) {\r\n this._navigationService.navigateToPath(\"login\");\r\n } else {\r\n this._navigationService.navigateToPath(\"error\");\r\n }\r\n }\r\n\r\n private getMortgageAndNavigateToStep = (applicationInfo: any, stepPathToGoAfterStart?: string) => {\r\n // App status needs to be pulled from the server here\r\n this._isLoadingMortgage = true;\r\n this._mortgageApplicationService.getMortgage(applicationInfo.applicationId).subscribe(mortgage => {\r\n this.updateContext(mortgage);\r\n this._isLoadingMortgage = false;\r\n this._mortgageApplicationService.getAppStatus(mortgage.applicationId, mortgage.mortgageId,\r\n this._wizardFlowContext!.currentBorrower!.borrowerId!).subscribe((status: any | undefined) => {\r\n\r\n let borrowerAppStatus = new BorrowerAppStatus();\r\n this._wizardFlowContext.borrowerAppStatus = borrowerAppStatus;\r\n if (status) {\r\n borrowerAppStatus.currentStatus = status.currentStatus;\r\n borrowerAppStatus.lastSuccessfulStatus = status.lastSuccessfulStatus;\r\n if (status.statusDataJson) {\r\n borrowerAppStatus.details = JSON.parse(status.statusDataJson);\r\n if (!applicationInfo.onlineAppInProgress) {\r\n this._navigationService.navigateToPath(\"already-submitted\");\r\n return;\r\n }\r\n if (borrowerAppStatus.details.coBorrowerIds && borrowerAppStatus.details.coBorrowerIds.length > 0) {\r\n borrowerAppStatus.details.coBorrowerIds.forEach(borrowerId => {\r\n this._wizardFlowContext.borrowerSettings.delete(borrowerId);\r\n this._wizardFlowContext.borrowerSettings.set(borrowerId, true);\r\n });\r\n }\r\n if (borrowerAppStatus.details.nonCoBorrowerIds && borrowerAppStatus.details.nonCoBorrowerIds.length > 0) {\r\n borrowerAppStatus.details.nonCoBorrowerIds.forEach(borrowerId => {\r\n this._wizardFlowContext.borrowerSettings.delete(borrowerId);\r\n this._wizardFlowContext.borrowerSettings.set(borrowerId, false);\r\n });\r\n }\r\n }\r\n }\r\n\r\n this._mortgageApplicationService.getConfig(applicationInfo.applicationId).subscribe(config => {\r\n this._wizardFlowContext.config = config;\r\n if (!config.defaultCreditVendor) {\r\n this._wizardFlowContext.skipAutomatedCreditCheck = true;\r\n this.navigateToStepAfterStart(stepPathToGoAfterStart);\r\n return;\r\n }\r\n this._creditService.getCreditVendorEnumItems().subscribe(allCreditvendors => {\r\n const defaultVendor = allCreditvendors.find(v => v.name == config.defaultCreditVendor);\r\n if (!defaultVendor) {\r\n this._wizardFlowContext.skipAutomatedCreditCheck = true;\r\n this.navigateToStepAfterStart(stepPathToGoAfterStart);\r\n return;\r\n }\r\n this._creditService.getVendors(mortgage.channel).subscribe((vendors: Vendor[]) => {\r\n const defaultVendorAmongApprovedVendors = vendors.find(v => v.vendorName === defaultVendor.name && v.active);\r\n if (!defaultVendorAmongApprovedVendors) {\r\n // The automated credit run will be skipped, but we'll still get consent from the borrower at the verify credit step.\r\n this._wizardFlowContext.skipAutomatedCreditCheck = true;\r\n }\r\n this.navigateToStepAfterStart(stepPathToGoAfterStart);\r\n });\r\n });\r\n });\r\n });\r\n }, error => {\r\n this._isLoadingMortgage = false;\r\n });\r\n }\r\n\r\n hasPreviousStep = (): boolean => {\r\n return this._visitedSteps && this._visitedSteps.length > 0;\r\n }\r\n\r\n getNavGroups(): WizardNavGroup[] {\r\n // Here you will return the nav groups\r\n const myInfoGroup = new WizardNavGroup(WizardGroupEnum.MyInfo, \"My Info\", \"user-svg-icon\", \"\");\r\n const myFinancesGroup = new WizardNavGroup(WizardGroupEnum.MyFinances, \"My Finances\", \"\", \"fa fa-money-bill-alt\");\r\n const myPropertyAndLoanGroup = new WizardNavGroup(WizardGroupEnum.PropertyAndLoan, \"Property and Loan\", \"\", \"fas fa-home\");\r\n const myDeclarationsGroup = new WizardNavGroup(WizardGroupEnum.Declarations, \"Declarations\", \"\", \"far fa-file-alt\");\r\n const myReviewAndSubmitGroup = new WizardNavGroup(WizardGroupEnum.ReviewAndSubmit, \"Review and Submit\", \"\", \"fas fa-check-square\");\r\n let navGroups: WizardNavGroup[] = [];\r\n navGroups.push(myInfoGroup);\r\n navGroups.push(myFinancesGroup);\r\n navGroups.push(myPropertyAndLoanGroup);\r\n navGroups.push(myDeclarationsGroup);\r\n navGroups.push(myReviewAndSubmitGroup);\r\n\r\n return navGroups;\r\n }\r\n\r\n navigateToFlow = (flowGuid: string | undefined) => {\r\n // The flow needs to be restarted\r\n this._navigationService.navigateToFlow(flowGuid, this._currentStep.path);\r\n this.startFlow(this._activeFlow.entryPath, this._currentStep.path, true);\r\n }\r\n\r\n navigateToFlowByType = (flowGuid: string) => {\r\n // The flow needs to be restarted\r\n this._navigationService.navigateToFlow(flowGuid, this._currentStep.path);\r\n this.startFlow(this._activeFlow.entryPath, this._currentStep.path, true);\r\n }\r\n\r\n navigateForward = (): void => {\r\n let nextStepPath: string | undefined = undefined;\r\n let nextStep: WizardStepBase | undefined = this._activeFlow.steps[0];\r\n if (this._currentStep) {\r\n nextStepPath = this._currentStep.nextStepPath();\r\n if (nextStepPath) {\r\n nextStep = this.getStep(nextStepPath);\r\n }\r\n }\r\n if (nextStep) {\r\n this.navigateToStep(nextStep);\r\n }\r\n }\r\n\r\n navigateBackward = (): void => {\r\n let previousStep = this._activeFlow.steps[0];\r\n let lastVisitedStep = this._visitedSteps.pop();\r\n\r\n if (lastVisitedStep) {\r\n previousStep = lastVisitedStep;\r\n this._previousStep = undefined;\r\n if (this._visitedSteps.length > 0)\r\n this._previousStep = this._visitedSteps[this._visitedSteps.length - 1];\r\n }\r\n this._currentStep = previousStep;\r\n this.updateApplicationStatus();\r\n setTimeout(() => {\r\n this.navigateToPath(previousStep.path, false, { backNavigation: true });\r\n }, 200);\r\n }\r\n\r\n navigateToGroup = (navGroup: WizardNavGroup): void => {\r\n //do not allow to go to a further group\r\n if (navGroup.id! >= this._currentStep.groupId!) {\r\n return;\r\n }\r\n //pop visited steps till you find next step\r\n let nextStep: WizardStepBase | undefined = this._activeFlow.steps.find(s => s.groupId === navGroup.id);\r\n if (nextStep && this._visitedGroups.includes(nextStep.groupId!)) {\r\n let step = this._visitedSteps.pop();\r\n while (step != nextStep) {\r\n step = (this._visitedSteps.pop());\r\n }\r\n this._currentStep = nextStep;\r\n this.navigateToStep(nextStep);\r\n }\r\n }\r\n\r\n isNavGroupCompleted(groupId: number): boolean {\r\n let groupSteps = this._activeFlow.steps.filter(i => i.groupId == groupId);\r\n if (!groupSteps || groupSteps.length == 0) {\r\n return false;\r\n }\r\n //each group step should be in visited steps;\r\n for (let j = 0; j < groupSteps.length; j++) {\r\n let groupVisited = this._visitedSteps.find(v => v.groupId == groupSteps[j].groupId);\r\n if (!groupVisited) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private navigateToStepAfterStart = (stepPathToGoAfterStart?: string) => {\r\n const stepToGo = this.getStepToGoAfterApplicationFlowStarts(stepPathToGoAfterStart);\r\n this._currentStep = stepToGo;\r\n this.navigateToStep(this._currentStep, false);\r\n this._loanInitializedEvent.next(this._wizardFlowContext.applicationInfo);\r\n }\r\n\r\n private getStepToGoAfterRegistrationFlowStarts = (stepPath: string | undefined): WizardStepBase => {\r\n if (stepPath) {\r\n const initialStep = this.getStep(stepPath);\r\n if (initialStep) {\r\n return initialStep;\r\n }\r\n }\r\n return this._activeFlow.steps[0];\r\n }\r\n\r\n private getStepToGoAfterApplicationFlowStarts = (stepPath: string | undefined): WizardStepBase => {\r\n if (stepPath) {\r\n const initialStep = this.getStep(stepPath);\r\n if (initialStep) {\r\n return initialStep;\r\n }\r\n }\r\n this._visitedSteps = [];\r\n let borrowerAppStatus: BorrowerAppStatus | undefined = this._wizardFlowContext.borrowerAppStatus;\r\n if (borrowerAppStatus) {\r\n for (let i = 0; i < borrowerAppStatus.details.visitedStepIds.length; i++) {\r\n const step = this.getStepById(borrowerAppStatus.details.visitedStepIds[i]);\r\n if (step && !this._visitedSteps.includes(step)) {\r\n this._visitedSteps.push(step);\r\n if (this._visitedGroups.includes(step.groupId)) {\r\n this._visitedGroups.push(step.groupId!);\r\n }\r\n }\r\n }\r\n if (borrowerAppStatus.lastSuccessfulStatus) {\r\n let furthestVisitedStep = this.getStepById(borrowerAppStatus.lastSuccessfulStatus);\r\n if (furthestVisitedStep) {\r\n this._furthestVisitedStep = furthestVisitedStep;\r\n }\r\n }\r\n if (this._visitedSteps.length == 0) {\r\n //this._currentStep = this._activeFlow.steps[0];\r\n return this._activeFlow.steps[0];\r\n }\r\n if (borrowerAppStatus.currentStatus) {\r\n let currentStep = this.getStepById(borrowerAppStatus.currentStatus);\r\n if (currentStep) {\r\n return currentStep;\r\n }\r\n }\r\n }\r\n return this._activeFlow.steps[0];\r\n }\r\n\r\n private findFlowByPath = (path: string): WizardFlow | undefined => {\r\n if (!this._registrationFlow) {\r\n return undefined;\r\n }\r\n let step = this._registrationFlow.steps.find(s => s.path === path);\r\n if (step) {\r\n return this._registrationFlow;\r\n }\r\n step = this._mortgageApplicationFlow.steps.find(s => s.path === path);\r\n if (step) {\r\n return this._mortgageApplicationFlow;\r\n }\r\n step = this._mortgageCoApplicationFlow.steps.find(s => s.path === path);\r\n if (step) {\r\n return this._mortgageCoApplicationFlow;\r\n }\r\n return undefined;\r\n }\r\n\r\n private registerRegistrationFlowRoutes = () => {\r\n if (!this._registrationRoutesConfigured) {\r\n this.configureRoutesFromSteps(this._registrationFlow, RegistrationComponent);\r\n this._registrationRoutesConfigured = true;\r\n }\r\n this._activeFlow = this._registrationFlow;\r\n this._activeFlowConfig = this._flowConfigs?.registrationFlowConfig;\r\n this._activeFlowConfig.isDefault = this._flowConfigs?.isDefault;\r\n }\r\n\r\n private registerApplicationFlowRoutes = () => {\r\n if (!this._applicationRoutesConfigured) {\r\n this.configureRoutesFromSteps(this._mortgageApplicationFlow, MortgageApplicationComponent);\r\n this._applicationRoutesConfigured = true;\r\n }\r\n this._activeFlow = this._mortgageApplicationFlow;\r\n this._activeFlowConfig = this._flowConfigs?.applicationFlowConfig;\r\n this._activeFlowConfig.isDefault = this._flowConfigs?.isDefault;\r\n }\r\n\r\n private registerCoApplicationFlowRoutes = () => {\r\n if (!this._coApplicationRoutesConfigured) {\r\n this.configureRoutesFromSteps(this._mortgageCoApplicationFlow, CoMortgageApplicationComponent);\r\n this._coApplicationRoutesConfigured = true;\r\n }\r\n this._activeFlow = this._mortgageCoApplicationFlow;\r\n this._activeFlowConfig = this._flowConfigs?.coApplicationFlowConfig;\r\n this._activeFlowConfig.isDefault = this._flowConfigs?.isDefault;\r\n }\r\n\r\n private navigateToStep = (step: WizardStepBase, saveAppStatus: boolean = true): void => {\r\n //if going to a step, make sure to store the farthest visited step in\r\n //last step\r\n const stepIndex = this._activeFlow.steps.findIndex(s => s.id == step.id);\r\n const furthestVisitedStepIndex = this._activeFlow.steps.findIndex(s => s.id == this._furthestVisitedStep.id);\r\n if (stepIndex > furthestVisitedStepIndex) {\r\n this._furthestVisitedStep = step;\r\n }\r\n if (step !== this._currentStep) {\r\n step.previousStep = this._currentStep;\r\n this._previousStep = this._currentStep;\r\n }\r\n if (step !== this._currentStep && !this._visitedSteps.includes(this._currentStep)) {\r\n this._visitedSteps.push(this._currentStep);\r\n }\r\n if (!this._visitedGroups.includes(this._currentStep.groupId)) {\r\n this._visitedGroups.push(this._currentStep.groupId!);\r\n }\r\n\r\n this._currentStep = step;\r\n if (saveAppStatus) {\r\n this.updateApplicationStatus();\r\n }\r\n this.navigateToPath(step.path);\r\n }\r\n\r\n private updateApplicationStatus = (): void => {\r\n if (this._activeFlow !== this._registrationFlow && !this.isEditEnabled) {\r\n let borrowerAppStatus = this._wizardFlowContext.borrowerAppStatus;\r\n borrowerAppStatus.currentStatus = this._currentStep.id;\r\n borrowerAppStatus.lastSuccessfulStatus = this._furthestVisitedStep.id;\r\n borrowerAppStatus.details.visitedStepIds = this._visitedSteps.map(s => s.id);\r\n if (this._wizardFlowContext.mortgage.applicationId) {\r\n this._mortgageApplicationService.saveAppStatus(this._wizardFlowContext.mortgage.applicationId,\r\n this._wizardFlowContext.mortgage.mortgageId, this._wizardFlowContext!.currentBorrower!.borrowerId!, borrowerAppStatus)\r\n .subscribe(() => { });\r\n }\r\n }\r\n }\r\n\r\n private navigateToPath = (path: string, overrideUrl?: boolean, state?: any): void => {\r\n const pathToGo = this._activeFlow.entryPath + '/' + path;\r\n this._navigationService.navigateToPath(pathToGo, overrideUrl, state);\r\n }\r\n\r\n private configureRoutesFromSteps = (flow: WizardFlow, component: Type) => {\r\n if (flow.steps.length === 0) {\r\n return;\r\n }\r\n\r\n let flowEntryRoute = this._router.config.find(r => r.component === component);\r\n if (flowEntryRoute) {\r\n const index = this._router.config.indexOf(flowEntryRoute);\r\n this._router.config.splice(index, 1);\r\n } else {\r\n flowEntryRoute = { path: flow.entryPath, component: component, children: [] };\r\n }\r\n\r\n flow.steps.forEach((step) => {\r\n flowEntryRoute?.children?.push({\r\n path: step.path,\r\n canDeactivate: [BrowserNavigationDeactivateGuard], component: step.component\r\n });\r\n });\r\n\r\n this._router.resetConfig([flowEntryRoute, ...this._router.config]);\r\n }\r\n\r\n private onNavigationStart = (event: any) => {\r\n }\r\n\r\n private configureFlow = (configToUse: WizardFlowConfig, entryPath: string): WizardFlow => {\r\n let flowToConfigure = new WizardFlow();\r\n flowToConfigure.entryPath = entryPath;\r\n\r\n configToUse.steps.forEach(stepConfig => {\r\n const stepFactory = this.getStepFactory(stepConfig.stepType);\r\n if (stepFactory) {\r\n const step = stepFactory.create(stepConfig, this._wizardFlowContext);\r\n flowToConfigure.steps.push(step);\r\n }\r\n });\r\n this._currentStep = flowToConfigure.steps[0];\r\n this._furthestVisitedStep = flowToConfigure.steps[0];\r\n return flowToConfigure;\r\n }\r\n\r\n getStepFactory = (stepType: StepType): ICreateStep | undefined => {\r\n if (stepType === StepType.SingleChoiceQuestionStep) {\r\n return this._singleChoiceQuestionStepFactory;\r\n } else if (stepType === StepType.AddressStep) {\r\n return this._addressStepFactory;\r\n } else if (stepType === StepType.CreateAccount) {\r\n return this._createAccountStepFactory;\r\n } else if (stepType === StepType.MyInfoStep) {\r\n return this._myInfoStepFactory;\r\n } else if (stepType === StepType.CreditScoresStep) {\r\n return this._creditScoresStepFactory;\r\n } else if (stepType === StepType.CheckListsStep) {\r\n return this._checklistsStepFactory;\r\n } else if (stepType === StepType.NumberOfBorrowersStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, NumberOfBorrowersStep);\r\n } else if (stepType === StepType.CurrentAddressStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, CurrentAddressStep);\r\n } else if (stepType === StepType.OwnershipStatusStep) {\r\n return this._ownRentStepFactory;\r\n } else if (stepType === StepType.AddressHistoryStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, AddressHistoryStep);\r\n } else if (stepType === StepType.MultiBorrowersAddressHistoryStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, MultiBorrowersAddressHistoryStep);\r\n } else if (stepType === StepType.DigitalIncomeAndEmploymentStep) {\r\n return this._digitalIncomeVerificationStepFactory;\r\n } else if (stepType === StepType.ManualIncomeAndEmploymentStep) {\r\n return this._incomeStepFactory;\r\n } else if (stepType === StepType.ManualAssetsStep) {\r\n return this._assetsStepFactory;\r\n } else if (stepType === StepType.DigitalAssetsStep) {\r\n return this._digitalAssetsStepFactory;\r\n } else if (stepType === StepType.ReoStep) {\r\n return this._reoStepFactory;\r\n } else if (stepType === StepType.VerifyCreditStep) {\r\n return this._verifyCreditStepFactory;\r\n } else if (stepType === StepType.ReviewCreditStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, ReviewCreditStep);\r\n } else if (stepType === StepType.CreditInquiryStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, CreditInquiryStep);\r\n } else if (stepType === StepType.LoanTypeStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, TypeOfLoanStep);\r\n } else if (stepType === StepType.PullExistingApplicationStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, PullExistingApplicationStep);\r\n } else if (stepType === StepType.DeclarationsStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, DeclarationsStep);\r\n } else if (stepType === StepType.DemographicsStep) {\r\n return this._demoGraphicsStepFactory;\r\n } else if (stepType === StepType.LoanCharacteristicsStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, LoanCharacteristicsStep);\r\n } else if (stepType === StepType.BorrowerCharacteristicsStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, BorrowerCharacteristicsStep);\r\n } else if (stepType === StepType.EConsentStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, ConsentAuthorizationStep);\r\n } else if (stepType === StepType.ReviewApplicationStep) {\r\n return this._reviewApplicationStepFactory;\r\n } else if (stepType === StepType.SubmitApplicationStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, SubmitApplicationStep);\r\n } else if (stepType === StepType.SelectOriginatorStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, SelectOriginatorStep);\r\n } else if (stepType === StepType.MilitaryServiceStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, MilitaryServiceStep);\r\n } else if (stepType === StepType.HoiStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, HoiStep);\r\n } else if (stepType === StepType.PurchaseCreditsStep) {\r\n return this._purchaseCreditsStepFactory;\r\n } else if (stepType === StepType.GatherLeadSourceStep) {\r\n return this._gatherLeadSourceStepFactory;\r\n } else if (stepType === StepType.LinkLiabilitiesToReoStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, LinkLiabilitiesToReoStep);\r\n } else if (stepType === StepType.PricingStep) {\r\n return this._pricingStepFactory;\r\n } else if (stepType === StepType.HomeownershipEducationStep) {\r\n return new GenericStepFactory(this._nextStepDeciderFactory, HomeownershipEducationStep);\r\n } else if (stepType === StepType.CreateCoBorrowersStep) {\r\n return this._createMultipleCoBorrowersStepFactory;\r\n }\r\n return undefined;\r\n }\r\n\r\n private prepareEditModeWizardFlowContext = (): WizardFlowContext => {\r\n let mortgageApplication = new MortgageApplication();\r\n mortgageApplication.userGuid = \"unassigned\";\r\n mortgageApplication.borrowers = [];\r\n let borrower = new Borrower();\r\n borrower.borrowerId = 12345;\r\n borrower.firstName = \"Mark\";\r\n borrower.lastName = \"Spencer\";\r\n borrower.socialSecNum = '666-66-6666';\r\n borrower.dateOfBirth = '01/01/1977';\r\n borrower.languagePreference = 'English';\r\n\r\n borrower.declarations = new Declarations();\r\n borrower.declarations.residenceStatus = \"USCitizen\";\r\n borrower.maritalStatus = \"Single\";\r\n borrower.phoneNumber = \"(555)5555555\";\r\n borrower.mobilePhone = \"(555)5555555\";\r\n\r\n borrower.residencyAddresses = [];\r\n let residencyAddress = new ResidencyAddress(ResidencyType.PresentAddress);\r\n residencyAddress.address = new Address();\r\n residencyAddress.address.address1 = \"123 Any St.\";\r\n residencyAddress.address.city = \"San Diego\";\r\n residencyAddress.address.state = \"ca\";\r\n residencyAddress.address.zipCode = \"92128\";\r\n\r\n residencyAddress.durationYears = 6;\r\n residencyAddress.durationMonths = 11;\r\n residencyAddress.rent = 3500;\r\n residencyAddress.residencyBasis = ResidencyBasis.Own;\r\n\r\n borrower.residencyAddresses.push(residencyAddress);\r\n\r\n let borrowerCreditScores: BorrowerCreditScores[] = [];\r\n let scores = new BorrowerCreditScores();\r\n scores.borrowerId = borrower.borrowerId;\r\n scores.borrowerName = \"Mark Spencer\";\r\n scores.equifax = 750;\r\n scores.experian = 678;\r\n scores.transUnion = 708;\r\n scores.date = new Date(\"01/01/2021\");\r\n borrowerCreditScores.push(scores);\r\n this.creditScores = borrowerCreditScores;\r\n\r\n let creditInquiry = new CreditInquiryDetailsEntry()\r\n creditInquiry.newDebtAcquired = false;\r\n creditInquiry.fullName = \"ABC Bank\";\r\n creditInquiry.reason = \"2\";\r\n creditInquiry.creditInquiryDate = \"01/01/2019\";\r\n borrower.creditInquiry = new CreditInquiryDetails();\r\n borrower.creditInquiry.entries = [];\r\n borrower.creditInquiry.entries.push(creditInquiry);\r\n\r\n mortgageApplication.transactionDetail = new TransactionDetail();\r\n mortgageApplication.transactionDetail.purchasePriceAmount = 540000;\r\n let purchaseCredit = new PurchaseCredit();\r\n mortgageApplication.transactionDetail.purchaseCredits = [purchaseCredit];\r\n mortgageApplication.transactionDetail.purchaseCredits[0].purchaseCreditAmount = 200000;\r\n\r\n mortgageApplication.subjectProperty = new SubjectProperty();\r\n mortgageApplication.subjectProperty.downPaymentSource = \"CashOnHand\";\r\n mortgageApplication.subjectProperty.purposeOfLoan = LoanPurpose.Purchase;\r\n mortgageApplication.subjectProperty.address1 = '123 Any St.';\r\n mortgageApplication.subjectProperty.city = 'San Diego';\r\n mortgageApplication.subjectProperty.state = 'ca';\r\n mortgageApplication.subjectProperty.zipCode = '92128';\r\n mortgageApplication.subjectProperty.presentValue = 450000;\r\n\r\n mortgageApplication.mortgageTerm = new MortgageTerm();\r\n mortgageApplication.mortgageTerm.amount = 250000;\r\n mortgageApplication.mortgageTerm.mortgageAppliedFor = 'Conventional';\r\n\r\n mortgageApplication.extension.hasSignedPurchaseAgreement = false;\r\n\r\n borrower.declarations.haveCompletedShortSale = false;\r\n borrower.declarations.haveConveyedTitleInLieuOfForeclosure = false;\r\n borrower.declarations.haveJudgement = false;\r\n borrower.declarations.haveLawsuit = false;\r\n borrower.declarations.havePropertiesOwnership = false;\r\n borrower.declarations.haveRelationshipWithSeller = false;\r\n borrower.declarations.haveTaxDebt = false;\r\n borrower.declarations.occupyProperty = false;\r\n borrower.declarations.propertyHasLienWithCleanEnergyProgram = false;\r\n borrower.declarations.heldTitleHow = \"0\";\r\n borrower.declarations.borrowedDownPayment = false;\r\n borrower.declarations.coSignedLoan = false;\r\n borrower.declarations.beenForclosed = false;\r\n borrower.declarations.applyingForOtherMortgage = false;\r\n borrower.declarations.applyingForNonMortgageCredit = false;\r\n borrower.declarations.declaredBankruptcy = false;\r\n\r\n borrower.governmentMonitors = new Demographics();\r\n\r\n mortgageApplication.borrowers.push(borrower);\r\n\r\n mortgageApplication.realEstateOwned = [];\r\n let context = new WizardFlowContext(mortgageApplication, this._customerPreferences);\r\n return context;\r\n }\r\n\r\n get campaignId(): number | undefined {\r\n return this._campaignId;\r\n }\r\n\r\n get leadSourceOverride(): string | undefined {\r\n return this._leadSourceOverride;\r\n }\r\n\r\n get leadId(): number | undefined {\r\n return this._leadId;\r\n }\r\n\r\n get leadGuid(): string | undefined {\r\n return this._leadGuid;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, map } from \"rxjs\";\r\nimport { DataService } from \"./data.service\";\r\nimport { ZipCodeLookupResult } from \"../models/zipcode-lookup-result.model\";\r\n\r\n@Injectable()\r\nexport class ZipCodeService {\r\n\r\n constructor(private readonly _dataService: DataService) { }\r\n\r\n lookupZipCode = (zipCode: string, isUspsVerified: boolean): Observable => {\r\n const url = `api/Zipcode/Lookup/${zipCode}?showOnlyUSPSRecognized=${isUspsVerified}`;\r\n return this._dataService.get(url);\r\n }\r\n}","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\nimport { Observer, Subscription } from 'rxjs';\r\nimport { ShortLinkService } from '../services/short-link.service';\r\nimport { NotificationService } from '../services/notification.service';\r\n\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport class ShortLinkRedirectComponent implements OnInit, OnDestroy {\r\n\r\n private _activatedRouteQueryParamsSubscription: Subscription;\r\n\r\n private _activatedRouteParamsSubscription: Subscription;\r\n\r\n constructor(private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _notificationService: NotificationService,\r\n private readonly _shortLinksService: ShortLinkService) { }\r\n\r\n ngOnInit() {\r\n this._activatedRouteQueryParamsSubscription = this._activatedRoute.queryParams.subscribe((queryParams) => {\r\n this._activatedRouteParamsSubscription = this._activatedRoute.params.subscribe((routeParams) => {\r\n const shortCode = this._activatedRoute.snapshot.paramMap.get('shortCode');\r\n if (shortCode) {\r\n let queryString = \"\";\r\n if (queryParams && Object.keys(queryParams).length > 0) {\r\n queryString = Object.keys(queryParams).map(key => key + '=' + queryParams[key]).join('&');\r\n }\r\n this.getExpandedUrlAndRedirect(shortCode, queryString ? encodeURIComponent(`?${queryString}`) : \"\");\r\n }\r\n });\r\n });\r\n }\r\n\r\n private getExpandedUrlAndRedirect(shortCode: string, queryString: string) {\r\n const observer: Observer = {\r\n next: (redirectResponse: {url: string}) => {\r\n window.location.href = redirectResponse.url;\r\n },\r\n error: (error: Error) => {\r\n this._notificationService.showError(\r\n getErrorMessageOrDefault(error, {\r\n defaultMessage: 'Error getting the original URL from the short link.',\r\n }),\r\n 'Error!'\r\n );\r\n },\r\n complete: () => {\r\n }\r\n }\r\n\r\n this._spinner.show();\r\n this._shortLinksService.getShortLinkRedirectUrl(shortCode, queryString).subscribe(observer)\r\n .add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._activatedRouteParamsSubscription?.unsubscribe();\r\n this._activatedRouteQueryParamsSubscription?.unsubscribe();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'terms-and-conditions',\r\n templateUrl: 'terms-and-conditions.component.html'\r\n})\r\n\r\nexport class TermsAndConditionsComponent implements OnInit {\r\n\r\n possibleLogUrls: string[] = [];\r\n\r\n privacyStatement: string = \"\";\r\n\r\n termsOfUse: string = \"\";\r\n\r\n constructor(private readonly _http: HttpClient,\r\n private readonly _window: Window) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getPrivacyStatement();\r\n this.getTermsOfUse();\r\n }\r\n\r\n getPrivacyStatement = () => {\r\n const url = `./assets/privacy-statement.html`;\r\n this._http.get(url, { responseType: 'text' }).subscribe(data => {\r\n this.privacyStatement = data;\r\n });\r\n }\r\n\r\n getTermsOfUse = () => {\r\n const url = `./assets/terms-of-use.html`;\r\n this._http.get(url, { responseType: 'text' }).subscribe(data => {\r\n const hostName = this._window.location.hostname;\r\n this.termsOfUse = data.replace('[URL]', hostName);\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","import { Component, Input, OnInit, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'user-account-template',\r\n templateUrl: 'user-account-template.component.html'\r\n})\r\n\r\nexport class UserAccountTemplateComponent implements OnInit {\r\n\r\n @Input()\r\n contentTemplate!: TemplateRef;\r\n\r\n constructor() {\r\n document.body.style.backgroundImage = \"url('../../../assets/images/login-background-2.jpg')\";\r\n document.body.style.backgroundSize = \"cover\";\r\n document.body.style.backgroundPosition = \"center left\";\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnDestroy(){\r\n document.body.style.backgroundImage = \"\";\r\n }\r\n}\r\n","\r\n","import { forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport abstract class AbstractValueAccessor implements ControlValueAccessor {\r\n\r\n protected _value: any = '';\r\n\r\n get value(): any { return this._value; };\r\n\r\n set value(v: any) {\r\n this.doSetValue(v);\r\n }\r\n\r\n writeValue(value: any) {\r\n this._value = value;\r\n // warning: comment below if only want to emit on user intervention\r\n this.onChange(value);\r\n }\r\n\r\n protected doSetValue(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n onChange = (_: any) => {};\r\n\r\n onTouched = () => {};\r\n\r\n registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => void): void { this.onTouched = fn; }\r\n}\r\n\r\nexport function MakeProvider(type : any){\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => type),\r\n multi: true\r\n };\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { ResidencyAddress } from '../../models/residency-address.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { AddressHistoryDialogComponent } from '../address-history-dialog/address-history-dialog.component';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'address-history-card',\r\n templateUrl: 'address-history-card.component.html'\r\n})\r\nexport class AddressHistoryCardComponent implements OnInit {\r\n constructor(private readonly _modalService: ModalService,\r\n private readonly _enumService: EnumsService) { }\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Output()\r\n borrowerChanged: EventEmitter = new EventEmitter();\r\n\r\n private _addressCount!: number;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reviewApplication\"\r\n };\r\n\r\n public get addressCount(): number {\r\n return this._addressCount;\r\n }\r\n\r\n onEditClicked = (residencyAddress: ResidencyAddress) => {\r\n this.showAddressHistoryPopup(residencyAddress);\r\n }\r\n\r\n public residencyBasisName(residencyAddress: ResidencyAddress) {\r\n return this._enumService.residencyBasisName(residencyAddress.residencyBasis);\r\n }\r\n\r\n private showAddressHistoryPopup(residencyAddress: ResidencyAddress) {\r\n const modal = this._modalService.show(AddressHistoryDialogComponent, this.modalOptions);\r\n let _residencyAddress = _.cloneDeep(residencyAddress);\r\n modal.componentInstance.residencyAddress = _residencyAddress;\r\n modal.result.then((r: ResidencyAddress) => {\r\n this.onSaveClickedOnAddressHistoryModalForEdit(r)\r\n }, error => { });\r\n }\r\n\r\n private onSaveClickedOnAddressHistoryModalForEdit(residencyAddress: ResidencyAddress) {\r\n let index: number = this.borrower.residencyAddresses.findIndex(a => a.residencyAddressId === residencyAddress.residencyAddressId)!;\r\n this.borrower.residencyAddresses[index] = residencyAddress;\r\n this.borrowerChanged.emit(this.borrower);\r\n }\r\n\r\n ngOnInit() {\r\n this._addressCount = this.borrower.residencyAddresses.length;\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
ADDRESS HISTORY
\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
AddressResidency BasisLive for
{{residencyAddress.address!.address1}}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{residencyBasisName(residencyAddress)}}\r\n \r\n
\r\n \r\n
\r\n \r\n
{{residencyAddress.durationYears}} years\r\n {{residencyAddress.durationMonths}} months\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{residencyAddress.address!.address1}}
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Residency Basis:
\r\n
{{residencyBasisName(residencyAddress)}}
\r\n
\r\n
\r\n
Live for:
\r\n
{{residencyAddress.durationYears}} years\r\n {{residencyAddress.durationMonths}} months
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ResidencyAddress } from '../../models/residency-address.model';\r\nimport { AddressHistory2Component } from '../wizard-steps/address-history2/address-history2.component';\r\n\r\n@Component({\r\n selector: 'address-history-dialog',\r\n templateUrl: 'address-history-dialog.component.html'\r\n})\r\nexport class AddressHistoryDialogComponent implements OnInit {\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n\r\n private _residencyAddress!: ResidencyAddress;\r\n\r\n @ViewChild('addressHistoryForm') addressHistoryForm: NgForm | undefined;\r\n @ViewChild(AddressHistory2Component) addressComponent: AddressHistory2Component | undefined;\r\n\r\n public get header(): string {\r\n return \"Address History\";\r\n }\r\n\r\n @Input()\r\n public set residencyAddress(residencyAddress: ResidencyAddress) {\r\n this._residencyAddress = residencyAddress;\r\n }\r\n\r\n public get residencyAddress(): ResidencyAddress {\r\n return this._residencyAddress;\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.addressHistoryForm?.form.markAllAsTouched();\r\n if (this.addressComponent?.validate() && this.addressHistoryForm?.form.valid) {\r\n this.activeModal.close(this._residencyAddress);\r\n }\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n\r\n

{{header}}

\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","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { NgForm, NgModel } from '@angular/forms';\r\nimport { AddressAutocompleteComponent } from 'projects/shared/address-autocomplete/address-autocomplete.component';\r\nimport { Address } from '../../models/address-model';\r\nimport { CountryEnumerationItem, EnumsService } from '../../services/enums.service';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { ApplicationContextService } from '../../services/application-context.service';\r\nimport { ConfigurableFieldHostComponent } from '../configurable-field-host.component';\r\nimport { ZipCodeService } from '../../services/zip-code.service';\r\nimport { ZipCodeLookupResult } from '../../models/zipcode-lookup-result.model';\r\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MakeProvider } from '../abstract-value-accessor';\r\nimport { formViewProvider } from '../../services/form-view.provider';\r\nimport * as _ from 'lodash';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'address',\r\n templateUrl: 'address.component.html',\r\n styleUrls: ['./address.component.scss'],\r\n providers: [MakeProvider(AddressComponent)],\r\n viewProviders: [formViewProvider]\r\n})\r\nexport class AddressComponent extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @ViewChild('addressForm') addressForm: NgForm | undefined;\r\n\r\n @ViewChild(AddressAutocompleteComponent) addressAutoComplete:\r\n | AddressAutocompleteComponent\r\n | undefined;\r\n\r\n @ViewChild('stateOfAddress') stateElement: ElementRef | undefined;\r\n @ViewChild('zipCodeOfAddress') zipCodeElement: ElementRef | undefined;\r\n @ViewChild('cityOfAddress') cityElement: ElementRef | undefined;\r\n @ViewChild('control') zipCode: NgModel;\r\n @ViewChild('control') input: ElementRef;\r\n\r\n @Input()\r\n address: Address;\r\n\r\n @Input()\r\n canSetTbd: boolean = false;\r\n\r\n @Input()\r\n required: boolean = true;\r\n\r\n @Input()\r\n isDialogView: boolean = false;\r\n\r\n @Input()\r\n inEditMode: boolean = false;\r\n\r\n @Input()\r\n addressTbdLabel: string = 'TBD';\r\n\r\n @Input()\r\n showCountry: boolean = false;\r\n\r\n @Input()\r\n showCounty: boolean = false;\r\n\r\n @Input()\r\n requireUserToEnterZipCodeWhenTbd: boolean = false;\r\n\r\n @Input()\r\n fieldConfigSettings: AddressFieldConfigSettings = new AddressFieldConfigSettings();\r\n\r\n @Input()\r\n zipCodeLookupEnabled: boolean = false;\r\n\r\n @Input()\r\n set isTbd(value: boolean) {\r\n this._isTbd = value;\r\n this.onIsTbdChanged();\r\n }\r\n\r\n get isTbd(): boolean {\r\n return this._isTbd;\r\n }\r\n\r\n @Input()\r\n isTbdDisabled: boolean = false;\r\n\r\n @Input()\r\n set availableStates(availableStates: EnumerationItem[]) {\r\n if (availableStates && availableStates.length) {\r\n this.states = availableStates;\r\n } else {\r\n this.states = this._enumsService.states;\r\n }\r\n }\r\n\r\n @Output()\r\n addressTbdLabelChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n addressChanged: EventEmitter
= new EventEmitter
();\r\n\r\n @Output()\r\n addressIsTbdChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n countryChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n zipcodeSearchStarted: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n zipcodeSearchCompleted: EventEmitter = new EventEmitter();\r\n\r\n states: EnumerationItem[] = [];\r\n countries: CountryEnumerationItem[] = [];\r\n\r\n uniqueId: string;\r\n suggestions: ZipCodeLookupResult[] = [];\r\n loadingZipcodes: boolean = false;\r\n placeHolder: string;\r\n mask: string;\r\n pattern: string;\r\n\r\n public isZipKnownByTheBorrower: boolean = false;\r\n\r\n private _isTbd: boolean = false;\r\n\r\n constructor(\r\n private readonly _enumsService: EnumsService,\r\n private readonly _ctxService: ApplicationContextService,\r\n private readonly _zipCodeService: ZipCodeService,\r\n private readonly _spinner: NgxSpinnerService\r\n ) {\r\n super();\r\n if (!this.address) {\r\n this.address = new Address();\r\n }\r\n this.uniqueId = uuidv4();\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.states || !this.states.length) {\r\n this.states = this._enumsService.states;\r\n }\r\n if (\r\n this.canSetTbd &&\r\n this.address.address1?.toLocaleLowerCase() === 'tbd'\r\n ) {\r\n this._isTbd = true;\r\n }\r\n if (!this.address.state) {\r\n this.address.state = null;\r\n }\r\n\r\n if (this.showCountry) {\r\n this._ctxService.context.subscribe(ctx => {\r\n this.countries = ctx.globalConfig.countries.map(c => {\r\n c.alpha2 = c.alpha2.toLowerCase();\r\n return c;\r\n });\r\n });\r\n }\r\n\r\n if (this.address && !this.address.country) {\r\n this.address.country = \"us\";\r\n }\r\n\r\n if (this.requireUserToEnterZipCodeWhenTbd) {\r\n this.isZipKnownByTheBorrower = true;\r\n }\r\n\r\n this.placeHolder = 'XXXXX';\r\n this.mask = '00000';\r\n this.pattern = '^[0-9]{5}?$'\r\n }\r\n\r\n onIsTbdChanged = () => {\r\n if (this.isTbd) {\r\n this.address.address1 = 'TBD';\r\n if (!this.isZipKnownByTheBorrower) {\r\n this.nullifyAddressWhenTbd();\r\n }\r\n } else {\r\n this.address.address1 = '';\r\n }\r\n this.addressIsTbdChanged.emit(this.isTbd);\r\n };\r\n\r\n onKeyDownOnAddress = (e: any) => {\r\n if (e.key === 'Tab') {\r\n this.doZipLookupOnBlur(e);\r\n }\r\n }\r\n\r\n onAddressBlurred = (e: any) => {\r\n if (e.relatedTarget?.id === 'search-zip-code-btn') {\r\n return;\r\n }\r\n this.doZipLookupOnBlur(e);\r\n }\r\n\r\n selectZipcode = (suggestion: ZipCodeLookupResult) => {\r\n this.sendSelectionChanges(suggestion);\r\n }\r\n\r\n onAddressTbdLabelChanged = () => {\r\n this.addressTbdLabelChanged.emit(this.addressTbdLabel);\r\n }\r\n\r\n onAnswerForZipcodeQuestionChanged = () => {\r\n if (!this.isZipKnownByTheBorrower) {\r\n this.nullifyAddressWhenTbd();\r\n }\r\n };\r\n\r\n setManuallyEnteredAddress(address: string) {\r\n this.address.address1 = address;\r\n }\r\n\r\n setGooglePickedAddress(address: Address) {\r\n this.address.address1 = address.address1;\r\n this.address.city = address.city;\r\n this.address.state = address.state;\r\n this.address.zipCode = address.zipCode;\r\n this.address.county = address.county;\r\n }\r\n\r\n onAddressChanged = () => {\r\n this.addressChanged.emit({ ...this.address });\r\n }\r\n\r\n searchZipcode = (selectionsDropdown: NgbDropdown) => {\r\n this.loadingZipcodes = true;\r\n this.suggestions = [];\r\n\r\n if (!this.address.zipCode) {\r\n this.loadingZipcodes = false;\r\n return;\r\n }\r\n\r\n this._spinner.show();\r\n this._zipCodeService.lookupZipCode(this.address.zipCode, true)\r\n .subscribe((suggestions) => {\r\n this.suggestions = suggestions;\r\n this.loadingZipcodes = false;\r\n selectionsDropdown.open();\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n onCountryChanged = () => {\r\n if (this.address && this.address.country && this.address.country != \"us\") {\r\n this.address.address1 = \"\";\r\n this.address.city = \"\";\r\n this.address.state = \"\";\r\n this.address.zipCode = \"\";\r\n this.address.county = \"\";\r\n }\r\n\r\n this.countryChanged.emit(this.address.country);\r\n }\r\n\r\n validate = () => {\r\n this.addressForm?.form.markAllAsTouched();\r\n this.addressAutoComplete?.markAsTouched();\r\n if (this.addressForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n private doZipLookupOnBlur = (e: any) => {\r\n if (!this.address.zipCode || !this.zipCodeLookupEnabled) {\r\n return;\r\n }\r\n this.zipcodeSearchStarted.emit(e);\r\n this._spinner.show();\r\n this._zipCodeService.lookupZipCode(this.address.zipCode, true)\r\n .subscribe((suggestions) => {\r\n if (suggestions && suggestions.length > 0) {\r\n this.selectZipcode(suggestions[0]);\r\n setTimeout(() => {\r\n this.zipcodeSearchCompleted.emit(e);\r\n this._spinner.hide();\r\n }, 250);\r\n }\r\n }, err => {\r\n\r\n });\r\n }\r\n\r\n private nullifyAddressWhenTbd = () => {\r\n this.address.zipCode = null;\r\n this.address.city = null;\r\n this.address.state = null;\r\n this.address.county = null;\r\n };\r\n\r\n private sendSelectionChanges = (suggestion: ZipCodeLookupResult) => {\r\n if (suggestion) {\r\n this.address.city = _.startCase(_.toLower(suggestion.city));\r\n this.address.state = suggestion.state.toLowerCase();\r\n this.address.zipCode = suggestion.zipcode;\r\n this.address.county = _.startCase(_.toLower(suggestion.county));\r\n this.addressChanged.emit({ ...this.address });\r\n } else {\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class AddressFieldConfigSettings {\r\n stateField: string = 'state';\r\n}\r\n\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Do you know the zip code where you are\r\n looking for a property?\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 This field is in invalid format\r\n
\r\n
\r\n
\r\n \r\n
\r\n No records found\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
\r\n This field is in invalid format\r\n
\r\n
\r\n
\r\n \r\n
\r\n No records found\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { Constants } from '../../services/constants';\r\n\r\n@Component({\r\n selector: 'application-submitted',\r\n templateUrl: 'application-submitted.component.html'\r\n})\r\n\r\nexport class ApplicationSubmittedComponent implements OnInit {\r\n\r\n @Input()\r\n heading: string = \"Welcome!\";\r\n\r\n @Input()\r\n message1: string = \"Your application has already been submitted.\";\r\n\r\n @Input()\r\n message2: string = \"Please, click the link below to go to your Borrower Portal.\";\r\n\r\n @Input()\r\n showImage: boolean = true;\r\n\r\n constructor(private _environmentService: EnvironmentService,\r\n private _mortgageApplicationService: MortgageApplicationService) { }\r\n\r\n ngOnInit() { }\r\n\r\n onGotoBorrowerPortalClicked = () => {\r\n this._mortgageApplicationService.getBorrowerPortalUrl().subscribe(url => {\r\n setTimeout(() => {\r\n //redirect\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n const authDataObj = JSON.parse(localStorage.getItem(authorizationDataKey)!);\r\n const token = authDataObj.token;\r\n let redirectUrl = \"https://\" + url + \"/loans-redirect/\"\r\n + this._mortgageApplicationService.mortgageApplication.applicationId + \"?authToken=\" + token;\r\n window.location.href = redirectUrl;\r\n }, 2000);\r\n }, error => {\r\n\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

{{heading}}

\r\n

{{message1}}

\r\n

{{message2}}

\r\n Take Me to Borrower Portal\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Asset } from '../../models/asset.model';\r\n\r\n@Component({\r\n selector: 'asset-card',\r\n templateUrl: 'asset-card.component.html'\r\n})\r\nexport class AssetCardComponent {\r\n\r\n @Input()\r\n assets!: Asset[];\r\n\r\n @Output()\r\n assetEdited: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n assetDeleted: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n onAssetEdited = (asset: Asset) => {\r\n this.assetEdited.emit(asset);\r\n }\r\n\r\n onAssetDeleted = (id: number) => {\r\n this.assetDeleted.emit(id);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
ASSETS
\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","import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { ResidencyBasis } from '../../models/enums/residency-basis.enum';\r\nimport { ResidencyType } from '../../models/enums/residency-type.enum';\r\nimport { ResidencyAddress } from '../../models/residency-address.model';\r\nimport { ConfigurableFieldHostComponent } from '../configurable-field-host.component';\r\nimport { AddressHistory2Component } from '../wizard-steps/address-history2/address-history2.component';\r\nimport { ReoPropertiesComponent } from '../wizard-steps/reo-properties/reo-properties.component';\r\nimport { formViewProvider } from '../../services/form-view.provider';\r\nimport { MortgageApplication } from '../../models/mortgage-app.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { Address } from '../../models/address-model';\r\nimport { RealEstateOwned } from '../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'borrower-address-history',\r\n templateUrl: 'borrower-address-history.component.html',\r\n viewProviders: [formViewProvider],\r\n})\r\nexport class BorrowerAddressHistoryComponent extends ConfigurableFieldHostComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChildren('previousAddressHistory') addressHistoryComponents: QueryList | undefined;\r\n\r\n @ViewChild('currentAddressHistory') currentAddressComponent: AddressHistory2Component | undefined;\r\n\r\n @ViewChild(\"reoProperties\")\r\n reoProperties: ReoPropertiesComponent;\r\n\r\n @ViewChild('addressHistoryForm') addressHistoryForm: NgForm | undefined;\r\n\r\n @Input()\r\n mortgage: MortgageApplication;\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n currentAddressLabel!: string;\r\n\r\n @Input()\r\n reoFieldsToConfig: any = {};\r\n\r\n @Input()\r\n inEditMode: boolean = false;\r\n\r\n @Output()\r\n residencyBasedChangedToNonOwner: EventEmitter = new EventEmitter();\r\n\r\n currentAddress!: ResidencyAddress;\r\n previousAddresses: ResidencyAddress[] = [];\r\n\r\n monthsOfAddressHistory: number = 0;\r\n\r\n previousAddressToDelete: ResidencyAddress | undefined = undefined;\r\n\r\n showInsufficientAddressHistoryWarning: boolean = false;\r\n\r\n protected reoForCurrentAddress: RealEstateOwned = new RealEstateOwned();\r\n\r\n private _invalidComponent;\r\n\r\n private _invalidComponentName: string;;\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n super();\r\n }\r\n\r\n public get hasAtLeast2YearsOfAddressHistory(): boolean {\r\n const residencyAddresses = [...this.previousAddresses, this.currentAddress];\r\n this.monthsOfAddressHistory = this.calculateMonthsOfAddressHistory(residencyAddresses);\r\n return this.monthsOfAddressHistory >= 24;\r\n }\r\n\r\n ngOnInit() {\r\n this.currentAddress = this.borrower.residencyAddresses.find(a => a.residencyType == ResidencyType.PresentAddress);\r\n if (!this.currentAddress) {\r\n this.currentAddress = new ResidencyAddress(ResidencyType.PresentAddress);\r\n this.borrower.residencyAddresses.push(this.currentAddress);\r\n }\r\n this.previousAddresses = this.borrower.residencyAddresses.filter(a => a.residencyType == ResidencyType.FormerAddress);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.reoForCurrentAddress = this.initializeReoRelatedToAddress(this.currentAddress);\r\n this.addOrRemoveReoBasedOnOwnershipStatus(this.currentAddress.residencyBasis);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n private initializeReoRelatedToAddress = (address: ResidencyAddress): RealEstateOwned => {\r\n if (!this.inEditMode) {\r\n const existingReo = this.findAlreadyExistingReoInMortgageByAddress(address.address);\r\n if (existingReo) {\r\n this.fixReoAcquiredDate(existingReo);\r\n return existingReo;\r\n } else {\r\n let reo = new RealEstateOwned();\r\n reo.address1 = address.address?.address1;\r\n reo.city = address.address?.city;\r\n reo.state = address.address?.state;\r\n reo.zipCode = address.address?.zipCode;\r\n reo.owningBorrowerIds = [this.borrower.borrowerId];\r\n return reo;\r\n }\r\n } else {\r\n return this.initializeReoDefaultsForEditMode();\r\n }\r\n }\r\n\r\n onAddressChanged = (address: Address) => {\r\n const index = this.reoForCurrentAddress.owningBorrowerIds.findIndex(id => id == this.borrower.borrowerId);\r\n if (index >= 0) {\r\n this.reoForCurrentAddress.owningBorrowerIds.splice(index, 1);\r\n }\r\n this.reoForCurrentAddress = this.initializeReoRelatedToAddress(this.currentAddress);\r\n this.addOrRemoveReoBasedOnOwnershipStatus(this.currentAddress.residencyBasis);\r\n }\r\n\r\n onOwnershipStatusChanged = (ownershipStatus: ResidencyBasis) => {\r\n this.addOrRemoveReoBasedOnOwnershipStatus(ownershipStatus);\r\n }\r\n\r\n onPreviousAddressDeleteCancelClicked = (previousAddress: ResidencyAddress) => {\r\n this.previousAddressToDelete = undefined;\r\n }\r\n\r\n onPreviousAddressDeleteConfirmClicked = (previousAddress: ResidencyAddress) => {\r\n const index = this.borrower.residencyAddresses.indexOf(previousAddress);\r\n if (index >= 0) {\r\n this.borrower.residencyAddresses.splice(index, 1);\r\n this.previousAddresses = this.borrower.residencyAddresses.filter(a => a.residencyType == ResidencyType.FormerAddress);\r\n }\r\n this.previousAddressToDelete = undefined;\r\n }\r\n\r\n private addPreviousAddressClicked = () => {\r\n const previousAddress = new ResidencyAddress(ResidencyType.FormerAddress);\r\n this.borrower.residencyAddresses.push(previousAddress);\r\n this.previousAddresses = this.borrower.residencyAddresses.filter(a => a.residencyType == ResidencyType.FormerAddress);\r\n }\r\n\r\n onPreviousAddressDeleteClicked = (previousAddress: ResidencyAddress) => {\r\n this.previousAddressToDelete = previousAddress;\r\n }\r\n\r\n onDurationAtAddressChanged = (e: any) => {\r\n // const hasEnoughAddressHistory = this.hasAtLeast2YearsOfAddressHistory;\r\n // this.showInsufficientAddressHistoryWarning = !hasEnoughAddressHistory;\r\n // if (!hasEnoughAddressHistory) {\r\n // if (this.validateAddressHistoryFields()) {\r\n // this.addPreviousAddressClicked();\r\n // }\r\n // }\r\n }\r\n\r\n public validateAddressHistory = (): boolean => {\r\n let valid = this.validateAddressHistoryFields();\r\n const hasAtLeast2YearsOfAddressHistory = this.hasAtLeast2YearsOfAddressHistory;\r\n if (!hasAtLeast2YearsOfAddressHistory && valid) {\r\n this.addPreviousAddressClicked();\r\n }\r\n return valid && hasAtLeast2YearsOfAddressHistory;\r\n }\r\n\r\n private addOrRemoveReoBasedOnOwnershipStatus = (ownershipStatus: ResidencyBasis) => {\r\n const alreadyExistingReo = this.findAlreadyExistingReoInMortgageByAddress(this.currentAddress.address);\r\n if (ownershipStatus === ResidencyBasis.Own) {\r\n if (!alreadyExistingReo) {\r\n this.mortgage.realEstateOwned.push(this.reoForCurrentAddress);\r\n } else {\r\n const index = alreadyExistingReo.owningBorrowerIds.findIndex(id => id == this.borrower.borrowerId);\r\n if (index < 0) {\r\n alreadyExistingReo.owningBorrowerIds.push(this.borrower.borrowerId);\r\n }\r\n }\r\n } else {\r\n if (alreadyExistingReo) {\r\n if (alreadyExistingReo.owningBorrowerIds.includes(this.borrower.borrowerId)) {\r\n if (alreadyExistingReo.owningBorrowerIds.length > 1) {\r\n const index = alreadyExistingReo.owningBorrowerIds.findIndex(id => id == this.borrower.borrowerId);\r\n if (index >= 0) {\r\n alreadyExistingReo.owningBorrowerIds.splice(index, 1);\r\n }\r\n } else {\r\n const index = this.mortgage.realEstateOwned.findIndex(reo => reo === this.reoForCurrentAddress);\r\n if (index >= 0) {\r\n this.mortgage.realEstateOwned.splice(index, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n private calculateMonthsOfAddressHistory = (residencyAddresses: ResidencyAddress[]): number => {\r\n let months: number = 0;\r\n for (let residencyAddress of residencyAddresses) {\r\n const yearsAtAddress = residencyAddress.durationYears ? residencyAddress.durationYears : 0;\r\n const monthsAtAddress = residencyAddress.durationMonths ? residencyAddress.durationMonths : 0;\r\n months = months + 12 * yearsAtAddress + monthsAtAddress;\r\n }\r\n return months;\r\n }\r\n\r\n private validateAddressHistoryFields = (): boolean => {\r\n let valid = true;\r\n if (this.addressHistoryForm) {\r\n this.addressHistoryForm.form.markAllAsTouched();\r\n valid = this.addressHistoryForm.form.valid;\r\n }\r\n if (this.currentAddressComponent) {\r\n valid = this.currentAddressComponent.validate() && valid;\r\n if (!valid) {\r\n this._invalidComponentName = 'currentAddress';\r\n }\r\n }\r\n if (this.addressHistoryComponents) {\r\n const addressHistoryComponents: AddressHistory2Component[] = this.addressHistoryComponents.toArray();\r\n addressHistoryComponents.forEach(c => {\r\n valid = c.validate() && valid;\r\n if (!valid && !this._invalidComponentName && !this._invalidComponent)\r\n this._invalidComponentName = 'previousAddresses';\r\n this._invalidComponent = c;\r\n })\r\n }\r\n return valid;\r\n }\r\n\r\n public validate = (): boolean => {\r\n this._invalidComponentName = null;\r\n this._invalidComponent = null;\r\n let valid = this.validateAddressHistoryFields();\r\n if (!valid) {\r\n return false;\r\n }\r\n if (this.currentAddress.residencyBasis === 'Own') {\r\n valid = this.reoProperties.validate();\r\n if (!valid) {\r\n this._invalidComponentName = 'reo';\r\n }\r\n }\r\n if (valid) {\r\n const hasEnoughAddressHistory = this.hasAtLeast2YearsOfAddressHistory;\r\n this.showInsufficientAddressHistoryWarning = !hasEnoughAddressHistory;\r\n if (!hasEnoughAddressHistory) {\r\n this.addPreviousAddressClicked();\r\n }\r\n valid = hasEnoughAddressHistory;\r\n }\r\n\r\n return valid;\r\n }\r\n\r\n public scrollToFirstInvalid = () => {\r\n let firstInvalidOneId: string = null;\r\n switch (this._invalidComponentName) {\r\n case 'currentAddress':\r\n const addressFormControls = Object.assign(\r\n this.currentAddressComponent.addressComponent.addressForm.form.controls,\r\n this.currentAddressComponent.addressRelatedInfoForm.form.controls\r\n );\r\n\r\n for (var key in addressFormControls) {\r\n if (addressFormControls.hasOwnProperty(key)) {\r\n if (addressFormControls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n case 'reo':\r\n for (var key in this.reoProperties.reoPropertiesForm.form.controls) {\r\n if (this.reoProperties.reoPropertiesForm.form.controls.hasOwnProperty(key)) {\r\n if (this.reoProperties.reoPropertiesForm.form.controls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n case 'previousAddresses':\r\n const previousAddressFormControls = Object.assign(\r\n this._invalidComponent.addressComponent.addressForm.form.controls,\r\n this._invalidComponent.addressRelatedInfoForm.form.controls\r\n );\r\n for (var key in previousAddressFormControls) {\r\n if (previousAddressFormControls.hasOwnProperty(key)) {\r\n if (previousAddressFormControls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n if (firstInvalidOneId) {\r\n const element = document.getElementById(firstInvalidOneId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest',\r\n });\r\n }, 250);\r\n }\r\n }\r\n }\r\n\r\n private fixReoAcquiredDate = (reo: RealEstateOwned) => {\r\n if (reo.dateAcquired) {\r\n const dateAcquired = new Date(reo.dateAcquired);\r\n let monthString = \"\";\r\n let month = dateAcquired.getMonth() + 1;\r\n monthString = month >= 10 ? month.toLocaleString() : \"0\" + month;\r\n let dayString = \"\";\r\n let day = dateAcquired.getDate();\r\n dayString = day >= 10 ? day.toLocaleString() : \"0\" + day;\r\n reo.dateAcquired = monthString + '/' + dayString + '/' + dateAcquired.getFullYear();\r\n }\r\n }\r\n\r\n private initializeReoDefaultsForEditMode = (): RealEstateOwned => {\r\n const reo = new RealEstateOwned();\r\n reo.dateAcquired = '01/01/2000';\r\n reo.currentUsageType = this._enumsService.usageTypes[0].value;\r\n reo.intendedUsageType = this._enumsService.usageTypes[0].value;\r\n reo.typeOfProperty = this._enumsService.reoPropertyTypes[0].value;\r\n reo.marketValue = 500000;\r\n reo.purchasePrice = 450000;\r\n reo.dispositionStatus = this._enumsService.reoStatusTypes[0].value;\r\n reo.amountOfMortgage = 100000;\r\n reo.mortgagePayment = 3450;\r\n reo.monthlyMiscExpenses = 5600;\r\n return reo;\r\n }\r\n\r\n private findAlreadyExistingReoInMortgageByAddress = (address: Address): RealEstateOwned => {\r\n const reo = this.mortgage?.realEstateOwned.find(reo =>\r\n reo.address1.toLocaleLowerCase() === address?.address1?.toLocaleLowerCase() &&\r\n reo.city.toLocaleLowerCase() === address?.city?.toLocaleLowerCase() &&\r\n reo.state === address?.state &&\r\n reo.zipCode === address?.zipCode);\r\n\r\n return reo;\r\n }\r\n}\r\n","\r\n
\r\n
{{currentAddressLabel}}
\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
You need at least 2 years of address history
\r\n Please add all the previous addresses you lived at until you give us at least 2 years of address\r\n history\r\n
\r\n
\r\n
0\" class=\"fs-4 fw-bolder text-dark\">Previous Addresses:
\r\n
0\" class=\"separator separator-dashed my-3\">
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { NgForm } from '@angular/forms';\r\nimport { CreditInquiryDetails, CreditInquiryDetailsEntry } from '../../models/credit-inquiry-details.model';\r\n\r\n@Component({\r\n selector: 'borrower-credit-inquiry',\r\n templateUrl: 'borrower-credit-inquiry.component.html'\r\n})\r\n\r\nexport class BorrowerCreditInquiryComponent implements OnInit {\r\n\r\n @ViewChild('borrowerInfoForm') borrowerInfoForm: NgForm | undefined;\r\n\r\n constructor() { }\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n borrowerIndex!: number;\r\n\r\n public get inquiry(): CreditInquiryDetails {\r\n if (!this.borrower.creditInquiry) {\r\n this.borrower.creditInquiry = new CreditInquiryDetails();\r\n }\r\n if (this.borrower.creditInquiry.entries.length === 0) {\r\n this.borrower.creditInquiry.entries.push(new CreditInquiryDetailsEntry());\r\n }\r\n return this.borrower.creditInquiry;\r\n }\r\n\r\n validate = () => {\r\n this.borrowerInfoForm?.form.markAllAsTouched();\r\n if (this.borrowerInfoForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n

\r\n {{inquiry.entries.length}} inquiries\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
InquirerDateReason For InquiryWas New Debt Acquired
\r\n
\r\n
\r\n {{entry.fullName}}\r\n \r\n
\r\n
\r\n
\r\n {{inquiry.dateInserted | date}}\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","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { EnumsService } from '../../services/enums.service';\r\n\r\n@Component({\r\n selector: 'borrower-declarations',\r\n templateUrl: 'borrower-declarations.component.html',\r\n styleUrls: ['./borrower-declarations.component.scss']\r\n})\r\n\r\nexport class BorrowerDeclarationsComponent implements OnInit {\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @ViewChild('declarationsForm') declarationsForm: NgForm | undefined;\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n }\r\n\r\n validate = () => {\r\n this.declarationsForm?.form.markAllAsTouched();\r\n if (this.declarationsForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get propertyTypes() {\r\n return this._enumsService.propertyTypesForDeclarations;\r\n }\r\n\r\n public get bankruptcyTypes() {\r\n return this._enumsService.bankruptyTypes;\r\n }\r\n\r\n public get heldTitleHows() {\r\n return this._enumsService.heldTitleHows;\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n occupyPropertyChange = (): void => {\r\n if (!this.borrower.declarations.occupyProperty) {\r\n this.borrower.declarations.havePropertiesOwnership = null;\r\n this.borrower.declarations.typeOfProperty = null;\r\n this.borrower.declarations.heldTitleHow = null;\r\n }\r\n }\r\n\r\n havePropertiesOwnershipChange = (): void => {\r\n if (!this.borrower.declarations.havePropertiesOwnership) {\r\n this.borrower.declarations.typeOfProperty = null;\r\n this.borrower.declarations.heldTitleHow = null;\r\n }\r\n }\r\n\r\n borrowedDownPaymentChange = (): void => {\r\n if (!this.borrower.declarations.borrowedDownPayment) {\r\n this.borrower.declarations.undisclosedMoneyAmount = null;\r\n }\r\n }\r\n\r\n declaredBankruptcyChange = (): void => {\r\n if (!this.borrower.declarations.declaredBankruptcy) {\r\n this.borrower.declarations.bankruptcyType = null;\r\n }\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n A. Will you occupy the property as your primary residence?\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 If Yes, have you had an ownership interest in another property in the last three years?\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 What type of property did you own?\r\n
\r\n
\r\n
\r\n \r\n
Type of property is required, please select one.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n How did you hold title to the property?\r\n
\r\n
\r\n
\r\n \r\n
This field is required, please select one.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n B. If this is a Purchase Transaction: Do you have a family relationship or business affiliation with the\r\n seller of the property?\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 C. Are you borrowing any money for this real estate transaction (e.g.,money for your closing costs or down\r\n payment) or obtaining any money\r\n from another party, such as the seller or realtor, that you have not disclosed on this loan 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
\r\n
\r\n
\r\n
\r\n
\r\n If Yes, what is the amount of this money?\r\n
\r\n
\r\n
\r\n \r\n
This field is required, please enter one.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n D.1 Have you or will you be applying for a mortgage loan on another property (not the property securing this\r\n loan) on or before closing this transaction that\r\n is not disclosed on this loan 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
\r\n
\r\n
\r\n
\r\n
\r\n D.2 Have you or will you be applying for any new credit (e.g., installment loan, credit card, etc.) on or\r\n before closing this loan that is not disclosed on this 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
\r\n
\r\n
\r\n
\r\n
\r\n E. Will this property be subject to a lien that could take priority over the first mortgage lien, such as\r\n a\r\n clean energy lien paid through your property taxes (e.g., the\r\n Property Assessed Clean Energy Program)?\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 F. Are you a co-signer or guarantor on any debt or loan that is not disclosed on this 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
\r\n
\r\n
\r\n
\r\n
\r\n G. Are there any outstanding judgments against you?\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 H. Are you currently delinquent or in default on a federal debt?\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 I. Are you a party to a lawsuit in which you potentially have any personal financial liability?\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 J. Have you conveyed title to any property in lieu of foreclosure in the past 7 years?\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 K. Within the past 7 years, have you completed a pre-foreclosure sale or short sale?\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 L. Have you had property foreclosed upon in the last 7 years?\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 M. Have you declared bankruptcy within the past 7 years?\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 If Yes, identify the type(s) of bankruptcy.\r\n
\r\n
\r\n
\r\n \r\n
This field is required, please select one.
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { Demographics } from '../../models/demographics-model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\n\r\n@Component({\r\n selector: 'borrower-demographics',\r\n templateUrl: 'borrower-demographics.component.html',\r\n styleUrls: ['borrower-demographics.component.scss']\r\n})\r\n\r\nexport class BorrowerDemographicsComponent implements OnInit {\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n showOptionToNotProvideDemographicsInfo: boolean = true;\r\n\r\n dontWantToProvideAnyOfTheInfo: boolean = false;\r\n\r\n sexOptions: EnumerationItem[] = [];\r\n ethnicityOptions: EnumerationItem[] = [];\r\n hispanicOriginOptions: EnumerationItem[] = [];\r\n raceOptions: EnumerationItem[] = [];\r\n raceDesignationOptions: EnumerationItem[] = [];\r\n asianRaceDesignationOptions: EnumerationItem[] = [];\r\n pacificIslanderRaceDesignationOptions: EnumerationItem[] = [];\r\n\r\n asianRace: string = '';\r\n pacificIslanderRace: string = '';\r\n nativeAmericanRace: string = '';\r\n\r\n ethnicities: string[] = [];\r\n ethnicityOrigins: string[] = [];\r\n sexes: string[] = [];\r\n races: string[] = [];\r\n raceDesignations: string[] = [];\r\n\r\n protected sexHasValidSelection = true;\r\n protected ethnicityHasValidSelection = true;\r\n protected raceHasValidSelection = true;\r\n\r\n constructor(private readonly _wizardFlowservice: WizardFlowServiceBase,\r\n private readonly _enumsService: EnumsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this._enumsService.getMortgageEnumerations().subscribe(enums => {\r\n this.populateOptionsToChooseFrom(enums, this.borrower);\r\n if (this._wizardFlowservice.isEditEnabled) {\r\n this.dontWantToProvideAnyOfTheInfo = true;\r\n setTimeout(() => {\r\n this.dontWantToProvideAnyInfoCheckChanged();\r\n });\r\n } else {\r\n if (!this.borrower.governmentMonitors) {\r\n this.borrower.governmentMonitors = new Demographics();\r\n }\r\n if (this.borrower.governmentMonitors.ethnicity && this.borrower.governmentMonitors.ethnicity.length > 0) {\r\n this.ethnicities = this.borrower.governmentMonitors.ethnicity.split(\", \");\r\n }\r\n if (this.borrower.governmentMonitors.ethnicityOrigin && this.borrower.governmentMonitors.ethnicityOrigin.length > 0) {\r\n this.ethnicityOrigins = this.borrower.governmentMonitors.ethnicityOrigin.split(\", \");\r\n }\r\n if (this.borrower.governmentMonitors.sex && this.borrower.governmentMonitors.sex.length > 0) {\r\n this.sexes = this.borrower.governmentMonitors.sex.split(\", \");\r\n }\r\n if (this.borrower.governmentMonitors.race && this.borrower.governmentMonitors.race.length > 0) {\r\n this.races = this.borrower.governmentMonitors.race.split(\", \");\r\n }\r\n if (this.borrower.governmentMonitors.raceDesignation && this.borrower.governmentMonitors.raceDesignation.length > 0) {\r\n this.raceDesignations = this.borrower.governmentMonitors.raceDesignation.split(\", \");\r\n }\r\n }\r\n });\r\n }\r\n\r\n public validate = (): boolean => {\r\n this.sexHasValidSelection = this.isSexSelected();\r\n this.raceHasValidSelection = this.isRaceSelected();\r\n this.ethnicityHasValidSelection = this.isEthnicitySelected();\r\n if (this.sexHasValidSelection && this.raceHasValidSelection && this.ethnicityHasValidSelection) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n protected etnicityChanged = () => {\r\n this.borrower.governmentMonitors.ethnicity = '';\r\n\r\n if (this.ethnicities.length != 0 && this.ethnicities[this.ethnicities.length-1] == 'NotApplicable') {\r\n this.ethnicities = ['NotApplicable'];\r\n this.borrower.governmentMonitors.ethnicity = 'NotApplicable';\r\n } else if (this.ethnicities.length != 0 && this.ethnicities[this.ethnicities.length-1] == 'InformationNotProvided') {\r\n this.ethnicities = ['InformationNotProvided'];\r\n this.borrower.governmentMonitors.ethnicity = 'InformationNotProvided';\r\n } else if (this.ethnicities.length != 0) {\r\n if (this.ethnicities.includes('NotApplicable')) {\r\n const index = this.ethnicities.findIndex(ethnicity => ethnicity == 'NotApplicable');\r\n this.ethnicities.splice(index, 1);\r\n this.ethnicities = [...this.ethnicities];\r\n }\r\n if (this.ethnicities.includes('InformationNotProvided')) {\r\n const index = this.ethnicities.findIndex(ethnicity => ethnicity == 'InformationNotProvided');\r\n this.ethnicities.splice(index, 1);\r\n this.ethnicities = [...this.ethnicities];\r\n }\r\n\r\n this.ethnicities.forEach(ethnicity => {\r\n this.borrower.governmentMonitors.ethnicity += ethnicity + ', ';\r\n });\r\n this.borrower.governmentMonitors.ethnicity = this.borrower.governmentMonitors.ethnicity.slice(0, this.borrower.governmentMonitors.ethnicity.length-2);\r\n }\r\n if (this.ethnicities.length && !this.ethnicityHasValidSelection) {\r\n this.ethnicityHasValidSelection = true;\r\n }\r\n }\r\n\r\n protected ethnicityOriginChanged = () => {\r\n this.borrower.governmentMonitors.ethnicityOrigin = '';\r\n\r\n if (this.ethnicityOrigins.length != 0) {\r\n this.ethnicityOrigins.forEach(ethnicityOrigin => {\r\n this.borrower.governmentMonitors.ethnicityOrigin += ethnicityOrigin + ', ';\r\n });\r\n this.borrower.governmentMonitors.ethnicityOrigin = this.borrower.governmentMonitors.ethnicityOrigin.slice(0, this.borrower.governmentMonitors.ethnicityOrigin.length-2);\r\n }\r\n }\r\n\r\n protected raceChanged = (event: any, value: string) => {\r\n if (event) {\r\n const index = this.races.findIndex(v => v == value);\r\n if (event.target.checked) {\r\n if (index < 0) {\r\n this.races.push(value);\r\n }\r\n } else if (!event.target.checked) {\r\n if (index >= 0) {\r\n this.races.splice(index, 1);\r\n }\r\n }\r\n } else if (value == 'InformationNotProvided') {\r\n this.races = ['InformationNotProvided'];\r\n }\r\n\r\n this.borrower.governmentMonitors.race = '';\r\n if (this.races.length == 0) {\r\n return\r\n }\r\n\r\n if (value == 'NotApplicable') {\r\n this.races = ['NotApplicable'];\r\n this.borrower.governmentMonitors.race = 'NotApplicable';\r\n } else if (value == 'InformationNotProvided') {\r\n this.races = ['InformationNotProvided'];\r\n this.borrower.governmentMonitors.race = 'InformationNotProvided';\r\n } else if (this.races.length != 0) {\r\n if (this.races.includes('NotApplicable')) {\r\n const index = this.races.findIndex(race => race == 'NotApplicable');\r\n this.races.splice(index, 1);\r\n }\r\n if (this.races.includes('InformationNotProvided')) {\r\n const index = this.races.findIndex(race => race == 'InformationNotProvided');\r\n this.races.splice(index, 1);\r\n }\r\n this.races.forEach(race => {\r\n this.borrower.governmentMonitors.race += race + ', ';\r\n });\r\n this.borrower.governmentMonitors.race = this.borrower.governmentMonitors.race.slice(0, this.borrower.governmentMonitors.race.length-2);\r\n }\r\n if (this.races.length && !this.raceHasValidSelection) {\r\n this.raceHasValidSelection = true;\r\n }\r\n }\r\n\r\n protected raceDesignationChanged = () => {\r\n this.borrower.governmentMonitors.raceDesignation = '';\r\n\r\n if (this.raceDesignations.length != 0) {\r\n this.raceDesignations.forEach(raceDesignation => {\r\n this.borrower.governmentMonitors.raceDesignation += raceDesignation + ', ';\r\n });\r\n this.borrower.governmentMonitors.raceDesignation = this.borrower.governmentMonitors.raceDesignation.slice(0, this.borrower.governmentMonitors.raceDesignation.length-2);\r\n }\r\n }\r\n\r\n protected onSexInformationChanged = () => {\r\n this.borrower.governmentMonitors.sex = '';\r\n\r\n if (this.sexes.length != 0 && this.sexes[this.sexes.length -1] == 'NotApplicable') {\r\n this.sexes = ['NotApplicable'];\r\n this.borrower.governmentMonitors.sex = 'NotApplicable';\r\n } else if (this.sexes.length != 0 && this.sexes[this.sexes.length -1] == 'InformationNotProvided') {\r\n this.sexes = ['InformationNotProvided'];\r\n this.borrower.governmentMonitors.sex = 'InformationNotProvided';\r\n } else if (this.sexes.length != 0) {\r\n if (this.sexes.includes('NotApplicable')) {\r\n const index = this.sexes.findIndex(sex => sex == 'NotApplicable');\r\n this.sexes.splice(index, 1);\r\n this.sexes = [...this.sexes];\r\n }\r\n if (this.sexes.includes('InformationNotProvided')) {\r\n const index = this.sexes.findIndex(sex => sex == 'InformationNotProvided');\r\n this.sexes.splice(index, 1);\r\n this.sexes = [...this.sexes];\r\n }\r\n\r\n this.sexes.forEach(sex => {\r\n this.borrower.governmentMonitors.sex += sex + ', ';\r\n });\r\n this.borrower.governmentMonitors.sex = this.borrower.governmentMonitors.sex.slice(0, this.borrower.governmentMonitors.sex.length-2);\r\n }\r\n if (this.sexes.length && !this.sexHasValidSelection) {\r\n this.sexHasValidSelection = true;\r\n }\r\n }\r\n\r\n protected isHispanicOrLatinoSelected = () => {\r\n const selected = this.ethnicities.includes(this._enumsService.getEnumValue('EthnicityTypeHispanicOrLatino'));\r\n if (!selected) {\r\n this.ethnicityOrigins = [];\r\n }\r\n return selected;\r\n }\r\n\r\n protected isOtherSelectedForHispanicOrLatinoEthnicity = () => {\r\n const selected = this.ethnicityOrigins.includes(this._enumsService.getEnumValue('EthnicityOriginTypeOther'));\r\n if (!selected) {\r\n this.borrower.governmentMonitors.ethnicityOriginOtherDescription = undefined;\r\n }\r\n return selected;\r\n }\r\n\r\n protected isEthnicitySelected = (): boolean => {\r\n const isEthnicitySelected = this.borrower.governmentMonitors.ethnicity != null &&\r\n this.borrower.governmentMonitors.ethnicity.length > 0;\r\n if (!isEthnicitySelected){\r\n this.borrower.governmentMonitors.ethnicityOrigin = undefined;\r\n }\r\n return isEthnicitySelected;\r\n }\r\n\r\n protected isSexSelected = (): boolean => {\r\n const isSexSelected = this.borrower.governmentMonitors.sex != null &&\r\n this.borrower.governmentMonitors.sex.length > 0;\r\n return isSexSelected;\r\n }\r\n\r\n protected isRaceSelected = (): boolean => {\r\n const isRaceSelected = this.borrower.governmentMonitors.race != null &&\r\n this.borrower.governmentMonitors.race.length > 0;\r\n if (!isRaceSelected){\r\n this.borrower.governmentMonitors.raceDesignation = undefined;\r\n this.raceDesignations = [];\r\n }\r\n return isRaceSelected;\r\n }\r\n\r\n protected isAsianSelected = () => {\r\n const selected = this.races.includes(this._enumsService.getEnumValue('RaceTypeAsian'));\r\n if (!selected) {\r\n if(this.raceDesignations && this.raceDesignations.length > 0) {\r\n this.asianRaceDesignationOptions.forEach(asianRaceDesignation => {\r\n const index = this.raceDesignations.findIndex(raceDesignation => raceDesignation == asianRaceDesignation.value);\r\n if (index >= 0) {\r\n this.raceDesignations.splice(index, 1);\r\n this.raceDesignationChanged();\r\n }\r\n });\r\n }\r\n\r\n }\r\n return selected;\r\n }\r\n\r\n protected isPacificIslanderSelected = () => {\r\n const selected = this.races.includes(this._enumsService.getEnumValue('RaceTypeNativeHawaiianOrOtherPacificIslander'));\r\n if (!selected) {\r\n if(this.raceDesignations && this.raceDesignations.length > 0) {\r\n this.pacificIslanderRaceDesignationOptions.forEach(pacificIslanderRaceDesignation => {\r\n const index = this.raceDesignations.findIndex(raceDesignation => raceDesignation == pacificIslanderRaceDesignation.value);\r\n if (index >= 0) {\r\n this.raceDesignations.splice(index, 1);\r\n this.raceDesignationChanged();\r\n }\r\n });\r\n }\r\n }\r\n return selected;\r\n }\r\n\r\n protected isNativeAmericanSelected = () => {\r\n const selected = this.races.includes(this._enumsService.getEnumValue('RaceTypeAmericanIndianOrAlaskaNative'));\r\n if (!selected) {\r\n this.borrower.governmentMonitors.nativeAmericanTribeName = undefined;\r\n }\r\n return selected;\r\n }\r\n\r\n protected isOtherSelectedForAsianRace = () => {\r\n var selected = this.raceDesignations.includes(this._enumsService.getEnumValue('RaceDesignationOtherAsian'));\r\n if (!selected){\r\n this.borrower.governmentMonitors.otherAsianRace = undefined;\r\n }\r\n return selected;\r\n }\r\n\r\n protected isOtherSelectedForPacificIslanderRace = () => {\r\n var selected = this.raceDesignations.includes(this._enumsService.getEnumValue('RaceDesignationOtherPacificIslander'));\r\n if (!selected){\r\n this.borrower.governmentMonitors.otherPacificIslanderRace = undefined;\r\n }\r\n return selected;\r\n }\r\n\r\n protected dontWantToProvideAnyInfoCheckChanged = () => {\r\n if (this.dontWantToProvideAnyOfTheInfo) {\r\n this.raceChanged(undefined, 'InformationNotProvided');\r\n this.ethnicities.push('InformationNotProvided');\r\n this.etnicityChanged();\r\n this.sexes.push('InformationNotProvided');\r\n this.onSexInformationChanged();\r\n }\r\n }\r\n\r\n private populateOptionsToChooseFrom = (enums: any, borrower: Borrower) => {\r\n this.ethnicityOptions = enums['EthnicityType'];\r\n this.hispanicOriginOptions = enums['EthnicityOriginType'];\r\n this.raceOptions = enums['RaceType'];\r\n this.sexOptions = enums['SexType'];\r\n\r\n if (borrower.mortgagePartyType === 'Individual') {\r\n const naIndexForEthnicity = this.ethnicityOptions.findIndex(e => e.value === 'NotApplicable');\r\n if (naIndexForEthnicity >= 0) {\r\n this.ethnicityOptions.splice(naIndexForEthnicity, 1);\r\n }\r\n const naIndexForRace = this.raceOptions.findIndex(e => e.value === 'NotApplicable');\r\n if (naIndexForRace >= 0) {\r\n this.raceOptions.splice(naIndexForRace, 1);\r\n }\r\n const naIndexForSex = this.sexOptions.findIndex(e => e.value === 'NotApplicable');\r\n if (naIndexForSex >= 0) {\r\n this.sexOptions.splice(naIndexForSex, 1);\r\n }\r\n }\r\n this.raceDesignationOptions = enums['RaceDesignation'];\r\n this.asianRaceDesignationOptions = this.raceDesignationOptions.filter(t =>\r\n t.value == this._enumsService.getEnumValue('RaceDesignationAsianIndian') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationChinese') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationFilipino') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationJapanese') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationKorean') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationVietnamese') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationOtherAsian'));\r\n\r\n this.asianRace = this._enumsService.getEnumValue('RaceTypeAsian');\r\n\r\n this.pacificIslanderRaceDesignationOptions = this.raceDesignationOptions.filter(t =>\r\n t.value == this._enumsService.getEnumValue('RaceDesignationGuamanianOrChamorro') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationNativeHawaiian') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationSamoan') ||\r\n t.value == this._enumsService.getEnumValue('RaceDesignationOtherPacificIslander'));\r\n\r\n this.pacificIslanderRace = this._enumsService.getEnumValue('RaceTypeNativeHawaiianOrOtherPacificIslander');\r\n this.nativeAmericanRace = this._enumsService.getEnumValue('RaceTypeAmericanIndianOrAlaskaNative');\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n 0\" [name]=\"borrower.borrowerId + '_ethnicity'\"\r\n name=\"borrower.borrowerId + '_ethnicity'\" [options]=\"ethnicityOptions\" [(ngModel)]=\"ethnicities\"\r\n (change)=\"etnicityChanged()\">\r\n \r\n
\r\n
0 && isHispanicOrLatinoSelected()\">\r\n
\r\n 0\" [name]=\"borrower.borrowerId + '_ethnicityOrigin'\"\r\n [options]=\"hispanicOriginOptions\" [(ngModel)]=\"ethnicityOrigins\" (change)=\"ethnicityOriginChanged()\">\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\" [name]=\"borrower.borrowerId + '_sex'\" [options]=\"sexOptions\"\r\n [(ngModel)]=\"sexes\" (change)=\"onSexInformationChanged()\">\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 0\">\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\">\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Asset } from '../../models/asset.model';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { Employment } from '../../models/employment-model';\r\nimport { MortgageApplication } from '../../models/mortgage-app.model';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\n\r\n@Component({\r\n selector: 'borrower-details',\r\n templateUrl: 'borrower-details.component.html'\r\n})\r\nexport class BorrowerDetailsComponent implements OnInit {\r\n\r\n private _assets!: Asset[];\r\n private _employments!: Employment[];\r\n\r\n private _mortgage: MortgageApplication;\r\n\r\n constructor(private readonly _mortgageApplicationService: MortgageApplicationService) {\r\n this._mortgage = this._mortgageApplicationService.mortgageApplication;\r\n }\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Output()\r\n borrowerChanged: EventEmitter = new EventEmitter();\r\n\r\n public get assets(): Asset[] {\r\n return this._assets;\r\n }\r\n\r\n public get employments(): Employment[] {\r\n return this._employments;\r\n }\r\n\r\n ngOnInit() {\r\n this._assets = this._mortgageApplicationService.getAssetsByBorrowerId(this.borrower.borrowerId!);\r\n this._employments = this.borrower.employments;\r\n }\r\n\r\n onBorrowerChanged = (borrower: Borrower) => {\r\n this.borrower = borrower;\r\n this.borrowerChanged.emit(this.borrower);\r\n this._assets = [...this._assets];\r\n }\r\n\r\n onAssetEdited = (asset: Asset) => {\r\n const assetThatChanged = this._mortgage.assets.find(a => a.assetId === asset.assetId);\r\n if (assetThatChanged) {\r\n const index = this._mortgage.assets.indexOf(assetThatChanged);\r\n if (index >= 0) {\r\n this._mortgage.assets[index] = asset;\r\n }\r\n }\r\n }\r\n\r\n onAssetDeleted = (id: number) => {\r\n const assetThatIsDeleted = this._mortgage.assets.find(a => a.assetId === id);\r\n if (assetThatIsDeleted) {\r\n const index = this._mortgage.assets.indexOf(assetThatIsDeleted);\r\n if (index >= 0) {\r\n this._mortgage.assets.splice(index, 1);\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { Address } from '../../../models/address-model';\r\nimport { BorrowerCounselingEvent } from '../../../models/borrower-counseling-event.model';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { formViewProvider } from '../../../services/form-view.provider';\r\n\r\n\r\n@Component({\r\n selector: 'borrower-counseling-event',\r\n templateUrl: './borrower-counseling-event.component.html',\r\n styleUrls: ['./borrower-counseling-event.component.scss'],\r\n viewProviders: [formViewProvider],\r\n})\r\nexport class BorrowerCounselingEventComponent implements OnInit {\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n borrowerCounselingFormatTypes: EnumerationItem[] = [];\r\n\r\n @Input()\r\n event: BorrowerCounselingEvent;\r\n\r\n @Output()\r\n attemptedToDeleteEvent: EventEmitter = new EventEmitter();\r\n\r\n protected stateOptions: EnumerationItem[] = [];\r\n protected componentId: string;\r\n protected eventToDelete: BorrowerCounselingEvent;\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n this.componentId = uuidv4();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.stateOptions = this._enumsService.states;\r\n }\r\n\r\n protected onDeleteClicked() {\r\n this.attemptedToDeleteEvent.emit();\r\n }\r\n\r\n protected onCompletionDateChanged() {\r\n this.event.borrowerHasCompleted = false;\r\n if (this.event.completedDate) {\r\n this.event.borrowerHasCompleted = true;\r\n }\r\n }\r\n\r\n protected onCounselingAgencyAddressChanged = (address: Address) => {\r\n this.event.counselingAgencyAddress1 = address.address1;\r\n this.event.counselingAgencyCity = address.city;\r\n this.event.counselingAgencyZipCode = address.zipCode;\r\n this.event.counselingAgencyState = address.state;\r\n }\r\n\r\n protected setGooglePickedAddress(address: Address) {\r\n this.event.counselingAgencyAddress1 = address.address1;\r\n this.event.counselingAgencyCity = address.city;\r\n this.event.counselingAgencyState = address.state;\r\n this.event.counselingAgencyZipCode = address.zipCode;\r\n }\r\n\r\n protected setManuallyEnteredAddress(address: string) {\r\n this.event.counselingAgencyAddress1 = address;\r\n }\r\n\r\n onEventDeleteClicked = () => {\r\n this.eventToDelete = this.event;\r\n }\r\n\r\n onEventDeleteCancelClicked = () => {\r\n this.eventToDelete = undefined;\r\n }\r\n\r\n onEventDeleteConfirmClicked = () => {\r\n this.onDeleteClicked();\r\n this.eventToDelete = undefined;\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
\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","import { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\nimport { EnumsService } from \"../../services/enums.service\";\r\nimport { BorrowerCounselingEvent } from \"../../models/borrower-counseling-event.model\";\r\nimport { Utils } from \"../../services/utils\";\r\nimport { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\n\r\n@Component({\r\n selector: 'borrower-homeownership-education',\r\n templateUrl: 'borrower-homeownership-education.component.html',\r\n styleUrls: ['./borrower-homeownership-education.component.scss'],\r\n})\r\nexport class BorrowerHomeownershipEducationComponent implements OnInit {\r\n\r\n @ViewChild('borrowerHomeownershipEducationForm') borrowerHomeownershipEducationForm: NgForm | undefined;\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n hasHomebuyerEducation: boolean = false;\r\n hasCounseling: boolean = false;\r\n\r\n formatTypes: EnumerationItem[] = [];\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formatTypes = this._enumsService.borrowerCounselingFormatTypes;\r\n\r\n if (this.borrower.counselingEvents && this.borrower.counselingEvents.length > 0) {\r\n this.hasHomebuyerEducation = this.borrower.counselingEvents.findIndex(ev => ev.counselingType == \"Education\") > -1;\r\n this.hasCounseling = this.borrower.counselingEvents.findIndex(ev => ev.counselingType == \"Counseling\") > -1;\r\n\r\n this.borrower.counselingEvents.forEach(e => {\r\n e.format = e.format ?? null;\r\n e.counselingAgencyState = e.counselingAgencyState ?? null;\r\n });\r\n }\r\n }\r\n\r\n onBorrowerCounselingEventChanged = (counselingType: string): void => {\r\n const hasEventForType = this.borrower.counselingEvents?.some(ev => ev.counselingType == counselingType);\r\n if (counselingType === 'Education') {\r\n if (this.hasHomebuyerEducation && !hasEventForType) {\r\n this.onAddNewCounselingEventClicked(counselingType);\r\n } else if (!this.hasHomebuyerEducation) {\r\n this.borrower.counselingEvents = this.borrower.counselingEvents.filter(ev => ev.counselingType != counselingType)\r\n }\r\n } else if (counselingType === 'Counseling') {\r\n if (this.hasCounseling && !hasEventForType) {\r\n this.onAddNewCounselingEventClicked(counselingType);\r\n } else if (!this.hasCounseling) {\r\n this.borrower.counselingEvents = this.borrower.counselingEvents.filter(ev => ev.counselingType != counselingType)\r\n }\r\n }\r\n }\r\n\r\n onAddNewCounselingEventClicked = (counselingType: string): void => {\r\n let newEvent = new BorrowerCounselingEvent();\r\n newEvent.borrowerId = this.borrower.borrowerId;\r\n newEvent.counselingType = counselingType;\r\n newEvent.format = null;\r\n newEvent.counselingAgencyState = null;\r\n newEvent.borrowerCounselingEventId = Utils.getUniqueId();\r\n this.borrower.counselingEvents.push(newEvent);\r\n }\r\n\r\n onDelete = (index: number) => {\r\n this.borrower.counselingEvents.splice(index, 1);\r\n }\r\n\r\n validate = () => {\r\n this.borrowerHomeownershipEducationForm?.form.markAllAsTouched();\r\n if (this.borrowerHomeownershipEducationForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Has the Borrower(s) completed homebuyer education (group or web-based classes) within the last 12 months?\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 Has the Borrower(s) completed housing counseling (customized counselor-to-client services) within the last 12 months?\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","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { SimpleIncomeDialogComponent } from '../wizard-steps/simple-income-dialog/simple-income-dialog.component';\r\nimport { IncomeItem, IncomeSubItem } from '../../models/income-item-model';\r\nimport { Employment } from '../../models/employment-model';\r\nimport { Income } from '../../models/income-model';\r\nimport { EmploymentDialogComponent } from '../wizard-steps/employment-dialog/employment-dialog.component';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport * as _ from 'lodash';\r\nimport { TypeOfIncome } from '../../models/enums/type-of-income.enum';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { EmploymentTypeEnum } from '../../models/mortgage.model';\r\nimport { FieldConfigUtils } from '../../models/wizard/config/field-config-utils';\r\nimport { EmploymentIncomeDialogComponent } from '../wizard-steps/employment-income-dialog/employment-income-dialog.component';\r\nimport { Constants } from '../../services/constants';\r\n\r\n@Component({\r\n selector: 'borrower-income',\r\n templateUrl: 'borrower-income.component.html',\r\n})\r\nexport class BorrowerIncomeComponent implements OnInit, AfterViewInit {\r\n private modalOptions: NgbModalOptions = {\r\n size: 'lg',\r\n backdrop: 'static',\r\n container: '#income-main',\r\n };\r\n\r\n @Input() borrower!: Borrower;\r\n\r\n @Input()\r\n fieldConfig: any;\r\n\r\n @Output()\r\n employmentChanged: EventEmitter = new EventEmitter();\r\n\r\n incomes: IncomeItem[] = [];\r\n\r\n private _employmentBasedIncomeTypes: EnumerationItem[] = [];\r\n\r\n private _employmentIncomeTypeValues: string[] = [];\r\n\r\n private _incomeTypes: EnumerationItem[] = [];\r\n\r\n get totalIncome(): number {\r\n let sum: number = 0;\r\n this.incomes.forEach((income) => {\r\n sum = sum + Number(income.monthlyPay);\r\n });\r\n return sum;\r\n }\r\n\r\n isValid(): boolean {\r\n let result: boolean = true;\r\n this.incomes.forEach((income) => {\r\n if (!income.isValid) {\r\n result = false;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n private _nonEmploymentBasedIncomeTypes: TypeOfIncome[] = [];\r\n\r\n constructor(private readonly _modalService: ModalService,\r\n private readonly _enumsService: EnumsService) {}\r\n\r\n ngOnInit() {\r\n this._enumsService.getMortgageEnumerations().subscribe(enums => {\r\n this._incomeTypes = enums[Constants.enumerations.incomeType];\r\n this.generateEmploymentIncomeTypeValuesList();\r\n this.prepareEmploymentIncomeTypesList();\r\n this._nonEmploymentBasedIncomeTypes = this._incomeTypes\r\n .filter(it => !this._employmentBasedIncomeTypes.includes(it.value)).map(it => it.value);\r\n this.populateIncomeItems(this.borrower);\r\n });\r\n }\r\n\r\n ngAfterViewInit() { }\r\n\r\n refresh = () => {\r\n this.populateIncomeItems(this.borrower);\r\n };\r\n\r\n onIncomeDeleted = (income: IncomeItem) => {\r\n const typeOfIncome = this._employmentBasedIncomeTypes.find(t => t.value === income.type);\r\n if (typeOfIncome) {\r\n this.deleteIncomeFromEmployment(income);\r\n this.employmentChanged.emit();\r\n } else {\r\n this.deleteIncomeFromNonEmploymentIncomes(income);\r\n }\r\n };\r\n\r\n onEditIncomeItemsClicked = (income: IncomeItem) => {\r\n const employment = this.borrower.employments.find(e => e.modelGuid === income.employmentGuid);\r\n this.showEmploymentIncomeItemsDialog(employment);\r\n }\r\n\r\n onIncomeEditClicked = (income: IncomeItem) => {\r\n const incomeItemToEdit = this.incomes.find((i) => i.guid === income.guid);\r\n if (!incomeItemToEdit) {\r\n return;\r\n }\r\n\r\n if (this._employmentBasedIncomeTypes.map(t => t.value).includes(incomeItemToEdit.type)) {\r\n this.handleEmploymentIncomeClick(incomeItemToEdit);\r\n } else if (this._nonEmploymentBasedIncomeTypes.includes(incomeItemToEdit.type)) {\r\n this.handleNonEmploymentIncomeClick(incomeItemToEdit);\r\n }\r\n };\r\n\r\n private handleEmploymentIncomeClick = (incomeItemToEdit: IncomeItem) => {\r\n const employmentToEdit = this.borrower.employments.find(\r\n (e) => e.modelGuid === incomeItemToEdit.employmentGuid\r\n );\r\n if (employmentToEdit) {\r\n if (employmentToEdit.incomes && employmentToEdit.incomes.length) {\r\n employmentToEdit.businessType = employmentToEdit.incomes[0].businessType;\r\n }\r\n this.showEmploymentIncomeDialog(incomeItemToEdit.type, _.cloneDeep(employmentToEdit)\r\n );\r\n }\r\n }\r\n\r\n private handleNonEmploymentIncomeClick = (incomeItemToEdit: IncomeItem) => {\r\n const incomeToEdit = this.borrower.nonEmploymentIncomes.find(\r\n (e) => e.modelGuid === incomeItemToEdit.guid\r\n );\r\n if (incomeToEdit) {\r\n const header = this.getHeaderForNonEmploymentIncome(incomeToEdit.typeOfIncome);\r\n this.showNonEmploymentIncomeDialog(header, \"Monthly Income\", incomeItemToEdit.type, incomeToEdit);\r\n }\r\n }\r\n\r\n private deleteIncomeFromEmployment(income: IncomeItem) {\r\n const index = this.incomes.indexOf(income);\r\n const employments = this.borrower.employments;\r\n if (index >= 0) {\r\n this.incomes.splice(index, 1);\r\n const employmentIndexToDelete = employments.findIndex(\r\n (e) => e.modelGuid === income.employmentGuid\r\n );\r\n if (employmentIndexToDelete >= 0) {\r\n employments.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n private deleteIncomeFromNonEmploymentIncomes(income: IncomeItem) {\r\n const index = this.incomes.indexOf(income);\r\n const nonEmploymentIncomes = this.borrower.nonEmploymentIncomes;\r\n if (index >= 0) {\r\n this.incomes.splice(index, 1);\r\n const incomeToDelete = nonEmploymentIncomes.find(\r\n (i) => i.modelGuid === income.guid\r\n );\r\n if (incomeToDelete) {\r\n const index = nonEmploymentIncomes.indexOf(incomeToDelete);\r\n if (index >= 0) {\r\n nonEmploymentIncomes.splice(index, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n private isEmploymentValid(employment: Employment): boolean {\r\n if (FieldConfigUtils.isRequied(this.fieldConfig, 'employment.employer') &&\r\n (!employment.employer || employment.employer.length == 0)) {\r\n return false;\r\n }\r\n\r\n if (FieldConfigUtils.isRequied(this.fieldConfig, 'employment.employmentType') && (employment.employmentType == null)) {\r\n return false;\r\n }\r\n\r\n if (FieldConfigUtils.isRequied(this.fieldConfig, 'employment.startDate') && !employment.startDate) {\r\n return false;\r\n }\r\n\r\n if(!(employment.employer && employment.employer == \"Retired\" && employment.employmentType == EmploymentTypeEnum.CurrentEmployer)){\r\n\r\n if (FieldConfigUtils.isRequied(this.fieldConfig, 'employment.position') && (!employment.position || employment.position.length == 0)) {\r\n return false;\r\n }\r\n if (employment.isPrimary == null) {\r\n return false;\r\n }\r\n\r\n if (!employment.selfEmployed) {\r\n if (employment.incomes == null || employment.incomes.length == 0) {\r\n return false;\r\n }\r\n } else {\r\n if (!!!employment.selfEmploymentMonthlyIncomeOrLoss) {\r\n return false;\r\n }\r\n }\r\n if (FieldConfigUtils.isRequied(this.fieldConfig, 'employment.yearsInLineOfWork') &&\r\n (employment.yearsInLineOfWork == null ||\r\n employment.yearsInLineOfWork <= 0)\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private isIncomeValid(income: Income): boolean {\r\n if (income.typeOfIncome == TypeOfIncome.OtherTypesOfIncome) {\r\n if (\r\n !income.typeOfIncomeOtherDescription ||\r\n income.typeOfIncomeOtherDescription.length == 0\r\n ) {\r\n return false;\r\n }\r\n }\r\n if ((!income.monthlyIncome || income.monthlyIncome <= 0)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private toEmploymentIncomeItem = (\r\n employment: Employment\r\n ): IncomeItem => {\r\n\r\n const incomeItem = new IncomeItem(\r\n TypeOfIncome.Base,\r\n 0,\r\n this.isEmploymentValid(employment),\r\n employment.position,\r\n employment.startDate!,\r\n );\r\n incomeItem.employmentGuid = employment.modelGuid;\r\n incomeItem.isSelfEmployed = employment.selfEmployed || false;\r\n if (employment.incomes) {\r\n if (employment.incomes.length === 1) {\r\n incomeItem.employmentGuid = employment.modelGuid;\r\n incomeItem.guid = employment.incomes[0].modelGuid;\r\n incomeItem.type = employment.incomes[0].typeOfIncome;\r\n }\r\n employment.incomes.forEach((income) => {\r\n if (income) {\r\n const subIncomeItem = new IncomeSubItem();\r\n subIncomeItem.type = income.typeOfIncome!;\r\n subIncomeItem.monthlyPay = income.monthlyIncome!;\r\n subIncomeItem.guid = income.modelGuid;\r\n incomeItem.incomeBreakdown.push(subIncomeItem);\r\n }\r\n });\r\n }\r\n\r\n incomeItem.name = employment.employer;\r\n incomeItem.employmentGuid = employment.modelGuid;\r\n if (!incomeItem.isSelfEmployed) {\r\n incomeItem.monthlyPay = incomeItem.incomeBreakdown.reduce((total, subIncome) => total + Number(subIncome.monthlyPay), 0);\r\n } else {\r\n incomeItem.monthlyPay = employment.selfEmploymentMonthlyIncomeOrLoss;\r\n }\r\n return incomeItem;\r\n };\r\n\r\n private toIncomeItemNonEmployment = (income: Income): IncomeItem => {\r\n const incomeItem = new IncomeItem(\r\n income.typeOfIncome!,\r\n income.monthlyIncome!,\r\n this.isIncomeValid(income)\r\n );\r\n incomeItem.name = this.typeOfIncomeDisplayText(income.typeOfIncome!);\r\n incomeItem.id = income.incomeId;\r\n if (income.typeOfIncome == TypeOfIncome.OtherTypesOfIncome) {\r\n incomeItem.position = income.typeOfIncomeOtherDescription;\r\n }\r\n incomeItem.guid = income.modelGuid;\r\n return incomeItem;\r\n };\r\n\r\n private typeOfIncomeDisplayText = (typeOfIncome: TypeOfIncome): string => {\r\n const incomeType = this._incomeTypes.find(it => it.value === typeOfIncome);\r\n if (incomeType) {\r\n return incomeType.name;\r\n }\r\n return typeOfIncome;\r\n };\r\n\r\n private populateIncomeItems(borrower: Borrower) {\r\n this.incomes = [];\r\n borrower.employments.forEach((employment) => {\r\n const employmentIncomeItem = this.toEmploymentIncomeItem(employment);\r\n this.incomes.push(employmentIncomeItem);\r\n });\r\n\r\n borrower.nonEmploymentIncomes.forEach((nonEmploymentIncome) =>\r\n this.incomes.push(this.toIncomeItemNonEmployment(nonEmploymentIncome))\r\n );\r\n }\r\n\r\n private showEmploymentIncomeItemsDialog = (employment: Employment) => {\r\n const modal = this._modalService.show(\r\n EmploymentIncomeDialogComponent,\r\n this.modalOptions\r\n );\r\n modal.componentInstance.employment = employment;\r\n modal.result.then(\r\n (updatedEmployment) => {\r\n const updatedEmploymentIncomeItem = this.toEmploymentIncomeItem(updatedEmployment);\r\n const indexOfEmployment = this.borrower.employments.findIndex(e => e.modelGuid === updatedEmployment.modelGuid);\r\n if (indexOfEmployment >= 0) {\r\n this.borrower.employments[indexOfEmployment] = updatedEmployment;\r\n }\r\n const index = this.incomes.findIndex((i) => i.employmentGuid === updatedEmployment.modelGuid);\r\n if (index >= 0) {\r\n this.incomes[index] = updatedEmploymentIncomeItem;\r\n }\r\n //this.incomes = incomes;\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n private showEmploymentIncomeDialog(\r\n typeOfIncome: TypeOfIncome,\r\n employment?: Employment\r\n ) {\r\n const modal = this._modalService.show(\r\n EmploymentDialogComponent,\r\n this.modalOptions\r\n );\r\n modal.componentInstance.typeOfIncome = typeOfIncome;\r\n modal.componentInstance.fieldsToConfig = this.fieldConfig;\r\n if (employment) {\r\n modal.componentInstance.employment = employment;\r\n } else if (\r\n typeOfIncome == TypeOfIncome.ContractBasis ||\r\n typeOfIncome === TypeOfIncome.SelfEmploymentIncome\r\n ) {\r\n modal.componentInstance.employment.selfEmployed = true;\r\n }\r\n modal.result.then(\r\n (employmentAndIncomeType) => {\r\n this.onSaveClickedOnEmploymentModalForEdit(employmentAndIncomeType.employment, typeOfIncome);\r\n },\r\n (error) => { }\r\n );\r\n }\r\n\r\n private onSaveClickedOnIncomeModalForEdit = (\r\n income: Income,\r\n typeOfIncome: TypeOfIncome\r\n ): void => {\r\n const nonEmploymentIncomes = this.borrower.nonEmploymentIncomes;\r\n if (!nonEmploymentIncomes) {\r\n return;\r\n }\r\n const existingNonEmploymentIncome = nonEmploymentIncomes?.find(\r\n (e) => e.modelGuid === income.modelGuid\r\n );\r\n if (!existingNonEmploymentIncome) {\r\n return;\r\n }\r\n const index = nonEmploymentIncomes?.indexOf(existingNonEmploymentIncome);\r\n nonEmploymentIncomes[index] = income;\r\n\r\n var incomeItem = this.incomes.find((i) => i.guid === income.modelGuid);\r\n if (incomeItem) {\r\n const index = this.incomes.indexOf(incomeItem);\r\n const updatedIncomeItem = this.toIncomeItemNonEmployment(income);\r\n this.incomes[index] = updatedIncomeItem;\r\n }\r\n };\r\n\r\n private onSaveClickedOnEmploymentModalForEdit = (\r\n employment: Employment,\r\n typeOfIncome: TypeOfIncome\r\n ): void => {\r\n const employments = this.borrower.employments;\r\n if (employments) {\r\n const existingEmploymentIndex = employments?.findIndex(\r\n (e) => e.modelGuid === employment.modelGuid\r\n );\r\n if (existingEmploymentIndex >= 0) {\r\n const monthlyIncome = (typeOfIncome === TypeOfIncome.SelfEmploymentIncome)\r\n ? employment.selfEmploymentMonthlyIncomeOrLoss : employment.monthlyIncome;\r\n\r\n employments[existingEmploymentIndex] = employment;\r\n\r\n // Edit always edits the base income\r\n let baseIncome = employment.incomes.find(i => i.typeOfIncome === TypeOfIncome.Base);\r\n if (!baseIncome) {\r\n baseIncome = new Income();\r\n employment.incomes.push(baseIncome);\r\n }\r\n baseIncome.monthlyIncome = Number(monthlyIncome);\r\n baseIncome.businessType = employment.businessType;\r\n baseIncome.typeOfIncome = typeOfIncome;\r\n\r\n var incomeItem = this.incomes.find(\r\n (i) => i.employmentGuid === employment.modelGuid\r\n );\r\n if (incomeItem) {\r\n const index = this.incomes.indexOf(incomeItem);\r\n const updatedIncomeItem = this.toEmploymentIncomeItem(\r\n employment\r\n );\r\n this.incomes[index] = updatedIncomeItem;\r\n }\r\n this.employmentChanged.emit();\r\n }\r\n }\r\n };\r\n\r\n private showNonEmploymentIncomeDialog = (\r\n header: string,\r\n label: string,\r\n typeOfIncome: TypeOfIncome,\r\n income?: Income\r\n ) => {\r\n const modal = this._modalService.show(\r\n SimpleIncomeDialogComponent,\r\n this.modalOptions\r\n );\r\n modal.componentInstance.header = header;\r\n modal.componentInstance.label = label;\r\n if (income) {\r\n modal.componentInstance.income = income;\r\n } else {\r\n modal.componentInstance.typeOfIncome = typeOfIncome;\r\n }\r\n modal.result.then(\r\n (income) => {\r\n this.onSaveClickedOnIncomeModalForEdit(income, typeOfIncome);\r\n },\r\n (error) => { }\r\n );\r\n };\r\n\r\n private getHeaderForNonEmploymentIncome = (typeOfIncome: TypeOfIncome): string => {\r\n const type = this._incomeTypes.find(it => it.value === typeOfIncome);\r\n if (type) {\r\n return type.name;\r\n }\r\n return 'Other';\r\n }\r\n\r\n private generateEmploymentIncomeTypeValuesList = () => {\r\n this._employmentIncomeTypeValues = [\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Base),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Bonus),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Commissions),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Overtime),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryCombatPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryFlightPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryHazardPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryOverseasPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryPropPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryClothesAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryRationsAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryVariableHousingAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryQuartersAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.OtherTypesOfIncome),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.ContractBasis),\r\n ]\r\n }\r\n\r\n private prepareEmploymentIncomeTypesList = () => {\r\n const employmentIncomeTypes = [];\r\n this._employmentIncomeTypeValues.forEach(type => {\r\n const incomeType = this._incomeTypes.find(t => t.value === type);\r\n if (incomeType) {\r\n employmentIncomeTypes.push(incomeType);\r\n }\r\n });\r\n this._employmentBasedIncomeTypes = employmentIncomeTypes;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
0\">\r\n Total Monthly Income: {{totalIncome | currency}}\r\n
\r\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\nimport { ConfigurableFieldHostComponent } from \"../configurable-field-host.component\";\r\nimport { formViewProvider } from \"../../services/form-view.provider\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'borrower-info-mini',\r\n templateUrl: 'borrower-info-mini.component.html',\r\n viewProviders: [formViewProvider],\r\n})\r\nexport class BorrowerInfoMiniComponent extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @ViewChild('borrowerInfoForm') borrowerInfoForm: NgForm | undefined;\r\n\r\n @Output()\r\n borrowerMarkedAsMarriedToPrimaryBorrower = new EventEmitter();\r\n\r\n @Input()\r\n customMessage: string | undefined;\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n restrictMiddleNameToSingleCharacter: boolean = true;\r\n\r\n @Input()\r\n set borrowerSettings(borrowerSettings: Map | undefined) {\r\n const settings = borrowerSettings?.get(this.borrower.borrowerId);\r\n if (settings != null) {\r\n this.mainBorrowerWillApplyForMe = settings;\r\n }\r\n this._borrowerSettings = borrowerSettings;\r\n }\r\n\r\n mainBorrowerWillApplyForMe: boolean | null = null;\r\n\r\n mainBorrowerIsMarriedToCoBorrower: boolean | null = null;\r\n\r\n ssnPattern = { '0': { pattern: new RegExp('\\\\d'), symbol: 'X' } };\r\n\r\n private _borrowerSettings: Map | undefined = undefined;\r\n\r\n protected isMobile: boolean = false;\r\n\r\n protected componentId: string = uuidv4();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n onMiddleNameKeyPress(event: KeyboardEvent): void {\r\n const char = String.fromCharCode(event.keyCode);\r\n const pattern = /^[a-zA-Z]$/;\r\n\r\n if (!pattern.test(char)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n setBorrowerIdContactId = (borrowerId: number, contactId: number) => {\r\n this.borrower.borrowerId = borrowerId;\r\n this.borrower.contactId = contactId;\r\n }\r\n\r\n validate = () => {\r\n this.borrowerInfoForm?.form.markAllAsTouched();\r\n if (this.borrowerInfoForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n scrollToFirstInvalid = () => {\r\n let firstInvalidOneId: string = null;\r\n for (var key in this.borrowerInfoForm.form.controls) {\r\n if (this.borrowerInfoForm.form.controls.hasOwnProperty(key)) {\r\n if (this.borrowerInfoForm.form.controls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n break;\r\n }\r\n }\r\n }\r\n if (firstInvalidOneId) {\r\n const elements = document.getElementsByName(firstInvalidOneId);\r\n let element;\r\n if (elements) {\r\n element = elements[0]\r\n }\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest',\r\n });\r\n }, 250);\r\n }\r\n }\r\n }\r\n\r\n protected onMainBorrowerWillApplyForMeChanged = (checked: boolean) => {\r\n this._borrowerSettings?.set(this.borrower.borrowerId, checked);\r\n }\r\n\r\n protected onMainBorrowerIsMarriedToBorrowerChanged = (checked: boolean) => {\r\n if (checked) {\r\n this.borrowerMarkedAsMarriedToPrimaryBorrower.emit(this.borrower);\r\n }\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 768\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
\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
Will you be filling out the application for this person?\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
Please specify if you will complete the application for this co-borrower or not.
\r\n
\r\n
Are you married to this person?\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
Please specify if you're married to this person or not.
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\nimport { Utils } from \"../../services/utils\";\r\ndeclare const $: any;\r\n\r\n@Component({\r\n selector: 'borrower-info',\r\n templateUrl: 'borrower-info.component.html',\r\n styleUrls: ['./borrower-info.component.scss']\r\n})\r\nexport class BorrowerInfoComponent implements OnInit {\r\n\r\n @ViewChild('borrowerInfoForm') borrowerInfoForm: NgForm | undefined;\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Input()\r\n doesSetPassword: boolean = false;\r\n\r\n password: string = \"\";\r\n confirmedPassword: string = \"\";\r\n\r\n passwordInputState = {\r\n id: 'password',\r\n displayed: false,\r\n };\r\n confirmPasswordInputState = {\r\n id: 'confirmedPassword',\r\n displayed: false,\r\n };\r\n\r\n protected passwordIsMinimum8Characters: boolean = false;\r\n protected passwordContainsDigit: boolean = false;\r\n protected passwordContainsUppercase: boolean = false;\r\n protected passwordContainsLowercase: boolean = false;\r\n protected passwordContainsSpecialCharacter: boolean = false;\r\n\r\n validate = () => {\r\n this.borrowerInfoForm?.form.markAllAsTouched();\r\n const isValid = this.borrowerInfoForm?.form.valid;\r\n let firstInvalidOneId: string = null;\r\n if (isValid) {\r\n return true;\r\n }\r\n\r\n for (var key in this.borrowerInfoForm?.form.controls) {\r\n if (this.borrowerInfoForm?.form.controls.hasOwnProperty(key)) {\r\n if (this.borrowerInfoForm?.form.controls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n break;\r\n }\r\n }\r\n }\r\n if (firstInvalidOneId) {\r\n this.scrollToElement(firstInvalidOneId);\r\n }\r\n return false;\r\n }\r\n\r\n scrollToElement = (id: string) => {\r\n const element = document.getElementById(id);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest',\r\n });\r\n }, 250);\r\n }\r\n };\r\n\r\n ngOnInit() { }\r\n\r\n onPasswordChanged = () => {\r\n this.passwordContainsDigit = Utils.containsDigit(this.password);\r\n this.passwordIsMinimum8Characters = this.password.trim().length >= 8;\r\n this.passwordContainsUppercase = Utils.containsUppercase(this.password);\r\n this.passwordContainsLowercase = Utils.containsLowercase(this.password);\r\n this.passwordContainsSpecialCharacter = Utils.containsSpecialCharacter(\r\n this.password\r\n );\r\n };\r\n\r\n onBorrowerPhoneChanged = () => {\r\n this.borrower.homePhone = this.borrower.mobilePhone;\r\n }\r\n\r\n protected onPasswordStateClicked = (state: {id: string, displayed: boolean}) => {\r\n state.displayed = !state.displayed;\r\n const passwordElement = document.getElementById(state.id);\r\n passwordElement.setAttribute('type', state.displayed ? 'text' : 'password');\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a first name.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a last name.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a valid phone number.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a valid e-mail.
\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
Min. 8 characters
\r\n
\r\n
\r\n \r\n
Include number
\r\n
\r\n
\r\n \r\n
Include lowercase letter
\r\n
\r\n
\r\n \r\n
Include uppercase letter
\r\n
\r\n
\r\n \r\n
Include a special character
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Please enter your password.
\r\n
The password you entered does not meet the requirements.
\r\n
Password & Confirm Password do not match.
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter your password again.
\r\n
Password & Confirm Password do not match.
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { EnumerationItem } from \"projects/shared/models/enumeration-item.model\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\nimport { EnumsService } from \"../../services/enums.service\";\r\n\r\n@Component({\r\n selector: 'borrower-military-service',\r\n templateUrl: 'borrower-military-service.component.html',\r\n styleUrls: ['./borrower-military-service.component.scss']\r\n})\r\nexport class BorrowerMilitaryServiceComponent implements OnInit {\r\n\r\n @ViewChild('militaryServiceForm') militaryServiceForm: NgForm | undefined;\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n militaryStatus: string = \"\";\r\n\r\n militaryStatusTypes: EnumerationItem[] = [];\r\n\r\n militaryBranchOfServiceTypes: EnumerationItem[] = [];\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n this.militaryStatusTypes = this._enumsService.militaryStatusTypes;\r\n this.militaryBranchOfServiceTypes = this._enumsService.militaryBranchOfServiceTypes;\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.borrower.branchOfService) {\r\n this.borrower.branchOfService = null;\r\n }\r\n if (this.borrower.isActiveDutyMilitary) {\r\n this.militaryStatus = 'isActiveDutyMilitary';\r\n }\r\n if (this.borrower.onlyNonActivatedReserveOrNationalGuard) {\r\n this.militaryStatus = 'onlyNonActivatedReserveOrNationalGuard';\r\n }\r\n if (this.borrower.isRetiredDischargedSeparatedFromMilitary) {\r\n this.militaryStatus = 'isRetiredDischargedSeparatedFromMilitary';\r\n }\r\n }\r\n\r\n onHasServedInMilitaryChanged = () => {\r\n if (!this.borrower.hasServedInMilitary) {\r\n this.militaryStatus = \"\";\r\n this.borrower.isActiveDutyMilitary = false;\r\n this.borrower.onlyNonActivatedReserveOrNationalGuard = false;\r\n this.borrower.isRetiredDischargedSeparatedFromMilitary = false;\r\n this.borrower.militaryTourEndDate = \"\";\r\n this.borrower.isFirstUseOfVaBenefit = false;\r\n this.borrower.isVaFundingFeeExempt = false;\r\n this.borrower.isSurvivingSpouseOfMilitary = false;\r\n }\r\n }\r\n\r\n onMilitaryStatusChanged = () => {\r\n this.borrower.isActiveDutyMilitary = false;\r\n this.borrower.onlyNonActivatedReserveOrNationalGuard = false;\r\n this.borrower.isRetiredDischargedSeparatedFromMilitary = false;\r\n\r\n if (this.militaryStatus === 'isActiveDutyMilitary') {\r\n this.borrower.isActiveDutyMilitary = true;\r\n } else {\r\n this.borrower.militaryTourEndDate = null;\r\n }\r\n if (this.militaryStatus === 'onlyNonActivatedReserveOrNationalGuard') {\r\n this.borrower.onlyNonActivatedReserveOrNationalGuard = true;\r\n }\r\n if (this.militaryStatus === 'isRetiredDischargedSeparatedFromMilitary') {\r\n this.borrower.isRetiredDischargedSeparatedFromMilitary = true;\r\n }\r\n }\r\n\r\n validate = () => {\r\n this.militaryServiceForm?.form.markAllAsTouched();\r\n if (this.militaryServiceForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Did you (or your deceased spouse) ever serve, or are you currently serving, in the United States Armed Forces?\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
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, Output, ViewChild } from \"@angular/core\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { AbstractValueAccessor, MakeProvider } from \"projects/shared/abstract-value-accessor\";\r\nimport { Borrower } from \"../../models/borrower-model\";\r\n\r\n@Component({\r\n selector : 'borrower-picker',\r\n templateUrl: 'borrower-picker.component.html',\r\n providers: [MakeProvider(BorrowerPicker)]\r\n})\r\nexport class BorrowerPicker extends AbstractValueAccessor {\r\n\r\n @ViewChild('borrowerPickerForm') borrowerPickerForm: NgForm | undefined;\r\n\r\n @Input() borrowers: Borrower[] = [];\r\n\r\n @Input() required = false;\r\n\r\n @Output()\r\n borrowerChangedEvent = new EventEmitter();\r\n\r\n markAsTouched = () => {\r\n this.borrowerPickerForm?.form.markAllAsTouched();\r\n }\r\n\r\n validate = () => {\r\n this.borrowerPickerForm?.form.markAllAsTouched();\r\n if (this.borrowerPickerForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get borrowerChangedEmitter(): EventEmitter {\r\n return this.borrowerChangedEvent;\r\n }\r\n\r\n borrowerChanged = (borrower:Borrower) => {\r\n this.borrowerChangedEvent.emit(borrower);\r\n }\r\n}\r\n","
\r\n \r\n
Borrower is required.
\r\n
\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { ResidencyAddress } from '../../models/residency-address.model';\r\nimport { SubjectProperty } from '../../models/subject-property.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\nimport { MortgageApplication } from '../../models/mortgage-app.model';\r\n\r\n@Component({\r\n selector: 'borrower-summary',\r\n templateUrl: 'borrower-summary.component.html'\r\n})\r\n\r\nexport class BorrowerSummaryComponent implements OnInit {\r\n\r\n private _borrower!: Borrower;\r\n\r\n address: string = \"\";\r\n fullName: string = \"\";\r\n email: string = \"\";\r\n phoneNumber: string = \"\";\r\n maritalStatus: string = \"\";\r\n propertyType: string = \"\";\r\n propertyValue: number | undefined;\r\n residencyBasis: string = \"\";\r\n residencyDuration: string = \"\";\r\n rent: number | undefined;\r\n monthlyPayment: number | undefined;\r\n isMainBorrower: boolean = false;\r\n\r\n @Output()\r\n borrowerInfoClicked: EventEmitter = new EventEmitter();\r\n\r\n private _mortgage: MortgageApplication;\r\n\r\n @Input()\r\n set mortgage(mortgage: MortgageApplication) {\r\n this._mortgage = mortgage;\r\n const subjectProperty = mortgage.subjectProperty;\r\n if (subjectProperty) {\r\n this.propertyType = this._enumsService.propertyTypeName(subjectProperty.propertyType);\r\n }\r\n }\r\n\r\n @Input()\r\n purchasePrice!: number;\r\n\r\n @Input()\r\n set borrower(borrower: Borrower) {\r\n this._borrower = borrower;\r\n this.address = this._utilsService.getCurrentAddressStreetName(this._borrower);\r\n this.fullName = this._borrower.firstName + \" \" + this._borrower.lastName;\r\n this.email = this._borrower.primaryEmail;\r\n this.phoneNumber = this._utilsService.formatPhoneNumber(this._borrower.mobilePhone);\r\n this.maritalStatus = this._enumsService.maritalStatusName(this._borrower.maritalStatus);\r\n let residencyAddress: ResidencyAddress = this._utilsService.getCurrentResidencyAddress(this._borrower);\r\n this.residencyBasis = this._enumsService.residencyBasisName(residencyAddress.residencyBasis);\r\n this.residencyDuration = residencyAddress.durationYears + \" yrs \" + residencyAddress.durationMonths + \" mnts \";\r\n if (this.residencyBasis === \"Rent\") {\r\n this.rent = residencyAddress.rent;\r\n } else if (this.residencyBasis === \"Own\") {\r\n const reo = this._mortgage?.realEstateOwned.find(reo =>\r\n reo?.address1?.toLowerCase() === residencyAddress.address?.address1?.toLowerCase() &&\r\n reo?.city?.toLowerCase() === residencyAddress.address?.city?.toLowerCase() &&\r\n reo?.state?.toLowerCase() === residencyAddress.address?.state?.toLowerCase() &&\r\n reo?.zipCode?.toLowerCase() === residencyAddress.address?.zipCode?.toLowerCase());\r\n if (reo) {\r\n this.monthlyPayment = reo.mortgagePayment;\r\n }\r\n }\r\n this.isMainBorrower = borrower.primaryEmail === this._wizardFlowService.userInfo?.email;\r\n }\r\n\r\n get borrower(): Borrower {\r\n return this._borrower;\r\n }\r\n\r\n detailsHidden: boolean = false;\r\n\r\n constructor(private readonly _utilsService: UtilsService,\r\n private readonly _enumsService: EnumsService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase) { }\r\n\r\n ngOnInit() { }\r\n\r\n onBorrowerInfoClicked = () => {\r\n this.borrowerInfoClicked.emit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{fullName}}\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 Main Borrower\r\n \r\n \r\n \r\n \r\n \r\n {{address}}\r\n \r\n \r\n \r\n \r\n {{email}}\r\n
\r\n
\r\n
\r\n
\r\n
Borrower
\r\n
\r\n
\r\n
Phone: {{phoneNumber}}
\r\n
\r\n
\r\n
Marital Status: {{maritalStatus}}
\r\n
\r\n
\r\n
Address: {{address}}
\r\n
\r\n
\r\n
\r\n
\r\n
Property
\r\n
\r\n
\r\n
Type: {{propertyType}}
\r\n
\r\n
\r\n
Value: {{ purchasePrice | currency}}
\r\n
\r\n
\r\n
\r\n
\r\n
Ownership
\r\n
\r\n
\r\n
Status: {{residencyBasis}}
\r\n
\r\n
\r\n
Lived for: {{residencyDuration}}
\r\n
\r\n
\r\n
Rent: {{ rent | currency}}/mnt\r\n
\r\n
\r\n
\r\n
Payment: {{ monthlyPayment | currency}}/mnt\r\n
\r\n
\r\n
\r\n
\r\n","import { BorrowerCharacteristic } from \"../../models/characteristics/borrower-characteristic.model\";\r\nimport { ICharacteristic } from \"../../models/characteristics/characteristic.interface\";\r\nimport { ICharacteristicFactory } from \"./characteristic-factory.interface\";\r\n\r\nexport class BorrowerCharacteristicFactory implements ICharacteristicFactory {\r\n\r\n create(id: number, applicationId: number, characteristicId: number, ownerId?: number): ICharacteristic {\r\n return new BorrowerCharacteristic(id, applicationId, characteristicId, ownerId);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CharacteristicMergeValue } from '../../models/characteristics/characteristic-merge-value.model';\r\nimport { ICharacteristic } from '../../models/characteristics/characteristic.interface';\r\nimport { TaskCategory } from '../../models/characteristics/task-category.model';\r\nimport { ICharacteristicFactory } from './characteristic-factory.interface';\r\nimport { LoanCharacteristicFactory } from './loan-characteristic.factory';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'characteristics-quantities-dialog',\r\n templateUrl: 'characteristics-quantities-dialog.component.html',\r\n styleUrls: ['characteristics-quantities-dialog.component.scss']\r\n})\r\n\r\nexport class CharacteristicsQuantitiesDialogComponent implements OnInit {\r\n\r\n @Input()\r\n set taskCategory(taskCategory: TaskCategory | undefined) {\r\n this._taskCategory = taskCategory;\r\n if (this._taskCategory) {\r\n this.title = (this._taskCategory.characteristicType === 'LoanCharacteristic' ? 'Loan ': 'Borrower ') + 'Characteristics Quantities';\r\n }\r\n }\r\n\r\n @Input()\r\n set characteristics (characteristics: ICharacteristic[]) {\r\n this._characteristics = _.cloneDeep(characteristics);\r\n }\r\n\r\n get characteristics() {\r\n return this._characteristics;\r\n }\r\n\r\n @Input()\r\n nextCharacteristicId: number = -1;;\r\n\r\n @Input()\r\n applicationId: number | undefined;\r\n\r\n @Input()\r\n ownerId: number | undefined;\r\n\r\n @Input()\r\n characteristicFactory: ICharacteristicFactory;\r\n\r\n get taskCategory(): TaskCategory | undefined {\r\n return this._taskCategory;\r\n }\r\n\r\n title: string = \"\";\r\n\r\n private _taskCategory: TaskCategory | undefined;\r\n\r\n private _characteristics: ICharacteristic[] = [];\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n this.characteristicFactory = new LoanCharacteristicFactory();\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n onAddClicked = () => {\r\n if (this._taskCategory && this.applicationId) {\r\n const newOne = this.characteristicFactory.create(this.nextCharacteristicId--, this.applicationId, this._taskCategory.taskCategoryId, this.ownerId);\r\n this._taskCategory.fields.forEach(f => {\r\n newOne.characteristicMergeValues.push(new CharacteristicMergeValue(f.characteristicFieldId));\r\n });\r\n this.characteristics.push(newOne);\r\n }\r\n }\r\n\r\n onUpdateClicked = () => {\r\n this.activeModal.close(this._characteristics.filter(c => !c.pendingDeletion));\r\n }\r\n}\r\n","
\r\n

{{title}}

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

0\">Please provide the following details for each\r\n '{{taskCategory.taskCategoryName}}':

\r\n

No details required for\r\n '{{taskCategory.taskCategoryName}}':

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

{{taskCategory?.taskCategoryName}} {{i + 1}}

\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","import { ICharacteristic } from \"../../models/characteristics/characteristic.interface\";\r\nimport { LoanCharacteristic } from \"../../models/characteristics/loan-characteristic.model\";\r\nimport { ICharacteristicFactory } from \"./characteristic-factory.interface\";\r\n\r\nexport class LoanCharacteristicFactory implements ICharacteristicFactory {\r\n\r\n create(id: number, applicationId: number, characteristicId: number, ownerId?: number): ICharacteristic {\r\n return new LoanCharacteristic(id, applicationId, characteristicId);\r\n }\r\n}\r\n","import { Component, Input } from \"@angular/core\";\r\nimport { ConfigurableFieldHost } from \"../models/wizard/configurable-field-host.model\";\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport class ConfigurableFieldHostComponent extends ConfigurableFieldHost {\r\n\r\n @Input()\r\n set fieldsToConfig(value: any) {\r\n this._fieldsToConfig = value;\r\n }\r\n\r\n get fieldsToConfig(): any {\r\n return this._fieldsToConfig;\r\n }\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\ndeclare const $: any;\r\n\r\n@Component({\r\n selector: 'credit-check-consent-dialog',\r\n templateUrl: 'credit-check-consent-dialog.component.html'\r\n})\r\n\r\nexport class CreditCheckConsentDialogComponent implements OnInit {\r\n\r\n consentGivenToCheckCredit: boolean = false;\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n\r\n @ViewChild('creditCheckConsentForm') creditCheckConsentForm: NgForm | undefined;\r\n\r\n @Input()\r\n creditAuthText: string = \"\";\r\n\r\n @Input()\r\n message: string = \"\";\r\n\r\n @Input()\r\n creditWillBeRunLater: boolean = false;\r\n\r\n onConsentGivenClicked = () => {\r\n this.creditCheckConsentForm?.form.markAllAsTouched();\r\n if (this.creditCheckConsentForm?.form.valid) {\r\n this.activeModal.close();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n $(\"#creditCheckConsentContainer\").html(this.creditAuthText);\r\n }\r\n}\r\n","\r\n
\r\n\r\n

Credit Check Authorization

\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

{{message}}

\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","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'credit-score-indicator',\r\n templateUrl: 'credit-score-indicator.component.html'\r\n})\r\n\r\nexport class CreditScoreIndicatorComponent implements OnInit {\r\n constructor() {\r\n }\r\n\r\n @Input()\r\n companyName!: string;\r\n\r\n @Input()\r\n score: number | undefined;\r\n\r\n @Input()\r\n useIcons: boolean = true;\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n \r\n = 720,\r\n 'fa-smile': score && score >= 660 && score < 720,\r\n 'fa-meh': score && score >= 620 && score < 660,\r\n 'fa-frown': score && score >= 580 && score < 620,\r\n 'fa-sad-tear': score && score < 580,\r\n 'fa-question-circle': !score,\r\n 'text-danger': score && score < 620,\r\n 'text-warning': (score && score >= 620 && score < 660) || !score\r\n }\">\r\n \r\n
-
\r\n
0\" style=\"font-size: 30px;\" class=\"fw-bolder\" data-kt-countup=\"true\" [attr.data-kt-countup-value]=\"score\">0
\r\n
\r\n
{{this.companyName}}
\r\n
\r\n","import { Component, Input, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'dependents-dialog',\r\n templateUrl: 'dependents-dialog.component.html'\r\n})\r\nexport class DependentsDialogComponent {\r\n\r\n @ViewChild(NgForm) dependentsForm: NgForm | undefined;\r\n\r\n @Input()\r\n set dependentAges(ages: number[]) {\r\n this.dependents = ages.map(a => {\r\n return { age: a }\r\n });\r\n }\r\n\r\n protected indexToDelete: number | undefined;\r\n\r\n protected dependents: Array<{ age: number }> = [];\r\n\r\n constructor(public activeModal: NgbActiveModal) {\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.dependentsForm?.form.markAllAsTouched();\r\n if (this.dependentsForm?.form.valid) {\r\n this.activeModal.close(this.dependents.map(d => d.age));\r\n }\r\n }\r\n\r\n addDependentClicked = () => {\r\n this.dependents.push({ age: 0 });\r\n }\r\n\r\n onDeleteClicked = (index: number) => {\r\n this.indexToDelete = index;\r\n }\r\n\r\n onDeleteConfirmed = (index: number) => {\r\n this.dependents.splice(index, 1);\r\n this.indexToDelete = undefined;\r\n }\r\n\r\n onDeleteAborted = () => {\r\n this.indexToDelete = undefined;\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Dependents

\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 click below to add all your dependents and their ages to your 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\r\n \r\n\r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Employment } from '../../models/employment-model';\r\nimport { EmploymentHistoryDialogComponent } from '../employment-history-dialog/employment-history-dialog.component';\r\nimport * as _ from 'lodash';\r\nimport { Borrower } from '../../models/borrower-model';\r\n\r\n@Component({\r\n selector: 'employment-history-card',\r\n templateUrl: 'employment-history-card.component.html'\r\n})\r\nexport class EmploymentHistoryCardComponent implements OnInit {\r\n\r\n constructor(private readonly _modalService: ModalService) { }\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reviewApplication\"\r\n };\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n public get employments(): Employment[] {\r\n return this.borrower.employments;\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onEditClicked = (employment: Employment) => {\r\n this.showEmploymentHistoryPopup(employment);\r\n }\r\n\r\n private showEmploymentHistoryPopup(employment: Employment) {\r\n const modal = this._modalService.show(EmploymentHistoryDialogComponent, this.modalOptions);\r\n let _employment = _.cloneDeep(employment);\r\n modal.componentInstance.employment = _employment;\r\n modal.result.then(employment => {\r\n this.onSaveClickedOnEmploymentHistoryModalForEdit(employment);\r\n }, error => { });\r\n }\r\n\r\n private onSaveClickedOnEmploymentHistoryModalForEdit(employment: Employment) {\r\n let index: number = this.borrower.employments.findIndex(e => e.employmentId === employment.employmentId)!;\r\n this.borrower.employments[index] = employment;\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
EMPLOYMENT HISTORY
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Position\r\n Employer\r\n Start Date\r\n End Date\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 {{employment.position}}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{employment.employer}}\r\n {{employment.startDate}}\r\n {{employment.endDate ? employment.endDate : \"-\" }}\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
{{employment.employer}}
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Position:
\r\n
{{employment.position}}
\r\n
\r\n
\r\n
Start Date:
\r\n
{{employment.startDate}}
\r\n
\r\n
\r\n
End Date:
\r\n
{{employment.endDate ? employment.endDate : \"-\" }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Employment } from '../../models/employment-model';\r\n\r\n@Component({\r\n selector: 'employment-history-dialog',\r\n templateUrl: 'employment-history-dialog.component.html'\r\n})\r\n\r\nexport class EmploymentHistoryDialogComponent implements OnInit {\r\n\r\n @ViewChild('employmentInfoForm') employmentInfoForm: NgForm | undefined;\r\n\r\n private _employment!: Employment;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n @Input()\r\n public set employment(employment: Employment) {\r\n this._employment = employment;\r\n }\r\n\r\n public get employment(): Employment {\r\n return this._employment;\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.employmentInfoForm?.form.markAllAsTouched();\r\n if (this.employmentInfoForm?.form.valid) {\r\n this.activeModal.close(this.employment);\r\n }\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n public get header(): string {\r\n return \"Employment History\";\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

{{header}}

\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
Employer name is required.
\r\n
\r\n
\r\n \r\n \r\n
Position is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Start date is required.
\r\n
\r\n
\r\n \r\n \r\n
End date 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","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { RealEstateOwnedDialogComponent } from '../wizard-steps/reo-dialog/reo-dialog.component';\r\nimport { Liability, RealEstateOwned } from '../../models/mortgage.model';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { formViewProvider } from '../../services/form-view.provider';\r\n\r\n@Component({\r\n selector: 'liability-reo',\r\n templateUrl: 'liability-reo.component.html',\r\n viewProviders: [formViewProvider]\r\n})\r\nexport class LiabilityReoComponent implements OnInit, OnDestroy {\r\n\r\n constructor(private readonly _modalService: ModalService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _spinner: NgxSpinnerService) {\r\n }\r\n\r\n private _subscriptionToReoSavedForCreate: any;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reo-main\"\r\n };\r\n\r\n @Input()\r\n liability!: Liability;\r\n\r\n @Input()\r\n set reos(resos: RealEstateOwned[]) {\r\n this.reoItems = resos.map(reo => {\r\n return {\r\n reoId: reo.reoId,\r\n address: reo.address1\r\n }\r\n });\r\n }\r\n\r\n protected reoItems: ReoAddress[] = [];\r\n\r\n onOptionsSelected(value: string) {\r\n if (value === \"addReo\") {\r\n this.showRealEstateOwnedPopup();\r\n } else if (value) {\r\n this.liability.reoId = Number(value);\r\n }\r\n }\r\n\r\n private showRealEstateOwnedPopup() {\r\n const modal = this._modalService.show(RealEstateOwnedDialogComponent, this.modalOptions);\r\n this._subscriptionToReoSavedForCreate = modal.componentInstance.saveClickedEmitterForCreate\r\n .subscribe((e: RealEstateOwned) => this.onSaveClickedOnReoModalForCreate(e));\r\n modal.result.then(() => { }, () => {\r\n this.liability.reoId = null\r\n });\r\n }\r\n\r\n private onSaveClickedOnReoModalForCreate = (reo: RealEstateOwned): void => {\r\n this._wizardFlowService.context.mortgage.realEstateOwned.push(reo);\r\n this._spinner.show();\r\n this.liability.reoId = null;\r\n this._wizardFlowService.saveMortgage().subscribe(() => {\r\n const reoAdded = this._wizardFlowService.context.mortgage.realEstateOwned.find(r =>\r\n r.address1.toLocaleLowerCase() === reo.address1.toLowerCase() &&\r\n r.city.toLocaleLowerCase() === reo.city.toLowerCase() &&\r\n r.state.toLocaleLowerCase() === reo.state.toLowerCase() &&\r\n r.zipCode === reo.zipCode);\r\n this.liability = this._wizardFlowService.context.mortgage.liabilities.find(l => l.liabilityId === this.liability.liabilityId);\r\n if (reoAdded) {\r\n this.reoItems.push({ reoId: reoAdded.reoId, address: reo.address1 });\r\n this.liability.reoId = reoAdded.reoId;\r\n }\r\n }, err => {\r\n }).add(() => {\r\n this._spinner.hide();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.liability.reoId) {\r\n this.liability.reoId = null;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._subscriptionToReoSavedForCreate) {\r\n this._subscriptionToReoSavedForCreate.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\nexport class ReoAddress {\r\n reoId: number;\r\n address: string;\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

{{liability.holderName}}

\r\n
{{liability.unpaidBalance | currency}}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loading-indicator',\r\n templateUrl: 'loading-indicator.component.html'\r\n})\r\nexport class LoadingIndicatorComponent implements OnInit {\r\n\r\n @Input()\r\n heading: string = \"Welcome!\";\r\n\r\n @Input()\r\n message1: string = \"Starting your mortgage application.\";\r\n\r\n @Input()\r\n message2: string = \"Please wait while we prepare the application for you...\";\r\n\r\n @Input()\r\n showImage: boolean = true;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

{{heading}}

\r\n

{{message1}}

\r\n

{{message2}}

\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SubjectProperty } from '../../models/subject-property.model';\r\nimport { MortgageTerm } from '../../models/mortgage-term.model';\r\nimport { TransactionDetail } from '../../models/transaction-detail.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport * as _ from 'lodash';\r\nimport { ConfigurableFieldHostComponent } from '../configurable-field-host.component';\r\n\r\n@Component({\r\n selector: 'loan-details-dialog',\r\n templateUrl: 'loan-summary-dialog.component.html'\r\n})\r\n\r\nexport class LoanSummaryDialogComponent extends ConfigurableFieldHostComponent {\r\n\r\n @ViewChild('loanSummaryDialogForm') loanSummaryDialogForm: NgForm | undefined;\r\n\r\n @Input()\r\n set subjectProperty(subjectProperty: SubjectProperty) {\r\n this._subjectProperty = _.cloneDeep(subjectProperty);\r\n }\r\n\r\n get subjectProperty(): SubjectProperty {\r\n return this._subjectProperty;\r\n }\r\n\r\n @Input()\r\n set mortgageTerm(mortgageTerm: MortgageTerm) {\r\n this._mortgageTerm = _.cloneDeep(mortgageTerm);\r\n }\r\n\r\n get mortgageTerm(): MortgageTerm {\r\n return this._mortgageTerm;\r\n }\r\n\r\n @Input()\r\n set transactionDetail(transactionDetail: TransactionDetail) {\r\n this._transactionDetail = _.cloneDeep(transactionDetail);\r\n }\r\n\r\n get transactionDetail(): TransactionDetail {\r\n return this._transactionDetail;\r\n }\r\n\r\n private _subjectProperty!: SubjectProperty;\r\n private _mortgageTerm!: MortgageTerm;\r\n private _transactionDetail!: TransactionDetail\r\n\r\n public purchasePriceAmount!: number;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _enumsService: EnumsService) {\r\n super();\r\n }\r\n\r\n get loanPurposeTypes(): any[] {\r\n return this._enumsService.loanPurposeTypes;\r\n }\r\n\r\n get mortgageTypes(): any[] {\r\n return this._enumsService.mortgageTypes;\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.loanSummaryDialogForm?.form.markAllAsTouched();\r\n if (this.loanSummaryDialogForm?.form.valid) {\r\n this.activeModal.close({ subjectProperty: this._subjectProperty, transactionDetail: this._transactionDetail, mortgageTerm: this._mortgageTerm });\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Loan Details

\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
Please select a value.
\r\n
\r\n
\r\n \r\n \r\n
Please select a value.
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Purchase Price is required.
\r\n
\r\n
\r\n \r\n \r\n
Loan Amount is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Estimated value 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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { SubjectProperty } from '../../models/subject-property.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { TransactionDetail } from \"../../models/transaction-detail.model\";\r\nimport { MortgageTerm } from '../../models/mortgage-term.model';\r\nimport { LoanPurpose } from '../../models/enums/loan-purpose.enum';\r\nimport { ReviewApplicationStep } from '../../models/wizard/review-application.model';\r\nimport { ConfigurableFieldHostComponent } from '../configurable-field-host.component';\r\n\r\n@Component({\r\n selector: 'loan-summary',\r\n templateUrl: 'loan-summary.component.html'\r\n})\r\nexport class LoanSummaryComponent extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @Input()\r\n inEditMode: boolean = false;\r\n\r\n @Input()\r\n set transactionDetail(transactionDetail: TransactionDetail) {\r\n this._transactionDetail = transactionDetail;\r\n this.ltv = this.calculateEstimatedLtv();\r\n }\r\n\r\n @Input()\r\n set subjectProperty(subjectProperty: SubjectProperty) {\r\n this.purposeOfLoan = this._enumsService.loanPurposeName(subjectProperty.purposeOfLoan);\r\n this._subjectProperty = subjectProperty;\r\n this.ltv = this.calculateEstimatedLtv();\r\n }\r\n\r\n @Input()\r\n set mortgageTerm(mortgageTerm: MortgageTerm) {\r\n this.mortgageAppliedFor = this._enumsService.mortgageTypeName(mortgageTerm.mortgageAppliedFor);\r\n this._mortgageTerm = mortgageTerm;\r\n this.ltv = this.calculateEstimatedLtv();\r\n }\r\n\r\n @Input()\r\n step: ReviewApplicationStep;\r\n\r\n get subjectProperty(): SubjectProperty {\r\n return this._subjectProperty;\r\n }\r\n\r\n get transactionDetail(): TransactionDetail {\r\n return this._transactionDetail;\r\n }\r\n\r\n @Output()\r\n loanDetailsClicked: EventEmitter = new EventEmitter();\r\n\r\n purposeOfLoan: string = '';\r\n mortgageAppliedFor: string = '';\r\n ltv: number = 0;\r\n\r\n private _subjectProperty: SubjectProperty | null = null;\r\n private _mortgageTerm: MortgageTerm | null = null;\r\n private _transactionDetail: TransactionDetail | null = null;\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.ltv = this.calculateEstimatedLtv();\r\n }\r\n\r\n onLoanDetailsClicked = () => {\r\n this.loanDetailsClicked.emit();\r\n }\r\n\r\n calculateEstimatedLtv = (): number | undefined => {\r\n let loanAmount: number | undefined | null = this._mortgageTerm?.amount;\r\n let estimatedValue: number;\r\n if (this._subjectProperty.purposeOfLoan === LoanPurpose.Refinance) {\r\n estimatedValue = this._subjectProperty?.presentValue;\r\n } else {\r\n estimatedValue = this.transactionDetail?.purchasePriceAmount!;\r\n }\r\n if (!loanAmount) {\r\n loanAmount = 0;\r\n }\r\n if (!estimatedValue) {\r\n return undefined;\r\n }\r\n return Math.round((loanAmount / estimatedValue) * 100);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n {{step.loanDetailsSectionTitle}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Purpose: {{purposeOfLoan}}
\r\n
\r\n
\r\n
Type: {{mortgageAppliedFor}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{getLabel('mortgage.transactionDetail.purchasePriceAmount', 'Purchase Price:')}} {{transactionDetail.purchasePriceAmount | currency}}
\r\n
\r\n
\r\n
Estimated Value: {{subjectProperty.presentValue | currency}}
\r\n
\r\n
\r\n
LTV: {{ltv | number : '1.2-2'}} %
\r\n
\r\n
\r\n
\r\n","import { Component, Injector, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { MilitaryServiceStep } from '../../models/wizard/military-service-step.model';\r\nimport { WizardStepComponentBase } from '../wizard-steps/wizard-step-base.component';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { BorrowerMilitaryServiceComponent } from '../borrower-military-service/borrower-military-service.component';\r\n\r\n@Component({\r\n selector: 'military-service-step',\r\n templateUrl: 'military-service-step.component.html'\r\n})\r\n\r\nexport class MilitaryServiceStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = []\r\n\r\n @ViewChildren('borrowerMilitaryService')\r\n borrowerMilitaryComponents: QueryList | undefined;\r\n\r\n constructor(\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.mortgageApplication.borrowers.filter(b => b.primaryEmail.toLocaleLowerCase() !==\r\n this.mainBorrower.primaryEmail.toLocaleLowerCase());\r\n }\r\n\r\n onNextClicked(): void {\r\n let isValid = true;\r\n const borrowerMilitaryServiceConfigs: BorrowerMilitaryServiceComponent[] = this.borrowerMilitaryComponents.toArray();\r\n borrowerMilitaryServiceConfigs.forEach(c => {\r\n const isValidForBorrower = c.validate();\r\n isValid = isValid && isValidForBorrower;\r\n });\r\n if (isValid) {\r\n super.onNextClicked();\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

{{mainBorrower.firstName + \" \" + mainBorrower.lastName}}

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

{{coBorrower.firstName + \" \" + coBorrower.lastName}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { PersonalInfoDialogComponent } from '../personal-info-dialog/personal-info-dialog.component';\r\n\r\n@Component({\r\n selector: 'personal-info-card',\r\n templateUrl: 'personal-info-card.component.html'\r\n})\r\n\r\nexport class PersonalInfoComponent implements OnInit {\r\n\r\n @Input()\r\n borrower!: Borrower;\r\n\r\n @Output()\r\n borrowerChanged: EventEmitter = new EventEmitter();\r\n\r\n residenceStatusName!: string;\r\n maritalStatusName!: string;\r\n\r\n private _currentStreetAddress!: string;\r\n private _phoneNumber!: string;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reviewApplication\"\r\n };\r\n\r\n constructor(\r\n private readonly _enumsService: EnumsService,\r\n private readonly _modalService: ModalService,\r\n private readonly _utilsService: UtilsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.massageFieldsForDisplay();\r\n }\r\n\r\n public get currentStreetAddress(): string {\r\n return this._currentStreetAddress;\r\n }\r\n\r\n public get phoneNumber(): string {\r\n return this._phoneNumber;\r\n }\r\n\r\n onEditClicked = () => {\r\n this.showPersonalInfoPopup();\r\n }\r\n\r\n private showPersonalInfoPopup() {\r\n const modal = this._modalService.show(PersonalInfoDialogComponent, this.modalOptions);\r\n modal.componentInstance.borrower = this.borrower;\r\n modal.result.then((borrower: Borrower) => {\r\n this.borrower = borrower;\r\n this.borrowerChanged.emit(this.borrower);\r\n this.massageFieldsForDisplay();\r\n })\r\n }\r\n\r\n private massageFieldsForDisplay() {\r\n this._currentStreetAddress = this._utilsService.getCurrentAddressStreetName(this.borrower);\r\n this._phoneNumber = this._utilsService.formatPhoneNumber(this.borrower.mobilePhone);\r\n let residenceStatusValue = this.borrower.declarations!.residenceStatus!;\r\n this.residenceStatusName = this._enumsService.residencyStatusTypeName(residenceStatusValue);\r\n this.maritalStatusName = this._enumsService.maritalStatusName(this.borrower.maritalStatus);\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
PERSONAL INFO
\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
Phone
\r\n \r\n \r\n
{{phoneNumber}}
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
Marital Status
\r\n \r\n \r\n
{{maritalStatusName}}
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
SSN
\r\n \r\n \r\n
{{borrower.socialSecNum}}
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
Address
\r\n \r\n \r\n
{{currentStreetAddress}}
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
Date of Birth
\r\n \r\n \r\n
{{borrower.dateOfBirth}}
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
Citizenship
\r\n \r\n \r\n
{{residenceStatusName}}
\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","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Address } from '../../models/address-model';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AddressComponent } from '../address/address.component';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'personal-info-dialog',\r\n templateUrl: 'personal-info-dialog.component.html'\r\n})\r\n\r\nexport class PersonalInfoDialogComponent implements OnInit {\r\n\r\n ssnPattern = {'0': {pattern: new RegExp('\\\\d'), symbol: 'X'}};\r\n\r\n @ViewChild('personalInfoForm') personalInfoForm: NgForm | undefined;\r\n @ViewChild(AddressComponent) addressComponent: AddressComponent | undefined;\r\n\r\n private _borrower!: Borrower;\r\n\r\n public firstName!: string;\r\n public lastName!: string;\r\n public maritalStatus: string | undefined;\r\n public phoneNumber!: string;\r\n public address!: Address;\r\n public dateOfBirth!: string;\r\n public residenceStatus!: string;\r\n public socialSecNum!: string;\r\n\r\n @Input()\r\n public set borrower(borrower: Borrower) {\r\n this._borrower = _.cloneDeep(borrower);\r\n }\r\n\r\n get borrower(): Borrower {\r\n return this._borrower;\r\n }\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n public utilsService: UtilsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.address = this.utilsService.getCurrentAddress(this._borrower);\r\n this.residenceStatus = this._borrower.declarations!.residenceStatus!;\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.personalInfoForm?.form.markAllAsTouched();\r\n if (this.addressComponent?.validate() && this.personalInfoForm?.form.valid) {\r\n this.utilsService.setCurrentAddress(this._borrower, this.address);\r\n this.activeModal.close(this._borrower);\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Personal Info

\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
First name is required.
\r\n
\r\n
\r\n \r\n \r\n
Last name is required.
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Please select a value.
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Phone# 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 \r\n
SSN is required.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Birth date 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
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SubjectProperty } from '../../models/subject-property.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { Address } from '../../models/address-model';\r\nimport { AddressComponent } from '../address/address.component';\r\nimport * as _ from 'lodash';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { Constants } from '../../services/constants';\r\n\r\n@Component({\r\n selector: 'subject-property-summary-dialog',\r\n templateUrl: 'subject-property-summary-dialog.component.html'\r\n})\r\nexport class SubjectPropertySummaryDialogComponent implements OnInit {\r\n\r\n @ViewChild('subjectPropertySummaryForm') subjectPropertySummaryForm: NgForm | undefined;\r\n\r\n @ViewChild(AddressComponent) addressComponent: AddressComponent | undefined;\r\n\r\n @Input()\r\n set subjectProperty(subjectProperty: SubjectProperty | undefined) {\r\n this._subjectProperty = _.cloneDeep(subjectProperty);\r\n if (this._subjectProperty) {\r\n this.address = new Address();\r\n this.address.address1 = this._subjectProperty.address1;\r\n this.address.city = this._subjectProperty.city;\r\n this.address.state = this._subjectProperty.state;\r\n this.address.zipCode = this._subjectProperty.zipCode;\r\n }\r\n }\r\n\r\n get subjectProperty(): SubjectProperty | undefined {\r\n return this._subjectProperty;\r\n }\r\n\r\n public get willBeTypes() {\r\n return this._enumsService.propertyWillBeTypes;\r\n }\r\n\r\n public address!: Address;\r\n\r\n protected propertyTypes: EnumerationItem[] = [];\r\n\r\n private _subjectProperty: SubjectProperty | undefined;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _enumsService: EnumsService) {\r\n this._enumsService.getMortgageEnumerations().subscribe(enums => {\r\n this.propertyTypes = enums[Constants.mortgageEnumerations.propertyType]\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.subjectPropertySummaryForm?.form.markAllAsTouched();\r\n if (this.addressComponent?.validate() && this.subjectPropertySummaryForm?.form.valid) {\r\n this._subjectProperty!.address1 = this.address.address1 ?? '';\r\n this._subjectProperty!.city = this.address.city ?? '';\r\n this._subjectProperty!.state = this.address.state ?? '';\r\n this._subjectProperty!.zipCode = this.address.zipCode ?? '';\r\n this.activeModal.close(this._subjectProperty);\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n\r\n

Subject Property

\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
Please select a value.
\r\n
\r\n
\r\n \r\n \r\n
Please select a value.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Value is required.
\r\n
\r\n
\r\n \r\n \r\n
Please write Year Built value.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { SubjectProperty } from '../../models/subject-property.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\n\r\n@Component({\r\n selector: 'subject-property-summary',\r\n templateUrl: 'subject-property-summary.component.html'\r\n})\r\nexport class SubjectPropertySummaryComponent implements OnInit {\r\n constructor(private readonly _enumsService: EnumsService) { }\r\n\r\n @Input()\r\n subjectProperty!: SubjectProperty;\r\n\r\n @Output()\r\n subjectPropertyDetailsClicked: EventEmitter = new EventEmitter();\r\n\r\n ngOnInit() { }\r\n\r\n onSubjectPropertyDetailsClicked = () => {\r\n this.subjectPropertyDetailsClicked.emit();\r\n }\r\n\r\n public get propertyType(): string {\r\n return this._enumsService.propertyTypeName(this.subjectProperty.propertyType);\r\n }\r\n\r\n public get propertyWillBe(): string {\r\n return this._enumsService.propertyWillBeTypeName(this.subjectProperty.propertyWillBe);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Subject Property\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
Will be: {{propertyWillBe}}
\r\n
\r\n
\r\n
\r\n
\r\n
Value: {{subjectProperty.presentValue | currency}}
\r\n
\r\n
\r\n
Year Built: {{subjectProperty.yearBuilt}}
\r\n
\r\n
\r\n
\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AddressAutocompleteComponent } from 'projects/shared/address-autocomplete/address-autocomplete.component';\r\nimport { TurboInsurancePropertyInfo } from '../../../models/turbo-insurance/get-quote-request.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\n\r\n\r\n@Component({\r\n selector: 'turbo-insurance-property-info-editor',\r\n templateUrl: 'turbo-insurance-property-info-editor.component.html'\r\n})\r\nexport class TurboInsurancePropertyInfoEditorComponent implements OnInit {\r\n\r\n @ViewChild('addressForm') addressForm: NgForm | undefined;\r\n @ViewChild(AddressAutocompleteComponent) addressAutoComplete: AddressAutocompleteComponent | undefined;\r\n @ViewChild('zipCodeOfAddress', {static: false}) zipCodeOfAddress: ElementRef | undefined;\r\n @ViewChild('cityOfAddress', {static: false}) cityOfAddress: ElementRef | undefined;\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n this.propertyInfo = new TurboInsurancePropertyInfo();\r\n }\r\n\r\n @Input()\r\n propertyInfo: TurboInsurancePropertyInfo;\r\n\r\n @Input()\r\n showMonthsAtAddressField: boolean = true;\r\n\r\n setManuallyEnteredAddress(address: string) {\r\n this.propertyInfo.streetAddress1 = address;\r\n }\r\n\r\n setGooglePickedAddress(place: any) {\r\n this.propertyInfo.streetAddress1 = place.name;\r\n if (place.address_components) {\r\n const self = this;\r\n place.address_components.forEach((component: { types: any; long_name: any; short_name: any; }) => {\r\n let types = component.types;\r\n types.forEach((type: string) => {\r\n if (type === 'locality' || type === 'sublocality') {\r\n this.propertyInfo.city = component.long_name;\r\n }\r\n if (type === 'administrative_area_level_1') {\r\n const state = this.states.find(s => s.name === component.short_name);\r\n if (state)\r\n this.propertyInfo.state = state.value;\r\n }\r\n if (type === 'postal_code') {\r\n this.propertyInfo.zip = component.long_name;\r\n }\r\n setTimeout(() => self.cityOfAddress!.nativeElement.focus(), setTimeout(() => self.zipCodeOfAddress!.nativeElement.focus()));\r\n });\r\n });\r\n }\r\n }\r\n\r\n validate = () => {\r\n this.addressForm?.form.markAllAsTouched();\r\n this.addressAutoComplete?.markAsTouched();\r\n if (this.addressForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get states() {\r\n return this._enumsService.states;\r\n }\r\n\r\n ngOnInit() { }\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","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { TurboInsuranceGetQuoteRequest } from '../../models/turbo-insurance/get-quote-request.model';\r\nimport { EnumsService } from '../../services/enums.service';\r\nimport { TurboInsuranceService } from '../../services/turbo-insurance.service';\r\nimport { TurboInsurancePropertyInfoEditorComponent } from './turbo-insurance-property-info-editor/turbo-insurance-property-info-editor.component';\r\n\r\n@Component({\r\n selector: 'turbo-insurance-quote-dialog',\r\n templateUrl: 'turbo-insurance-quote-dialog.component.html'\r\n})\r\n\r\nexport class TurboInsuranceQuoteDialogComponent implements OnInit {\r\n\r\n @ViewChild('quoteForm') quoteForm: NgForm | undefined;\r\n\r\n @ViewChild('quotePropertyInfoEditor')\r\n quotePropertyInfoEditor: TurboInsurancePropertyInfoEditorComponent | undefined;\r\n\r\n @ViewChild('priorPropertyInfoEditor')\r\n priorPropertyInfoEditor: TurboInsurancePropertyInfoEditorComponent | undefined;\r\n\r\n @Input()\r\n applicationId: number | undefined;\r\n\r\n @Input()\r\n quoteRequest: TurboInsuranceGetQuoteRequest = new TurboInsuranceGetQuoteRequest();\r\n\r\n currentView: QuoteView = QuoteView.Config;\r\n\r\n turboInsurancePropertyTypes: EnumerationItem[] = [];\r\n turboInsuranceOccupancyTypes: EnumerationItem[] = [];\r\n\r\n prepareQuotesButtonText = \"Prepare Quotes\";\r\n\r\n isPreparingQuotes: boolean = false;\r\n\r\n errorMessage: string | null = null;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _turboInsuranceService: TurboInsuranceService,\r\n private readonly _spinner: NgxSpinnerService,\r\n private readonly _enumsService: EnumsService) {\r\n this.turboInsurancePropertyTypes = this._enumsService.tueboInsurancePropertyTypes;\r\n this.turboInsuranceOccupancyTypes = this._enumsService.tueboInsuranceOccupancyTypes;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onBackClicked = () => {\r\n this.currentView = QuoteView.Config;\r\n }\r\n\r\n onGenerateQuotesClicked = () => {\r\n this.quoteForm?.form.markAllAsTouched();\r\n if (this.quoteForm?.form.valid && this.quotePropertyInfoEditor?.validate() && this.priorPropertyInfoEditor?.validate()) {\r\n if (this.applicationId) {\r\n this.errorMessage = null;\r\n this._spinner.show();\r\n this.prepareQuotesButtonText = \"Preparing Quotes...\";\r\n this.isPreparingQuotes = true;\r\n this._turboInsuranceService.saveQuoteRequest(this.applicationId, this.quoteRequest).subscribe(() => {\r\n this._turboInsuranceService.getQuotes(this.applicationId as number).subscribe(() => {\r\n this._spinner.hide();\r\n this.currentView = QuoteView.Quotes;\r\n }, error => {\r\n this.errorMessage = error.error && error.error.message ? error.error.message : \"An error occurred while preparing quotes.\";\r\n this._spinner.hide();\r\n this.prepareQuotesButtonText = \"Prepare Quotes\";\r\n this.isPreparingQuotes = false;\r\n });\r\n }, error => {\r\n this.errorMessage = error.error && error.error.message ? error.error.message : \"An error occurred while preparing quotes.\";\r\n this._spinner.hide();\r\n this.prepareQuotesButtonText = \"Prepare Quotes\";\r\n this.isPreparingQuotes = false;\r\n })\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport enum QuoteView {\r\n Config = 1,\r\n Quotes = 2\r\n}\r\n\r\n","\r\n
\r\n\r\n

To Give You an Accurate Quote, We Need to Verify the Following Info

\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 {{errorMessage}}\r\n
\r\n
\r\n
\r\n
Applicant Info:
\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
Quote Property Info:
\r\n
\r\n \r\n \r\n\r\n
Prior Property Info:
\r\n
\r\n \r\n \r\n\r\n
Additional Info:
\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 Quotes!\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'turbo-insurance-quote-status-dialog',\r\n templateUrl: 'turbo-insurance-quote-status-dialog.component.html'\r\n})\r\n\r\nexport class TurboInsuranceQuoteStatusDialogComponent {\r\n @Input() message: any;\r\n\r\n constructor(public activeModal: NgbActiveModal) {}\r\n}\r\n","\r\n
\r\n

Quotes Information

\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 {{message}}\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Input, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\n\r\n@Component({\r\n selector: 'wizard-button-group',\r\n templateUrl: 'wizard-button-group.component.html'\r\n})\r\nexport class WizardButtonGroupComponent implements OnInit {\r\n\r\n @ViewChild(SvgIconHostDirective, { static: true }) svgIconHost!: SvgIconHostDirective;\r\n\r\n @Input() backEnabled: boolean = true;\r\n @Input() nextEnabled: boolean = true;\r\n @Input() backVisible: boolean = true;\r\n @Input() nextVisible: boolean = true;\r\n\r\n @Input() nextButtonText: string = \"Continue\";\r\n\r\n spinnerVisible: boolean = false;\r\n\r\n private _oldNextButtonText: string = \"Continue\";\r\n\r\n public startSpinner = (): void => {\r\n this.spinnerVisible = true;\r\n this._oldNextButtonText = this.nextButtonText;\r\n this.nextButtonText = \"Please wait...\";\r\n }\r\n\r\n public stopSpinner = (): void => {\r\n this.spinnerVisible = false;\r\n this.nextButtonText = this._oldNextButtonText;\r\n }\r\n\r\n @Output() nextClicked = new EventEmitter();\r\n @Output() backClicked = new EventEmitter();\r\n\r\n onBackClicked = () => {\r\n this.backClicked.emit();\r\n }\r\n\r\n onNextClicked = () => {\r\n this.nextClicked.emit();\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\n\r\n@Component({\r\n selector: 'wizard-horizontal-nav-step',\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n

\r\n {{ index + 1 }}\r\n   \r\n {{ title }}\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n `,\r\n styleUrls: ['wizard-horizontal-nav-step.component.scss'],\r\n})\r\nexport class WizardHorizontalNavStepComponent implements OnInit {\r\n\r\n @Input() inEditMode: boolean = false;\r\n @Input() state: string = 'pending';\r\n @Input() index: number = 0;\r\n @Input() title: string = '';\r\n @Input() iconClass: string = '';\r\n @Input() svgIconName: string = '';\r\n @Input() numberOfTotalSteps: number = 0;\r\n\r\n @Output()\r\n stepTitleChanged: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild(SvgIconHostDirective, { static: true })\r\n svgIconHost!: SvgIconHostDirective;\r\n\r\n constructor(\r\n private _svgIconFactory: SvgIconComponentFactory,\r\n private _componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadIcon(this.svgIconName);\r\n }\r\n\r\n onStepTitleChanged = () => {\r\n this.stepTitleChanged.emit({stepIndex: this.index, newTitle: this.title});\r\n }\r\n\r\n loadIcon = (svgIconName: string) => {\r\n if (!svgIconName || svgIconName.length === 0) {\r\n return;\r\n }\r\n const svgIconComponent =\r\n this._svgIconFactory.getSvIconComponent(svgIconName);\r\n if (!svgIconComponent) {\r\n return;\r\n }\r\n const componentFactory =\r\n this._componentFactoryResolver.resolveComponentFactory(svgIconComponent);\r\n\r\n const viewContainerRef = this.svgIconHost.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n viewContainerRef.createComponent(componentFactory);\r\n };\r\n}\r\n\r\nexport class StepTitleChangedEvent {\r\n newTitle: string;\r\n stepIndex: number;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { WizardNavigationComponentBase } from '../wizard-navigation/wizard-navigation-base.component';\r\nimport { StepTitleChangedEvent } from './wizard-horizontal-nav-step.component';\r\n\r\n@Component({\r\n selector: 'wizard-horizontal-nav',\r\n templateUrl: 'wizard-horizontal-nav.component.html'\r\n})\r\nexport class WizardHorizontalNavComponent extends WizardNavigationComponentBase implements OnInit {\r\n\r\n onStepTitleChanged = (e: StepTitleChangedEvent) => {\r\n const changedStep = this.navGroups[e.stepIndex];\r\n changedStep.title = e.newTitle;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { UserInfo } from 'projects/shared/models/user-info.model';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { Constants } from '../../services/constants';\r\nimport { LocalStorageService } from '../../services/local-storage.service';\r\nimport { NavigationService } from '../../services/navigation.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { ApplicationForUser } from '../../models/borrower-portal/application-for-user-model';\r\nimport { PageUtils } from 'projects/shared/utils/page.utils';\r\n\r\ndeclare const KTMenu: any;\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class WizardMainBaseComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('template', { static: true }) _template: any;\r\n\r\n title = 'borrower-app';\r\n\r\n userInfo: UserInfo | undefined;\r\n\r\n isDefaultFlow: boolean = false;\r\n\r\n overrideCssUrl: string = null;\r\n\r\n protected industryAffiliations: string[] = [];\r\n\r\n private _routeSubscription: Subscription;\r\n private _loanInitialidedSubscription: Subscription;\r\n\r\n constructor(protected readonly wizardFlowService: WizardFlowServiceBase,\r\n protected readonly utilsService: UtilsService,\r\n protected readonly authService: AuthService,\r\n protected readonly environment: EnvironmentService,\r\n protected readonly viewContainerRef: ViewContainerRef,\r\n private readonly _activatedRoute: ActivatedRoute,\r\n private readonly _localStorageService: LocalStorageService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService) {\r\n\r\n this._loanInitialidedSubscription = wizardFlowService.loanInitializedEvent.subscribe(loan => {\r\n this.populateIndustryAffiliations(loan);\r\n });\r\n\r\n if (this.wizardFlowService.context.applicationInfo) {\r\n this.populateIndustryAffiliations(this.wizardFlowService.context.applicationInfo);\r\n }\r\n\r\n this._routeSubscription = this._activatedRoute.paramMap.subscribe((params: ParamMap) => {\r\n\r\n this.initializeContextFromActivatedRouteParams();\r\n this.overrideCssUrl = this.environment.apiInfo.publicApiBaseUrl + `/api/PublicApi/custom-css/${this.wizardFlowService.companyGuid}/onlineapp`;\r\n\r\n if (this._localStorageService.authorizationData && this._localStorageService.authorizationData.token) {\r\n let jwtPayload = this.utilsService.parseJwt(this._localStorageService.authorizationData.token);\r\n if (this.wizardFlowService.companyGuid) {\r\n if (jwtPayload && jwtPayload.CompanyGuid !== this.wizardFlowService.companyGuid) {\r\n this.authService.logout();\r\n this.userInfo = undefined;\r\n this._navigationService.navigateToLogin(this.wizardFlowService.companyGuid);\r\n return;\r\n }\r\n }\r\n }\r\n this.userInfo = this.wizardFlowService.userInfo;\r\n if (this.isTheVeryBeginningOfTheFlow()) {\r\n this.initializeFlow();\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.viewContainerRef.createEmbeddedView(this._template);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n KTMenu.createInstances();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._routeSubscription) {\r\n this._routeSubscription.unsubscribe();\r\n }\r\n this._loanInitialidedSubscription?.unsubscribe();\r\n }\r\n\r\n private populateIndustryAffiliations = (loan: ApplicationForUser) => {\r\n if (loan.industryAffiliations && loan.industryAffiliations !== \"Disabled\") {\r\n const affiliations = loan.industryAffiliations.split(',');\r\n affiliations.forEach(a => a.trim());\r\n this.industryAffiliations = affiliations;\r\n }\r\n }\r\n\r\n private initializeContextFromActivatedRouteParams = () => {\r\n const loanId = Number(this._activatedRoute.snapshot.queryParams['appId']);\r\n const companyGuid = this._activatedRoute.snapshot.queryParams['companyGuid'];\r\n const companyId = Number(this._activatedRoute.snapshot.queryParams['companyId']);\r\n const userGuid = this._activatedRoute.snapshot.queryParams['userGuid'];\r\n this._mortgageApplicationService.mortgageApplication.userGuid = userGuid || 'unassigned';\r\n\r\n if (this.wizardFlowService.context.applicationId && this.wizardFlowService.context.applicationId !== loanId) {\r\n this.wizardFlowService.resetFlows();\r\n }\r\n\r\n this.wizardFlowService.context.applicationId = loanId;\r\n this.wizardFlowService.context.companyGuid = companyGuid;\r\n this.wizardFlowService.context.companyId = companyId;\r\n }\r\n\r\n private initializeFlow = () => {\r\n let companyGuidOrId: string | number = \"\";\r\n if (this.wizardFlowService.companyGuid || this.wizardFlowService.companyId) {\r\n companyGuidOrId = this.wizardFlowService.companyGuid ? this.wizardFlowService.companyGuid : this.wizardFlowService.companyId;\r\n }\r\n PageUtils.addFavicon(this.environment.faviconUrl, companyGuidOrId.toString());\r\n var path = this.utilsService.getLastUrlSegment();\r\n if (path.length === 0) {\r\n return;\r\n }\r\n if (path === Constants.flowEndpoints.register || path === Constants.flowEndpoints.coApply || path === Constants.flowEndpoints.apply) {\r\n if (path === Constants.flowEndpoints.register && !this.wizardFlowService.isEditEnabled) {\r\n this.authService.logout();\r\n this.userInfo = undefined;\r\n }\r\n this.wizardFlowService.startFlow(path);\r\n this.isDefaultFlow = this.wizardFlowService.activeFlowConfig ? this.wizardFlowService.activeFlowConfig.isDefault : false;\r\n }\r\n }\r\n\r\n private isTheVeryBeginningOfTheFlow = (): boolean => {\r\n return ((this._activatedRoute.snapshot as any)?._urlSegment?.segments?.length === 1);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { WizardNavGroup } from '../../models/wizard/wizard-nav-group.model';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class WizardNavigationComponentBase implements OnInit {\r\n\r\n @Input()\r\n inEditMode: boolean = false;\r\n\r\n protected navGroups: WizardNavGroup[] = [];\r\n\r\n constructor(protected readonly _wizardFlowService: WizardFlowServiceBase) {}\r\n\r\n ngOnInit() {\r\n this.navGroups = this._wizardFlowService.activeFlowConfig.stepGroups;\r\n }\r\n\r\n onStepClicked = (navGroup: WizardNavGroup) => {\r\n this._wizardFlowService.navigateToGroup(navGroup);\r\n };\r\n\r\n public getWizardState(navGroup: WizardNavGroup): string {\r\n const currentStep = this._wizardFlowService.getCurrentStep();\r\n if (!currentStep) {\r\n return 'pending';\r\n }\r\n if (navGroup.id === currentStep.groupId) {\r\n return 'current';\r\n }\r\n if (this._wizardFlowService.isNavGroupCompleted(navGroup.id!)) {\r\n return 'complete';\r\n }\r\n return 'pending';\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wizard-navigation',\r\n templateUrl: 'wizard-navigation.component.html'\r\n})\r\n\r\nexport class WizardNavigationComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\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 1\r\n
\r\n \r\n \r\n
\r\n

Account Type

\r\n
Setup Your Account Details
\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 2\r\n
\r\n \r\n \r\n
\r\n

Account Settings

\r\n
Setup Your Account Settings
\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 3\r\n
\r\n \r\n \r\n
\r\n

Business Info

\r\n
Your Business Related Info
\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 4\r\n
\r\n \r\n \r\n
\r\n

Billing Details

\r\n
Set Your Payment Methods
\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 5\r\n
\r\n \r\n \r\n
\r\n

Completed

\r\n
Woah, we are here
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ResidencyBasis } from '../../../models/enums/residency-basis.enum';\r\nimport { ResidencyAddress } from '../../../models/residency-address.model';\r\nimport { AddressComponent } from '../../address/address.component';\r\nimport { ConfigurableFieldHostComponent } from '../../configurable-field-host.component';\r\nimport { Address } from '../../../models/address-model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'address-history2',\r\n templateUrl: 'address-history2.component.html'\r\n})\r\nexport class AddressHistory2Component extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @Input() residencyAddress: ResidencyAddress | undefined;\r\n\r\n @Output() durationAtAddressChanged = new EventEmitter();\r\n\r\n @Output() addressChanged = new EventEmitter
();\r\n\r\n @Output() ownershipStatusChanged: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('addressComponent') addressComponent: AddressComponent | undefined;\r\n\r\n @ViewChild('addressRelatedInfoForm') addressRelatedInfoForm: NgForm | undefined;\r\n\r\n uniqueId: string;\r\n\r\n protected isMobile: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n if (!this.residencyAddress) {\r\n this.residencyAddress = new ResidencyAddress(\"PresentAddress\");\r\n }\r\n this.uniqueId = uuidv4();\r\n }\r\n\r\n onMonthsOrYearsBlurred = (e: any) => {\r\n setTimeout(() => {\r\n const focusedElement = document.activeElement;\r\n if (focusedElement) {\r\n if (focusedElement.id !== \"monthsAtAddress\" && focusedElement.id !== \"yearsAtAddress\") {\r\n const years = this.residencyAddress!.durationYears ? this.residencyAddress!.durationYears : 0;\r\n const months = this.residencyAddress!.durationMonths ? this.residencyAddress!.durationMonths : 0;\r\n this.durationAtAddressChanged.emit(months + 12 * years);\r\n }\r\n }\r\n });\r\n }\r\n\r\n validate = () => {\r\n const isAddressValid = this.addressComponent?.validate();\r\n this.addressRelatedInfoForm?.form.markAllAsTouched();\r\n if (isAddressValid && this.addressRelatedInfoForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ngOnInit() {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n if (!this.residencyAddress.residencyBasis) {\r\n this.residencyAddress.residencyBasis = null;\r\n }\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n onOwnershipStatusChanged = () => {\r\n this.ownershipStatusChanged.emit(this.residencyAddress.residencyBasis as ResidencyBasis)\r\n }\r\n\r\n onAddressChanged = (address: Address) => {\r\n this.addressChanged.emit(address);\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 768\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","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\n\r\nimport { AddressHistory } from '../../../models/address-history-model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\n\r\n@Component({\r\n selector: 'address-history',\r\n templateUrl: 'address-history.component.html'\r\n})\r\n\r\nexport class AddressHistoryComponent implements OnInit {\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n this.addressHistory = new AddressHistory();\r\n }\r\n\r\n @ViewChild('addressHistoryForm') addressHistoryForm: NgForm | undefined;\r\n\r\n @Input()\r\n addressHistory!: AddressHistory;\r\n\r\n validate = () => {\r\n this.addressHistoryForm?.form.markAllAsTouched();\r\n if (this.addressHistoryForm?.form.valid) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public get states() {\r\n return this._enumsService.states;\r\n }\r\n\r\n public get residencyBasisValues() {\r\n return this._enumsService.residencyBasisValues;\r\n }\r\n\r\n ngOnInit() { }\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 select a value.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please enter a value.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Please select a value.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { Address } from '../../../models/address-model';\r\nimport { AddressStep } from '../../../models/wizard/address-step.model';\r\nimport { WizardFlowServiceBase } from '../../../services/wizard/wizard-flow-service.base';\r\nimport { AddressComponent } from '../../address/address.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'address-step',\r\n templateUrl: 'address-step.component.html'\r\n})\r\nexport class AddressStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChild(AddressComponent) addressComponent: AddressComponent | undefined;\r\n\r\n public address: Address = new Address();\r\n\r\n constructor(private readonly _injector: Injector, private readonly _wizardFlowService: WizardFlowServiceBase) {\r\n super(_injector);\r\n }\r\n\r\n onNextClicked() {\r\n if (this.addressComponent?.validate()) {\r\n this.step.setAddress(this.address);\r\n super.onNextClicked();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.address = this.step.address;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n\r\n\r\n","import { Component, ComponentFactoryResolver, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\nimport { Option } from '../../../models/wizard/option.model';\r\n\r\n@Component({\r\n selector: 'answer-option',\r\n templateUrl: 'answer-option.component.html',\r\n styleUrls: ['answer-option.component.scss']\r\n})\r\n\r\nexport class AnswerOptionComponent implements OnInit {\r\n\r\n @Input()\r\n option!: Option;\r\n\r\n @Input()\r\n inEditMode: boolean = true;\r\n\r\n @Output() optionSelected = new EventEmitter
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Years in profession is required.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Start date is required.
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
End date is required.
\r\n
End date must be greater than start date
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Monthly pay 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
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
Monthly pay 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\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { Employment, Income } from '../../../models/mortgage.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { Constants } from '../../../services/constants';\r\nimport { Utils } from '../../../services/utils';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\n\r\n@Component({\r\n selector: 'employment-income-dialog',\r\n templateUrl: 'employment-income-dialog.component.html',\r\n})\r\nexport class EmploymentIncomeDialogComponent implements OnInit {\r\n\r\n @ViewChild('incomeForm')\r\n incomeForm: NgForm;\r\n\r\n @Input()\r\n protected set employment(employment: Employment) {\r\n if (employment) {\r\n this._employment = cloneDeep(employment);\r\n }\r\n }\r\n\r\n get employment() {\r\n return this._employment;\r\n }\r\n\r\n protected employmentIncomeTypes: EnumerationItem[] = [];\r\n\r\n protected totalMonthly: number = 0;\r\n\r\n protected deleteAttemptedForIncomeId: number | null = null;\r\n \r\n private _employmentIncomeTypeValues: string[] = [];\r\n\r\n private _enums: any;\r\n\r\n private _employment: Employment;\r\n\r\n constructor(public activeModal: NgbActiveModal, \r\n private readonly _enumsService: EnumsService\r\n ) {\r\n this._enumsService.getMortgageEnumerations().subscribe(enumerations => {\r\n this.generateEmploymentIncomeTypeValuesList();\r\n this._enums = enumerations;\r\n this.prepareEmploymentIncomeTypesList(enumerations);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._employment.incomes) {\r\n this._employment.incomes = [];\r\n }\r\n this.calculateTotalMonthly();\r\n }\r\n\r\n protected onOkClicked = () => {\r\n if (this.incomeForm?.form.valid) {\r\n this.activeModal.close(this._employment);\r\n }\r\n }\r\n\r\n protected addIncomeClicked = () => {\r\n this._employment.incomes.push({\r\n incomeId: Utils.getUniqueId(),\r\n typeOfIncome: this.employmentIncomeTypes[0].value,\r\n monthlyIncome: 0,\r\n typeOfIncomeOtherDescription: '',\r\n amount: 0,\r\n payPeriod: null,\r\n hoursPerWeek: null,\r\n isOmitted: false\r\n });\r\n }\r\n\r\n protected onDeleteConfirmed = (income: Income) => {\r\n const index = this._employment.incomes.indexOf(income);\r\n if (index > -1) {\r\n this._employment.incomes.splice(index, 1);\r\n this.calculateTotalMonthly();\r\n this.prepareEmploymentIncomeTypesList(this._enums);\r\n this.deleteAttemptedForIncomeId = null;\r\n }\r\n }\r\n\r\n protected onDeleteAborted = (income: Income) => {\r\n this.deleteAttemptedForIncomeId = null;\r\n }\r\n\r\n protected onDeleteIncomeClicked = (income: Income) => {\r\n this.deleteAttemptedForIncomeId = income.incomeId;\r\n }\r\n\r\n protected onIncomeChanged = () => {\r\n this.calculateTotalMonthly();\r\n }\r\n\r\n private calculateTotalMonthly = () => {\r\n this.totalMonthly = this._employment.incomes.reduce((total, income) => total + income.monthlyIncome, 0);\r\n }\r\n\r\n private generateEmploymentIncomeTypeValuesList = () => {\r\n this._employmentIncomeTypeValues = [\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Base),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Bonus),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Commissions),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.Overtime),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryCombatPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryFlightPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryHazardPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryOverseasPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryPropPay),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryClothesAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryRationsAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryVariableHousingAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.MilitaryQuartersAllowance),\r\n this._enumsService.getEnumValue(Constants.enumerationValueNames.IncomeType.OtherTypesOfIncome)\r\n ]\r\n }\r\n\r\n private prepareEmploymentIncomeTypesList = (enums: any) => {\r\n const incomeTypes = enums[Constants.enumerations.incomeType];\r\n const employmentIncomeTypes = [];\r\n this._employmentIncomeTypeValues.forEach(type => {\r\n const incomeType = incomeTypes.find(t => t.value === type);\r\n if (incomeType) {\r\n employmentIncomeTypes.push(incomeType);\r\n }\r\n });\r\n this.employmentIncomeTypes = employmentIncomeTypes;\r\n }\r\n}\r\n\r\nexport interface BorrowerViewModel {\r\n id: number;\r\n name: string;\r\n}\r\n","
\r\n\r\n

Monthly Income

\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 Income Type\r\n Monthly Amount\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
Total Monthly: {{(totalMonthly || 0) | currency}}
\r\n
\r\n
\r\n \r\n

You have no incomes added.

\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { WizardStepComponentBase } from \"../wizard-step-base.component\";\r\n\r\n@Component({\r\n selector: 'file-coborrower-application',\r\n templateUrl: 'file-coborrower-application.component.html'\r\n})\r\n\r\n\r\nexport class FileCoborrowerApplicationComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n public willFileForCoBorrowers: boolean | undefined = undefined;\r\n\r\n onYesSelected = () => {\r\n this.willFileForCoBorrowers = true;\r\n super.onNextClicked();\r\n }\r\n\r\n onNoSelected = () => {\r\n this.willFileForCoBorrowers = false;\r\n super.onNextClicked();\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n

Will you be filling out the application for them?\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","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { NgForm } from '@angular/forms';\r\nimport * as _ from 'lodash';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { tap } from \"rxjs/operators\";\r\nimport { GatherLeadSourceStep } from '../../../models/wizard/gather-lead-source-step.model';\r\nimport { Option } from '../../../models/wizard/option.model';\r\nimport { GatherLeadSourceStepConfig } from '../../../models/wizard/config/gather-lead-source-step-config.model';\r\n\r\n@Component({\r\n selector: 'gather-lead-source-step',\r\n templateUrl: 'gather-lead-source-step.component.html',\r\n})\r\nexport class GatherLeadSourceStepComponent\r\n extends WizardStepComponentBase\r\n implements OnInit, AfterViewInit\r\n{\r\n @ViewChild('leadSourceForm') leadSourceForm: NgForm | undefined;\r\n\r\n mortgage: MortgageApplication;\r\n\r\n leadSource: string = null;\r\n\r\n leadSourceType: string = null;\r\n\r\n leadSourceAgent: number = null;\r\n\r\n protected referralAgents: AgentItem[] = null;\r\n\r\n protected companies: string[] = [];\r\n\r\n protected referralSourceLabel = 'Referral Source';\r\n\r\n protected availableLeadSourceOptions: Option[] =\r\n GatherLeadSourceStepConfig.allLeadSourceOptions;\r\n\r\n protected noOfCharactersLeft = 50;\r\n\r\n protected valuesOfOptionsSelectedToBePresentedToUserAsChoices: string[] = [];\r\n\r\n constructor(injector: Injector) {\r\n super(injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.mortgage = this.mortgageApplication;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.populateAvailableOptions();\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.initializeLeadSource();\r\n }\r\n\r\n onLeadSourceChangedType = () => {\r\n this.leadSource = null;\r\n this.referralSourceLabel = this.getReferralSourceLabel();\r\n if (\r\n this.leadSourceType === 'Agents' &&\r\n this.step.pickAgentReferralFromAList\r\n ) {\r\n this.startSpinner();\r\n const needToAddICannotFindMyAgent = !!!this.referralAgents;\r\n this.populateLeadSourceAgentOptions()\r\n .subscribe(() => {\r\n if (needToAddICannotFindMyAgent) {\r\n this.referralAgents.unshift({\r\n id: -1,\r\n name: 'I cannot find my agent on this list',\r\n company: '',\r\n });\r\n }\r\n })\r\n .add(() => this.stopSpinner());\r\n } else {\r\n this.leadSourceAgent = null;\r\n }\r\n };\r\n\r\n onAgentChanged = () => {\r\n this.referralSourceLabel = this.getReferralSourceLabel();\r\n if (this.leadSourceAgent === -1) {\r\n this.leadSource = null;\r\n }\r\n };\r\n\r\n onLeadSourceTextChanged = () => {\r\n this.noOfCharactersLeft = 50 - this.leadSource.length;\r\n };\r\n\r\n onKeyDown = (e: any) => {\r\n if (e.key === 'Backspace' || e.key === 'Delete' || e.key === 'F12') {\r\n return;\r\n }\r\n if (this.noOfCharactersLeft <= 0) {\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n protected optionsSelectedToPresentToUserChanged = (\r\n option: Option,\r\n e: any\r\n ) => {\r\n if (e.target.checked) {\r\n if (\r\n !this.step.leadSourceOptions.find(\r\n (o) => o.name.toLowerCase() === option.name.toLowerCase()\r\n )\r\n ) {\r\n this.step.leadSourceOptions.push(option);\r\n }\r\n } else {\r\n const index = this.step.leadSourceOptions.findIndex(\r\n (o) => o.name.toLowerCase() === option.name.toLowerCase()\r\n );\r\n if (index >= 0) {\r\n this.step.leadSourceOptions.splice(index, 1);\r\n }\r\n }\r\n };\r\n\r\n private populateAvailableOptions = () => {\r\n this.availableLeadSourceOptions = GatherLeadSourceStepConfig.allLeadSourceOptions;\r\n this.valuesOfOptionsSelectedToBePresentedToUserAsChoices =\r\n this.step.leadSourceOptions.map((o) => o.name.toLowerCase());\r\n };\r\n\r\n private getReferralSourceLabel = (): string => {\r\n if (this.leadSourceType === 'Real Estate Agent') {\r\n return 'Who is the Company/Agent?';\r\n } else if (this.leadSourceType === 'Social Media') {\r\n return 'Which Platform?';\r\n } else if (this.leadSourceType === 'Internet') {\r\n return 'Which Website?';\r\n } else if (this.leadSourceType === 'Past Clients') {\r\n return 'Who Referred You?';\r\n } else if (this.leadSourceType === 'Other') {\r\n return 'Please Specify';\r\n }\r\n return 'Referral Source';\r\n };\r\n\r\n onNextClicked() {\r\n this.wizardFlowService.context.leadSource = this.leadSource || this.leadSourceType;\r\n this.wizardFlowService.context.leadSourceType = this.leadSourceType;\r\n if (this.leadSourceType === 'Agents') {\r\n this.leadSource =\r\n this.leadSourceAgent == -1 || this.leadSourceAgent == null\r\n ? this.leadSource\r\n : this.leadSourceAgent?.toString();\r\n this.wizardFlowService.context.leadSource = this.leadSource;\r\n }\r\n const valid = this.validate();\r\n if (valid) {\r\n // The presence of applicationInfo is an indicator that we are in the 'apply' flow.\r\n if (this.applicationInfo) {\r\n if (\r\n (this.leadSourceType === 'Agents' &&\r\n (this.leadSourceAgent == -1 || this.leadSourceAgent == null)) ||\r\n this.leadSourceType !== 'Agents'\r\n ) {\r\n\r\n if (this.leadSource) {\r\n this.applicationInfo.leadSource = `${this.leadSourceType}-${this.leadSource}`;\r\n } else {\r\n this.applicationInfo.leadSource = this.leadSourceType;\r\n }\r\n }\r\n\r\n this.startSpinner();\r\n this.mortgageApplicationService\r\n .saveLeadSource(\r\n this.mortgageApplication.applicationId,\r\n this.applicationInfo.leadSource\r\n )\r\n .subscribe(\r\n (result) => {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n },\r\n (error) => {\r\n this.stopSpinner();\r\n }\r\n );\r\n } else {\r\n this.saveMortgageApplicationBeforeNextStep = false;\r\n super.onNextClicked();\r\n }\r\n }\r\n }\r\n\r\n private initializeLeadSource = () => {\r\n if (this.applicationInfo) {\r\n const leadSourceTypeAndSource = this.applicationInfo.leadSource;\r\n\r\n if (leadSourceTypeAndSource) {\r\n const parts = leadSourceTypeAndSource.split('-');\r\n if (parts.length > 1) {\r\n this.leadSourceType = parts[0];\r\n if (parts.length >= 2) {\r\n this.leadSource = parts[1];\r\n }\r\n } else if (parts.length === 1) {\r\n this.leadSourceType = parts[0];\r\n this.leadSource = this.leadSourceType;\r\n }\r\n }\r\n } else {\r\n this.leadSource = this.wizardFlowService.context.leadSource;\r\n this.leadSourceType = this.wizardFlowService.context.leadSourceType;\r\n }\r\n\r\n if (!this.leadSource) {\r\n this.leadSource = null;\r\n this.leadSourceAgent = null;\r\n }\r\n\r\n if (\r\n this.leadSourceType === 'Agents' &&\r\n this.step.pickAgentReferralFromAList\r\n ) {\r\n this.startSpinner();\r\n this.populateLeadSourceAgentOptions()\r\n .subscribe(() => {\r\n if (isNaN(this.leadSource as any)) {\r\n this.leadSourceAgent = -1;\r\n } else {\r\n this.leadSourceAgent = Number(this.leadSource);\r\n }\r\n // Insert an item in the first index\r\n this.referralAgents.unshift({\r\n id: -1,\r\n name: 'I cannot find my agent on this list',\r\n company: '',\r\n });\r\n })\r\n .add(() => this.stopSpinner());\r\n }\r\n };\r\n\r\n private populateLeadSourceAgentOptions = (): Observable => {\r\n if (this.referralAgents) {\r\n return of(undefined);\r\n }\r\n\r\n return this.mortgageApplicationService\r\n .getReferralAgents(this.mortgage.applicationId)\r\n .pipe(\r\n tap((referralSources) => {\r\n const { companies, agents } = _.orderBy(\r\n referralSources,\r\n ['orgName', 'lasName'],\r\n ['asc', 'asc']\r\n ).reduce(\r\n (acc, agent) => {\r\n const company = agent.orgName;\r\n\r\n acc.companies.add(company);\r\n\r\n acc.agents.push({\r\n id: agent.agentId,\r\n name: `${agent.firstName} ${agent.lastName}`,\r\n company: company,\r\n });\r\n return acc;\r\n },\r\n {\r\n companies: new Set(),\r\n agents: new Array(),\r\n }\r\n );\r\n\r\n this.companies = Array.from(companies);\r\n this.referralAgents = agents;\r\n }),\r\n map((_) => undefined)\r\n );\r\n };\r\n\r\n private validate = (): boolean => {\r\n if (this.leadSourceForm) {\r\n this.leadSourceForm.form.markAllAsTouched();\r\n if (!this.leadSourceForm.form.valid) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n}\r\n\r\ninterface AgentItem {\r\n id: number;\r\n name: string;\r\n company: string;\r\n}\r\n\r\n","\r\n\r\n
\r\n \r\n
\r\n
Pick Agent Referral from a List
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Pick Options
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
Please select how you heard about us.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{item.company}}\r\n \r\n\r\n \r\n {{item.name}}\r\n \r\n \r\n
Please select an agent.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Please select how you heard about us.
\r\n {{noOfCharactersLeft}} characters left\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { AfterViewInit, Component, ElementRef, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { TurboInsuranceGetQuoteRequest } from '../../../models/turbo-insurance/get-quote-request.model';\r\nimport { HoiStep } from '../../../models/wizard/hoi-step.model';\r\nimport { TurboInsuranceService } from '../../../services/turbo-insurance.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'hoi',\r\n templateUrl: 'hoi-step.component.html'\r\n})\r\nexport class HoiStepComponent extends WizardStepComponentBase implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('hoiForm') hoiForm: NgForm | undefined;\r\n\r\n @ViewChild('hoiAmountInput') hoiAmountInputElement: ElementRef | undefined;\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = [];\r\n\r\n calculatedHoiAmount: number | undefined | null;\r\n hoiAmountEntered: number | undefined | null;\r\n\r\n showMoreHoiOptions: boolean = true;\r\n haveHoiQuote: boolean | undefined | null = undefined;\r\n\r\n isRefinance: boolean = false;\r\n\r\n subjectPropertyAddress: string = \"\";\r\n\r\n paymentPeriod: string = \"PerYear\";\r\n\r\n showMeOptionsMessage: string = \"\";\r\n\r\n enterHoiAmountQuestionText: string = \"\"\r\n\r\n hoiAmountValidationErrorMessage: string = \"\";\r\n\r\n isHoiAmountVisited: boolean = false;\r\n\r\n isHoiEnabled: boolean | undefined = false;\r\n\r\n constructor(private readonly _injector: Injector,\r\n private readonly _turboInsuranceService: TurboInsuranceService\r\n ) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n\r\n if (this.wizardFlowService.context.config) {\r\n this.isHoiEnabled = this.wizardFlowService.context.config.hoiEnabled;\r\n }\r\n if (this.wizardFlowService.isEditEnabled) {\r\n this.isHoiEnabled = true;\r\n }\r\n\r\n this.isRefinance = this.mortgageApplication.subjectProperty.purposeOfLoan === \"Refinance\";\r\n this.subjectPropertyAddress = this.mortgageApplication.subjectProperty.address1;\r\n if (this.isRefinance) {\r\n this.showMeOptionsMessage = `We might be able to save you some money on your monthly payments! Would you like to see your options\r\n after your application is submitted?`;\r\n this.enterHoiAmountQuestionText = \"How much are you paying a month for your current homeowners insurance policy?\";\r\n this.hoiAmountValidationErrorMessage = \"Current homeowners insurance amount is required, please enter a value.\";\r\n } else {\r\n this.showMeOptionsMessage = \"Would you like us to show you some options after your application is submitted?\";\r\n this.enterHoiAmountQuestionText = \"What is the amount for the quote?\";\r\n this.hoiAmountValidationErrorMessage = \"Homeowners insurance quote is required, please enter a value.\";\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n const isSubjectPropertyAddressTbd = this.mortgageApplication.subjectProperty &&\r\n this.mortgageApplication.subjectProperty.address1 && this.mortgageApplication.subjectProperty.address1.toLocaleLowerCase() === 'tbd';\r\n if (isSubjectPropertyAddressTbd) {\r\n if (this.cameHereWithBackNavigation) {\r\n this.wizardFlowService.navigateBackward();\r\n } else {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n return;\r\n }\r\n this.setupInitialState();\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n if (this.hoiAmountInputElement) {\r\n this.hoiAmountInputElement.nativeElement.focus();\r\n }\r\n }\r\n\r\n onPaymentPeriodChanged = () => {\r\n this.calculateHoiAmountPerPeriod();\r\n }\r\n\r\n onHoiAmountChanged = () => {\r\n if (!this.hoiAmountEntered) {\r\n this.hoiAmountEntered = null;\r\n this.calculatedHoiAmount = null;\r\n }\r\n this.showMoreHoiOptions = true;\r\n this.calculateHoiAmountPerPeriod();\r\n }\r\n\r\n onHaveHoiQuoteQuestionAnswered = () => {\r\n if (this.hoiAmountInputElement) {\r\n setTimeout(() => {\r\n this.hoiAmountInputElement?.nativeElement.focus();\r\n if (!this.hoiAmountEntered || !this.haveHoiQuote) {\r\n this.mortgageApplication.proposedHousingExpense.homeownersInsurance = null;\r\n }\r\n }, 150);\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n if (this.hoiForm) {\r\n this.hoiForm.form.markAllAsTouched();\r\n if (this.hoiForm.form.valid) {\r\n this.wizardFlowService.context.customerPreferences.alreadyHasHoiQuote = this.haveHoiQuote;\r\n this.wizardFlowService.context.customerPreferences.showHoiQuotes = this.showMoreHoiOptions;\r\n if (this.haveHoiQuote || this.isRefinance) {\r\n this.mortgageApplication.proposedHousingExpense.homeownersInsurance = this.calculateMonthlyHoiAmount();\r\n }\r\n if (!this.isHoiEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n if (this.showMoreHoiOptions) {\r\n this.startTurboInsuranceQuoteProcess();\r\n } else {\r\n super.onNextClicked();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private calculateHoiAmountPerPeriod = () => {\r\n if (this.paymentPeriod === 'PerYear') {\r\n this.calculatedHoiAmount = this.hoiAmountEntered / 12;\r\n } else {\r\n this.calculatedHoiAmount = this.hoiAmountEntered * 12;\r\n }\r\n }\r\n\r\n private calculateMonthlyHoiAmount = (): number => {\r\n if (this.paymentPeriod === 'PerYear') {\r\n return this.calculatedHoiAmount;\r\n } else {\r\n return this.calculatedHoiAmount / 12\r\n }\r\n }\r\n\r\n private startTurboInsuranceQuoteProcess = () => {\r\n this.startSpinner();\r\n this._turboInsuranceService.createQuoteRequest(this.applicationInfo.applicationId).subscribe((quoteRequest: TurboInsuranceGetQuoteRequest) => {\r\n quoteRequest.quotePropertyInfo.streetAddress1 = this.mortgageApplication.subjectProperty.address1;\r\n quoteRequest.quotePropertyInfo.streetAddress2 = this.mortgageApplication.subjectProperty.address2;\r\n quoteRequest.quotePropertyInfo.city = this.mortgageApplication.subjectProperty.city;\r\n quoteRequest.quotePropertyInfo.county = quoteRequest.priorPropertyInfo?.county;\r\n quoteRequest.quotePropertyInfo.monthsAtAddress = quoteRequest.priorPropertyInfo?.monthsAtAddress;\r\n quoteRequest.quotePropertyInfo.state = this.mortgageApplication.subjectProperty.state;\r\n quoteRequest.quotePropertyInfo.zip = this.mortgageApplication.subjectProperty.zipCode;\r\n quoteRequest.additionalInfo.estimatedPropertyValue = this.mortgageApplication.subjectProperty.presentValue;\r\n this._turboInsuranceService.saveQuoteRequest(this.mortgageApplication.applicationId, quoteRequest).subscribe((response: any) => {\r\n this._turboInsuranceService.getQuotes(this.mortgageApplication.applicationId).subscribe((response: any) => {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n }, error => {\r\n // const errorMessage = error.error && error.error.message ? error.error.message : \"An error occurred while preparing quotes.\";\r\n // this.showError(new ErrorMessage(\"Error Preparing Quotes\", errorMessage));\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n });\r\n }, error => {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n // const errorMessage = error.error && error.error.message ? error.error.message : \"An error occurred while preparing quotes.\";\r\n // this.showError(new ErrorMessage(\"Error Preparing Quotes\", errorMessage));\r\n });\r\n }, error => {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n // const errorMessage = error.error && error.error.message ? error.error.message : \"An error occurred while preparing quotes.\";\r\n // this.showError(new ErrorMessage(\"Error Preparing Quotes\", errorMessage));\r\n });\r\n }\r\n\r\n private setupInitialState = () => {\r\n this.haveHoiQuote = this.wizardFlowService.context.customerPreferences.alreadyHasHoiQuote;\r\n this.showMoreHoiOptions = this.wizardFlowService.context.customerPreferences.showHoiQuotes;\r\n if (this.mortgageApplication.proposedHousingExpense && this.mortgageApplication.proposedHousingExpense.homeownersInsurance) {\r\n this.paymentPeriod = \"PerMonth\";\r\n this.hoiAmountEntered = this.mortgageApplication.proposedHousingExpense.homeownersInsurance;\r\n if (this.hoiAmountEntered) {\r\n this.haveHoiQuote = true;\r\n }\r\n this.calculateHoiAmountPerPeriod();\r\n }\r\n }\r\n}\r\n","\r\n
\r\n \r\n
\r\n
Do you have a homeowner's insurance quote for {{subjectPropertyAddress}}?\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
Please answer the question above, so that we can help you better with your 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
{{hoiAmountValidationErrorMessage}}
\r\n
\r\n\r\n
\r\n
{{showMeOptionsMessage}}\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 You can always decline and shop yourself, but choosing an option here will help us close your loan faster.\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, Injector, QueryList, ViewChildren } from '@angular/core';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { HomeownershipEducationStep } from '../../../models/wizard/homeownership-education-step.model';\r\nimport { BorrowerHomeownershipEducationComponent } from '../../borrower-homeownership-education/borrower-homeownership-education.component';\r\n\r\n@Component({\r\n selector: 'homeownership-education-step',\r\n templateUrl: 'homeownership-education-step.component.html',\r\nstyleUrls: ['homeownership-education-step.component.scss']\r\n})\r\n\r\nexport class HomeownershipEducationStepComponent extends WizardStepComponentBase {\r\n\r\n @ViewChildren('borrowerHomeownershipEducation') borrowerHomeownershipEducationComponents: QueryList | undefined;\r\n\r\n mainBorrower!: Borrower ;\r\n coBorrowers: Borrower[] = [];\r\n\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n if (this.currentBorrower) {\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.mortgageApplication.borrowers.filter(b => b.primaryEmail.toLocaleLowerCase() !==\r\n this.mainBorrower.primaryEmail.toLocaleLowerCase());\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n let isFormValid = true;\r\n this.borrowerHomeownershipEducationComponents?.toArray().forEach(borrowerDemographicsComponent => {\r\n const isValidForBorrower = borrowerDemographicsComponent.validate();\r\n isFormValid = isFormValid && isValidForBorrower;\r\n });\r\n if (isFormValid) {\r\n super.onNextClicked();\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

{{mainBorrower.firstName + \" \" + mainBorrower.lastName}}

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

{{coBorrower.firstName + \" \" + coBorrower.lastName}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\nimport { TypeOfIncome } from '../../../models/enums/type-of-income.enum';\r\nimport { IncomeItem } from '../../../models/income-item-model';\r\n\r\n@Component({\r\n selector: 'income-item',\r\n templateUrl: 'income-item.component.html',\r\n styleUrls: ['./income-item.component.scss'],\r\n})\r\nexport class IncomeItemComponent implements OnInit {\r\n @ViewChild(SvgIconHostDirective, { static: true })\r\n svgIconHost!: SvgIconHostDirective;\r\n\r\n @Input()\r\n income!: IncomeItem;\r\n\r\n incomeName: string = '';\r\n\r\n @Output() deleteClicked = new EventEmitter();\r\n @Output() editClicked = new EventEmitter();\r\n @Output() editIncomeItemsClicked = new EventEmitter();\r\n\r\n deleteAttempted: boolean = false;\r\n\r\n constructor(\r\n private readonly _svgIconFactory: SvgIconComponentFactory,\r\n private _componentFactoryResolver: ComponentFactoryResolver\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.loadIcon();\r\n this.incomeName = this.getIncomeName();\r\n }\r\n\r\n onDeleteClicked = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = true;\r\n };\r\n\r\n onDeleteConfirmed = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = false;\r\n this.deleteClicked.emit(this.income);\r\n };\r\n\r\n onDeleteAborted = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = false;\r\n };\r\n\r\n onEditClicked = () => {\r\n this.editClicked.emit(this.income);\r\n };\r\n\r\n onEditIncomeClicked = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.editIncomeItemsClicked.emit(this.income);\r\n }\r\n\r\n private loadIcon = () => {\r\n const iconName = this.getIconName();\r\n if (!iconName) {\r\n return;\r\n }\r\n const svgIconComponent = this._svgIconFactory.getSvIconComponent(iconName);\r\n if (!svgIconComponent) {\r\n return;\r\n }\r\n const componentFactory =\r\n this._componentFactoryResolver.resolveComponentFactory(svgIconComponent);\r\n\r\n const viewContainerRef = this.svgIconHost.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n viewContainerRef.createComponent(componentFactory);\r\n };\r\n\r\n private getIncomeName(): string {\r\n if (this.income.name && this.income.name.length > 0) {\r\n return this.income.name;\r\n }\r\n return this.income.type;\r\n }\r\n\r\n private getIconName(): string {\r\n if (this.income.isSelfEmployed) {\r\n return 'duotone-safe';\r\n }\r\n if (this.income.type == TypeOfIncome.MilitaryBasePay || this.income.type == TypeOfIncome.MilitaryCombatPay) {\r\n return 'duotone-star';\r\n }\r\n if (this.income.type == TypeOfIncome.Base) {\r\n return 'duotone-shirt';\r\n }\r\n if (this.income.type == TypeOfIncome.ContractBasis) {\r\n return 'duotone-tools';\r\n }\r\n if (this.income.type == TypeOfIncome.NetRentalIncome) {\r\n return 'duotone-home';\r\n }\r\n if (this.income.type == TypeOfIncome.SocialSecurity) {\r\n return 'stockholm-bank';\r\n }\r\n if (this.income.type == TypeOfIncome.Pension) {\r\n return 'duotone-dollar';\r\n }\r\n if (this.income.type == TypeOfIncome.Disability) {\r\n return 'duotone-star';\r\n }\r\n if (this.income.type == TypeOfIncome.SelfEmploymentIncome) {\r\n return 'duotone-safe';\r\n }\r\n return 'duotone-wallet';\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n {{incomeName}}\r\n Verified\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 {{ incomeItem.type }}:\r\n {{ incomeItem.monthlyPay | currency\r\n }}\r\n
\r\n
\r\n Income Details \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 {{incomeName}}\r\n Verified\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{income.position}} \r\n
\r\n
\r\n \r\n {{income.startDate| date}} \r\n
\r\n
\r\n \r\n {{income.monthlyPay| currency}} \r\n
\r\n
\r\n \r\n Income Details \r\n
\r\n
\r\n
\r\n
","import { AfterViewInit, Component, Injector, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { Employment } from '../../../models/employment-model';\r\nimport { CategoryOfIncome } from '../../../models/enums/category-of-income.enum';\r\nimport { Income } from '../../../models/income-model';\r\nimport { EmploymentAndIncomeType, EmploymentDialogComponent } from '../employment-dialog/employment-dialog.component';\r\nimport { IncomeStep } from '../../../models/wizard/income-step.model';\r\nimport { SimpleIncomeDialogComponent } from '../simple-income-dialog/simple-income-dialog.component';\r\nimport { BorrowerIncomeComponent } from '../../borrower-income/borrower-income.component';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport * as _ from 'lodash';\r\nimport { TypeOfIncome } from '../../../models/enums/type-of-income.enum';\r\nimport { DateTime } from 'luxon';\r\nimport { EmploymentTypeEnum } from '../../../models/mortgage.model';\r\nimport { MonthsToYearsAndMonthsPipe } from 'projects/shared/pipes/months-to-years-and-months.pipe';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observer } from 'rxjs';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { getErrorMessageOrDefault } from 'projects/shared/utils/error.utils';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\n\r\ndeclare const Swal: any;\r\n\r\nconst modalOptions: NgbModalOptions = {\r\n size: \"xl\",\r\n backdrop: \"static\",\r\n container: \"body\"\r\n};\r\n\r\n@Component({\r\n selector: 'income-step',\r\n templateUrl: 'income-step.component.html',\r\n styleUrls: ['./income-step.component.scss'],\r\n})\r\nexport class IncomeStepComponent\r\n extends WizardStepComponentBase\r\n implements OnInit, AfterViewInit\r\n{\r\n @ViewChildren('borrowerIncome') borrowerIncomeComponents:\r\n | QueryList\r\n | undefined;\r\n\r\n @ViewChild('incomeForm')\r\n incomeForm: NgForm;\r\n\r\n borrowers: Borrower[] = [];\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = [];\r\n\r\n protected selectedTypeOfIncome: string;\r\n\r\n protected addingIncome: boolean = false;\r\n\r\n protected mortgage: MortgageApplication;\r\n\r\n protected typesOfIncome: EnumerationItem[] = [\r\n new EnumerationItem('Employment (W2)', TypeOfIncome.Base),\r\n new EnumerationItem('Independent Contractor', TypeOfIncome.ContractBasis),\r\n new EnumerationItem('Military Pay', TypeOfIncome.MilitaryBasePay),\r\n new EnumerationItem('Rental', TypeOfIncome.NetRentalIncome),\r\n new EnumerationItem('Social Security', TypeOfIncome.SocialSecurity),\r\n new EnumerationItem('Pension', TypeOfIncome.Pension),\r\n new EnumerationItem(\r\n 'Business/Self Employment',\r\n TypeOfIncome.SelfEmploymentIncome\r\n ),\r\n new EnumerationItem('Other', TypeOfIncome.OtherTypesOfIncome),\r\n ];\r\n\r\n private _dateFormat: string = 'MM/dd/yyyy';\r\n\r\n borrowerEmploymentInfoByBorrowerId: Map =\r\n new Map();\r\n\r\n constructor(\r\n private readonly _modalService: ModalService,\r\n private readonly _mortgageService: MortgageApplicationService,\r\n private readonly _injector: Injector,\r\n private readonly _x: MonthsToYearsAndMonthsPipe\r\n ) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.initialize();\r\n }\r\n\r\n onNextClicked() {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n if (this.incomeForm) {\r\n this.incomeForm.form.markAllAsTouched();\r\n if (!this.incomeForm.form.valid) {\r\n return;\r\n }\r\n }\r\n this.proceedToNextStep();\r\n }\r\n\r\n onPensionClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showPensionIncomePopup();\r\n }\r\n };\r\n\r\n onW2BasedEmploymentClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showW2BasedEmploymentPopup();\r\n }\r\n };\r\n\r\n onMilitaryPayClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showMilitaryPayPopup();\r\n }\r\n };\r\n\r\n onIndependentContractorClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showIndependentContractorPopup();\r\n }\r\n };\r\n\r\n onRentalIncomeClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showRentalIncomePopup();\r\n }\r\n };\r\n\r\n onSocialSecurityClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showSocialSecurityIncomePopup();\r\n }\r\n };\r\n\r\n onSelfEmploymentClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showBusinessSelfEmploymentPopup();\r\n }\r\n };\r\n\r\n onOtherIncomeClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showOtherIncomePopup();\r\n }\r\n };\r\n\r\n onEmploymentChanged = () => {\r\n this.calculateEmploymentTotalDurationInMonthsForBorrowers();\r\n };\r\n\r\n onTypeOfIncomeChanged = () => {\r\n switch (this.selectedTypeOfIncome) {\r\n case TypeOfIncome.Base:\r\n this.showW2BasedEmploymentPopup();\r\n return;\r\n case TypeOfIncome.ContractBasis:\r\n this.showIndependentContractorPopup();\r\n return;\r\n case TypeOfIncome.MilitaryBasePay:\r\n this.showMilitaryPayPopup();\r\n return;\r\n case TypeOfIncome.NetRentalIncome:\r\n this.showRentalIncomePopup();\r\n return;\r\n case TypeOfIncome.SocialSecurity:\r\n this.showSocialSecurityIncomePopup();\r\n return;\r\n case TypeOfIncome.Pension:\r\n this.showPensionIncomePopup();\r\n return;\r\n case TypeOfIncome.SelfEmploymentIncome:\r\n this.showBusinessSelfEmploymentPopup();\r\n return;\r\n case TypeOfIncome.OtherTypesOfIncome:\r\n this.showOtherIncomePopup();\r\n return;\r\n }\r\n };\r\n\r\n onAddIncomeClicked = () => {\r\n this.addingIncome = true;\r\n };\r\n\r\n private initialize = () => {\r\n const applicationId = this.mortgageApplication.applicationId;\r\n\r\n const observer: Observer = {\r\n next: (mortgage: MortgageApplication) => {\r\n this.mortgage = mortgage;\r\n this.wizardFlowService.updateContext(mortgage);\r\n\r\n this.borrowers = this.mortgage.borrowers;\r\n this.migrateIncomeCategoriesToIncomeTypes(this.borrowers);\r\n if (this.wizardFlowService.inCoApplyFlow) {\r\n this.borrowers = [this.wizardFlowService.context.currentBorrower];\r\n }\r\n if (this.currentBorrower) {\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.mortgage.borrowers.filter(\r\n (b) =>\r\n b.primaryEmail.toLocaleLowerCase() !==\r\n this.mainBorrower.primaryEmail.toLocaleLowerCase()\r\n );\r\n }\r\n\r\n this.calculateEmploymentTotalDurationInMonthsForBorrowers();\r\n this.stopSpinner();\r\n },\r\n error: (err: any) => {\r\n const errorMessage = getErrorMessageOrDefault(err, {\r\n defaultMessage: 'Error getting the employment/income info.',\r\n });\r\n this.showError(\r\n new ErrorMessage(\r\n 'Error getting the employment/income info.',\r\n errorMessage\r\n )\r\n );\r\n },\r\n complete: () => {},\r\n };\r\n this.startSpinner();\r\n this._mortgageService.getMortgage(applicationId, false).subscribe(observer);\r\n };\r\n\r\n private proceedToNextStep = () => {\r\n let hasEnoughEmploymentHistory = true;\r\n\r\n const borrowerEmploymentDurationsHtml: string[] = [];\r\n\r\n this.mortgage.borrowers.forEach((borrower) => {\r\n if (\r\n this.borrowerSetting(borrower) ||\r\n this.mainBorrower.borrowerId === borrower.borrowerId\r\n ) {\r\n if (\r\n this.borrowerEmploymentInfoByBorrowerId.has(borrower.borrowerId)\r\n ) {\r\n const borrowerEmploymentInfo =\r\n this.borrowerEmploymentInfoByBorrowerId.get(borrower.borrowerId);\r\n\r\n if (\r\n !borrowerEmploymentInfo.isRetired &&\r\n borrowerEmploymentInfo.numberOfMonthsEmployed < 24\r\n ) {\r\n hasEnoughEmploymentHistory = false;\r\n\r\n const employmentDurationText = this._x.transform(\r\n borrowerEmploymentInfo.numberOfMonthsEmployed\r\n );\r\n borrowerEmploymentDurationsHtml.push(`\r\n
\r\n
${\r\n borrower.firstName + ' ' + borrower.lastName\r\n }
\r\n
${employmentDurationText}
\r\n
`);\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (!hasEnoughEmploymentHistory) {\r\n if (this.step.enforceAtLeast2YearsOfEmploymentHistory) {\r\n let html = `
You need to provide at least 2 years of employment history for the following borrowers:
`;\r\n borrowerEmploymentDurationsHtml.forEach((b) => {\r\n html += b;\r\n });\r\n\r\n const swalConfig = {\r\n title: 'Warning!',\r\n html: html,\r\n icon: 'error',\r\n confirmButtonText: 'OK',\r\n width: '700px',\r\n };\r\n Swal.fire(swalConfig).then(() => {});\r\n } else {\r\n let html = `
You have not provided 2 years of employment information for the following borrowers. Are you sure you'd like to proceed?
`;\r\n borrowerEmploymentDurationsHtml.forEach((b) => {\r\n html += b;\r\n });\r\n\r\n const swalConfig = {\r\n showCancelButton: true,\r\n title: 'Warning!',\r\n html: html,\r\n icon: 'question',\r\n width: '700px',\r\n confirmButtonText: 'Yes, Proceed',\r\n cancelButtonText: 'No, I will add them',\r\n };\r\n Swal.fire(swalConfig).then((result) => {\r\n if (result.value) {\r\n if (this.isValid()) {\r\n this.prepareEmploymentsAndIncomesForSave();\r\n super.onNextClicked();\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (hasEnoughEmploymentHistory && this.isValid()) {\r\n this.prepareEmploymentsAndIncomesForSave();\r\n super.onNextClicked();\r\n }\r\n };\r\n\r\n private prepareEmploymentsAndIncomesForSave = () => {\r\n // For every employment and their incomes, if the Ids are not set, meaning 0 or null, remove the modelGuid property from them\r\n // so that the backend can generate new Ids for them\r\n this.mortgage.borrowers.forEach((borrower) => {\r\n if (\r\n this.borrowerSetting(borrower) ||\r\n this.mainBorrower.borrowerId === borrower.borrowerId\r\n ) {\r\n borrower.employments.forEach((employment) => {\r\n if (!employment.employmentId) {\r\n delete employment.modelGuid;\r\n }\r\n employment.incomes.forEach((income) => {\r\n if (!income.incomeId) {\r\n delete income.modelGuid;\r\n }\r\n });\r\n });\r\n // Do the same thing for non-emplyment incomes\r\n borrower.nonEmploymentIncomes.forEach((income) => {\r\n if (!income.incomeId) {\r\n delete income.modelGuid;\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n private getBorrowersWithoutEmployment = (): Borrower[] => {\r\n const borrowersWithoutEmployment: Borrower[] = [];\r\n this.mortgage.borrowers.forEach((borrower) => {\r\n if (\r\n this.borrowerSetting(borrower) ||\r\n this.mainBorrower.borrowerId === borrower.borrowerId\r\n ) {\r\n if (!borrower.employments || !borrower.employments.length) {\r\n borrowersWithoutEmployment.push(borrower);\r\n }\r\n }\r\n });\r\n return borrowersWithoutEmployment;\r\n };\r\n\r\n private prepareHtmlForBorrowersWithoutEmploymentNotice = (\r\n borrowers: Borrower[]\r\n ): string[] => {\r\n const borrowersWithoutEmploymentHtml: string[] = [];\r\n borrowers.forEach((borrower) => {\r\n borrowersWithoutEmploymentHtml.push(`\r\n
\r\n
${this.utilsService.getPersonsFullName(\r\n borrower\r\n )}
\r\n
`);\r\n });\r\n return borrowersWithoutEmploymentHtml;\r\n };\r\n\r\n private isBorrowerRetired = (borrower: Borrower): boolean => {\r\n return (\r\n borrower.employments.filter(\r\n (emp) =>\r\n emp.employmentType == EmploymentTypeEnum.CurrentEmployer &&\r\n emp.employer == 'Retired'\r\n ).length > 0\r\n );\r\n };\r\n\r\n private isValid(): boolean {\r\n let result: boolean = true;\r\n this.borrowerIncomeComponents?.forEach((borrowerIncomeComponent) => {\r\n if (!borrowerIncomeComponent.isValid()) {\r\n result = false;\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n private migrateIncomeCategoriesToIncomeTypes = (borrowers: Borrower[]) => {\r\n borrowers.forEach((b) => {\r\n b.nonEmploymentIncomes.forEach((i) => {\r\n if (i.categoryOfIncome && !i.typeOfIncome) {\r\n i.typeOfIncome = this.fromCategoryToType(i.categoryOfIncome);\r\n }\r\n });\r\n });\r\n };\r\n\r\n private fromCategoryToType = (category: CategoryOfIncome): TypeOfIncome => {\r\n switch (category) {\r\n case CategoryOfIncome.Pension:\r\n return TypeOfIncome.Pension;\r\n case CategoryOfIncome.Rental:\r\n return TypeOfIncome.NetRentalIncome;\r\n case CategoryOfIncome.IndependentContractor:\r\n return TypeOfIncome.ContractBasis;\r\n case CategoryOfIncome.MilitaryPay:\r\n return TypeOfIncome.MilitaryBasePay;\r\n case CategoryOfIncome.SocialSecurity:\r\n return TypeOfIncome.SocialSecurity;\r\n case CategoryOfIncome.BusinessSelfEmployment:\r\n return TypeOfIncome.SelfEmploymentIncome;\r\n case CategoryOfIncome.Other:\r\n return TypeOfIncome.OtherTypesOfIncome;\r\n default:\r\n return TypeOfIncome.OtherTypesOfIncome;\r\n }\r\n };\r\n\r\n private getBorrowersAppliedFor() {\r\n let borrowersAppliedFor: Borrower[] = [];\r\n borrowersAppliedFor.push(this.currentBorrower);\r\n this.mortgage.borrowers.forEach((borrower) => {\r\n let result = this.wizardFlowService.context.borrowerSettings.get(\r\n borrower.borrowerId\r\n );\r\n if (result) {\r\n borrowersAppliedFor.push(borrower);\r\n }\r\n });\r\n return borrowersAppliedFor;\r\n }\r\n\r\n private showOtherIncomePopup(income?: Income) {\r\n this.showNonEmploymentBasedIncomeDialog(\r\n TypeOfIncome.OtherTypesOfIncome,\r\n income\r\n );\r\n }\r\n\r\n private showPensionIncomePopup(income?: Income) {\r\n this.showNonEmploymentBasedIncomeDialog(TypeOfIncome.Pension, income);\r\n }\r\n\r\n private showSocialSecurityIncomePopup(income?: Income) {\r\n this.showNonEmploymentBasedIncomeDialog(\r\n TypeOfIncome.SocialSecurity,\r\n income\r\n );\r\n }\r\n\r\n private showRentalIncomePopup(income?: Income) {\r\n this.showNonEmploymentBasedIncomeDialog(\r\n TypeOfIncome.NetRentalIncome,\r\n income\r\n );\r\n }\r\n\r\n private showBusinessSelfEmploymentPopup(employment?: Employment) {\r\n this.showEmploymentBasedIncomeDialog(\r\n TypeOfIncome.SelfEmploymentIncome,\r\n employment\r\n );\r\n }\r\n\r\n private showMilitaryPayPopup(employment?: Employment) {\r\n this.showEmploymentBasedIncomeDialog(\r\n TypeOfIncome.MilitaryCombatPay,\r\n employment\r\n );\r\n }\r\n\r\n private showIndependentContractorPopup(employment?: Employment) {\r\n this.showEmploymentBasedIncomeDialog(\r\n TypeOfIncome.ContractBasis,\r\n employment\r\n );\r\n }\r\n\r\n private showEmploymentBasedIncomeDialog = (\r\n typeOfIncome: TypeOfIncome,\r\n employment?: Employment\r\n ) => {\r\n const modal = this._modalService.show(\r\n EmploymentDialogComponent,\r\n modalOptions\r\n );\r\n modal.componentInstance.typeOfIncome = typeOfIncome;\r\n modal.componentInstance.showCountry = true;\r\n if (employment) {\r\n modal.componentInstance.employment = employment;\r\n } else {\r\n if (typeOfIncome == TypeOfIncome.SelfEmploymentIncome) {\r\n modal.componentInstance.employment.selfEmployed = true;\r\n }\r\n }\r\n modal.componentInstance.fieldsToConfig = this.step.fieldConfig;\r\n modal.componentInstance.borrowers = this.wizardFlowService.inCoApplyFlow\r\n ? [this.currentBorrower]\r\n : this.getBorrowersAppliedFor();\r\n modal.result.then(\r\n (result: EmploymentAndIncomeType) => {\r\n this.addingIncome = false;\r\n this.selectedTypeOfIncome = null;\r\n if (result.typeOfIncome === TypeOfIncome.Disability) {\r\n // This is not an employment income - add it as non-employment income\r\n const disability = new Income();\r\n disability.borrowerId = result.employment.borrowerId;\r\n disability.typeOfIncome = TypeOfIncome.Disability;\r\n disability.monthlyIncome = result.employment.monthlyIncome;\r\n this.onSaveClickedOnIncomeModalForCreate(disability);\r\n return;\r\n }\r\n this.onSaveClickedOnEmploymentModalForCreate(\r\n result.employment,\r\n typeOfIncome\r\n );\r\n },\r\n (error) => {\r\n this.addingIncome = false;\r\n this.selectedTypeOfIncome = null;\r\n }\r\n );\r\n };\r\n\r\n private showNonEmploymentBasedIncomeDialog = (\r\n typeOfIncome: TypeOfIncome,\r\n income?: Income\r\n ) => {\r\n const modal = this._modalService.show(SimpleIncomeDialogComponent);\r\n modal.componentInstance.header = this.getDialogHeader(typeOfIncome);\r\n modal.componentInstance.label = modal.componentInstance.label =\r\n this.getLabel('income.monthlyIncome', 'Monthly Income');\r\n if (income) {\r\n modal.componentInstance.income = income;\r\n }\r\n modal.componentInstance.editorIncomeType = typeOfIncome;\r\n modal.componentInstance.fieldsToConfig = this.step.fieldConfig;\r\n modal.componentInstance.borrowers = this.wizardFlowService.inCoApplyFlow\r\n ? [this.currentBorrower]\r\n : this.getBorrowersAppliedFor();\r\n modal.result.then(\r\n (income) => {\r\n this.addingIncome = false;\r\n this.selectedTypeOfIncome = null;\r\n this.onSaveClickedOnIncomeModalForCreate(income);\r\n },\r\n (error) => {\r\n this.addingIncome = false;\r\n this.selectedTypeOfIncome = null;\r\n }\r\n );\r\n };\r\n\r\n private getDialogHeader = (typeOfIncome: TypeOfIncome): string => {\r\n switch (typeOfIncome) {\r\n case TypeOfIncome.Pension:\r\n return 'Pension';\r\n case TypeOfIncome.NetRentalIncome:\r\n return 'Rental';\r\n case TypeOfIncome.SocialSecurity:\r\n return 'Social Security';\r\n case TypeOfIncome.MilitaryBasePay:\r\n return 'Military Pay';\r\n case TypeOfIncome.Base:\r\n return 'W2 Employment';\r\n case TypeOfIncome.SelfEmploymentIncome:\r\n return 'Business/Self Employment';\r\n case TypeOfIncome.ContractBasis:\r\n return 'Independent Contractor';\r\n case TypeOfIncome.OtherTypesOfIncome:\r\n return 'Other';\r\n default:\r\n return 'Income';\r\n }\r\n };\r\n\r\n private showW2BasedEmploymentPopup(employment?: Employment) {\r\n this.showEmploymentBasedIncomeDialog(TypeOfIncome.Base, employment);\r\n }\r\n\r\n private onSaveClickedOnIncomeModalForCreate = (income: Income): void => {\r\n const borrower = this.borrowers.find(\r\n (b) => b.borrowerId == income.borrowerId\r\n );\r\n if (borrower) {\r\n borrower.nonEmploymentIncomes.push(income);\r\n if (this.borrowerIncomeComponents) {\r\n const borrowerIncomeComponent = this.borrowerIncomeComponents.find(\r\n (c) => c.borrower.borrowerId == income.borrowerId\r\n );\r\n if (borrowerIncomeComponent) {\r\n borrowerIncomeComponent.refresh();\r\n }\r\n }\r\n }\r\n };\r\n\r\n private onSaveClickedOnEmploymentModalForCreate = (\r\n employment: Employment,\r\n typeOfIncome: TypeOfIncome\r\n ): void => {\r\n\r\n if (typeOfIncome !== TypeOfIncome.SelfEmploymentIncome) {\r\n let income: Income = new Income();\r\n income.monthlyIncome = Number(employment.monthlyIncome || employment.selfEmploymentMonthlyIncomeOrLoss);\r\n income.typeOfIncome = typeOfIncome;\r\n income.businessType = employment.businessType;\r\n if (income.typeOfIncome === TypeOfIncome.ContractBasis) {\r\n income.categoryOfIncome = CategoryOfIncome.IndependentContractor;\r\n }\r\n if (income.typeOfIncome === TypeOfIncome.MilitaryBasePay) {\r\n income.categoryOfIncome = CategoryOfIncome.MilitaryPay;\r\n }\r\n\r\n employment.incomes.push(income);\r\n }\r\n\r\n const borrower = this.borrowers.find(\r\n (b) => b.borrowerId == employment.borrowerId\r\n );\r\n if (borrower) {\r\n borrower.employments.push(employment);\r\n }\r\n\r\n if (this.borrowerIncomeComponents) {\r\n const borrowerIncomeComponent = this.borrowerIncomeComponents.find(\r\n (c) => c.borrower.borrowerId == employment.borrowerId\r\n );\r\n if (borrowerIncomeComponent) {\r\n borrowerIncomeComponent.refresh();\r\n }\r\n }\r\n this.calculateEmploymentTotalDurationInMonthsForBorrowers();\r\n };\r\n\r\n private calculateEmploymentTotalDurationInMonthsForBorrowers = () => {\r\n this.mortgage.borrowers.forEach((borrower) => {\r\n let totalDurationOfEmploymentInMonths: number = 0;\r\n let isRetired: boolean = false;\r\n if (borrower.employments) {\r\n borrower.employments.forEach((employment) => {\r\n totalDurationOfEmploymentInMonths +=\r\n this.calculateEmploymentDurationInMonths(employment);\r\n isRetired = this.isBorrowerRetired(borrower);\r\n });\r\n }\r\n const borrowerEmployemntInfo: BorrowerEmploymentInfo = {\r\n numberOfMonthsEmployed: totalDurationOfEmploymentInMonths,\r\n isRetired: isRetired,\r\n };\r\n this.borrowerEmploymentInfoByBorrowerId.set(\r\n borrower.borrowerId,\r\n borrowerEmployemntInfo\r\n );\r\n });\r\n };\r\n\r\n public hasIncome(borrowerId: number): boolean {\r\n if (this.borrowerIncomeComponents) {\r\n const borrowerIncomeComponent = this.borrowerIncomeComponents.find(\r\n (c) => c.borrower.borrowerId == borrowerId\r\n );\r\n if (borrowerIncomeComponent) {\r\n return borrowerIncomeComponent.incomes.length > 0;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private calculateEmploymentDurationInMonths = (\r\n employment: Employment\r\n ): number => {\r\n if (!employment.startDate) {\r\n return 0;\r\n }\r\n let endDate = DateTime.now();\r\n const startDate = DateTime.fromFormat(\r\n employment.startDate,\r\n this._dateFormat\r\n );\r\n if (employment.employmentType === EmploymentTypeEnum.FormerEmployer) {\r\n if (!employment.endDate) {\r\n return 0;\r\n }\r\n endDate = DateTime.fromFormat(employment.endDate, this._dateFormat);\r\n }\r\n const diff = endDate.diff(startDate, ['months']);\r\n return Math.round(diff.months);\r\n };\r\n}\r\n\r\nexport class BorrowerEmploymentInfo {\r\n isRetired: boolean = false;\r\n numberOfMonthsEmployed: number;\r\n}\r\n\r\n","\r\n
\r\n
Enforce At Least 2 Years Of Employment History
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
0 || mainBorrower.nonEmploymentIncomes.length > 0\">\r\n
\r\n

{{mainBorrower.firstName + \" \" + mainBorrower.lastName}}

\r\n = 24)}\">\r\n {{borrowerEmploymentInfoByBorrowerId.get(mainBorrower.borrowerId).numberOfMonthsEmployed|\r\n monthsToYearsAndMonths}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n 0 || borrower.nonEmploymentIncomes.length > 0) \"\r\n class=\"card shadow-sm mb-5\">\r\n
\r\n

{{borrower.firstName + \" \" + borrower.lastName}}

\r\n = 24)}\">\r\n {{borrowerEmploymentInfoByBorrowerId.get(borrower.borrowerId).numberOfMonthsEmployed|\r\n monthsToYearsAndMonths}}\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 \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","import { AfterViewInit, Component, Injector, OnInit } from '@angular/core';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { LiabilitiesStep } from '../../../models/wizard/liabilites-step.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'liabilities-step',\r\n templateUrl: 'liabilities-step.component.html'\r\n})\r\n\r\nexport class LiabilitiesStepComponent extends WizardStepComponentBase implements OnInit, AfterViewInit {\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n private _currentBorrower: Borrower;\r\n\r\n constructor(private readonly _modalService: ModalService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n this._currentBorrower = this._mortgageApplication.borrowers[0];\r\n this.populateLiabilityItems();\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n onAddLiabilityClicked = () => {\r\n\r\n }\r\n\r\n private populateLiabilityItems = () => {\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","import { Component, OnInit } from '@angular/core';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { Liability } from '../../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'liability-editor',\r\n templateUrl: 'liability-editor.component.html'\r\n})\r\n\r\nexport class LiabilityEditorComponent implements OnInit {\r\n\r\n public liability: Liability | undefined;\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n constructor( private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _enumsService: EnumsService) {\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n this.liability = new Liability();\r\n //this.liability = this._mortgageApplication.liabilities;\r\n }\r\n\r\n public get liabilityTypes() {\r\n return this._enumsService.liabilityTypes;\r\n }\r\n\r\n public get lienTypes() {\r\n return this._enumsService.lienTypes;\r\n }\r\n\r\n public get fhaSourceTypes() {\r\n return this._enumsService.fhaSourceTypes;\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n

Credits and Debts\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
\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","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { Liability, RealEstateOwned } from '../../../models/mortgage.model';\r\nimport { LinkLiabilitiesToReoStep } from '../../../models/wizard/link-liabilities-to-reo-step.model';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'link-liabilities-to-reo-step',\r\n templateUrl: 'link-liabilities-to-reo-step.component.html'\r\n})\r\nexport class LinkLiabilitiesToReoStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChild('linkLiabilityToReoForm')\r\n linkLiabilityToReoForm: NgForm;\r\n\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n }\r\n\r\n liabilities: Liability[] = [];\r\n reos: RealEstateOwned[] = [];\r\n\r\n ngOnInit() {\r\n this.reos = this.mortgageApplication.realEstateOwned;\r\n if (this.inCoApplyFlow) {\r\n this.reos = this.reos.filter(r => r.owningBorrowerIds.includes(this.currentBorrower.borrowerId!));\r\n }\r\n this.liabilities = this.mortgageApplication.liabilities\r\n .filter(r => r.typeOfLiability == 'MortgageLoan' || r.typeOfLiability == 'HELOC')\r\n .sort((a, b) => (a.liabilityId && b.liabilityId && a.liabilityId < b.liabilityId) ? 1 : -1);\r\n if (this.inCoApplyFlow) {\r\n this.liabilities = this.liabilities.filter(l => l.owningBorrowerIds.includes(this.currentBorrower.borrowerId!));\r\n }\r\n }\r\n\r\n override onNextClicked(): void {\r\n if (this.linkLiabilityToReoForm) {\r\n this.linkLiabilityToReoForm.form.markAllAsTouched();\r\n if (this.linkLiabilityToReoForm.form.invalid) {\r\n return;\r\n }\r\n }\r\n super.onNextClicked();\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","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { LoanCharacteristic } from '../../../models/characteristics/loan-characteristic.model';\r\nimport { TaskCategory } from '../../../models/characteristics/task-category.model';\r\nimport { LoanCharacteristicsStep } from '../../../models/wizard/loan-characteristics-step.model';\r\nimport { CharacteristicsService } from '../../../services/characteristics.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport * as _ from 'lodash';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { LoanDocTask } from '../../../models/tasks/loan-doc-task.model';\r\nimport { CharacteristicMergeValue } from '../../../models/characteristics/characteristic-merge-value.model';\r\nimport { CharacteristicsQuantitiesDialogComponent } from '../../characteristics-quantities-dialog/characteristics-quantities-dialog.component';\r\nimport { LoanCharacteristicFactory } from '../../characteristics-quantities-dialog/loan-characteristic.factory';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Constants } from '../../../services/constants';\r\nimport { CharacteristicsPreviewDialogComponent } from '../characteristics-preview-dialog/characteristics-preview-dialog.component';\r\n\r\n@Component({\r\n selector: 'loan-characteristics-step',\r\n templateUrl: 'loan-characteristics-step.component.html'\r\n})\r\nexport class LoanCharacteristicsStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n categories: TaskCategory[] = [];\r\n\r\n isLoading: boolean = false;\r\n\r\n private _characteristics: LoanCharacteristic[] = [];\r\n\r\n private _nextCharacteristicId: number = -1;\r\n\r\n constructor(private readonly _modalService: NgbModal,\r\n private readonly _characteristicsService: CharacteristicsService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.wizardFlowService.isEditEnabled) {\r\n this.initializeInNonEditMode();\r\n } else {\r\n this.initializeInEditMode();\r\n }\r\n }\r\n\r\n onCharacteristicCheckChanged = (characteristicId: number) => {\r\n let index = [];\r\n for (let i = 0; i < this._characteristics.length; i++) {\r\n if (this._characteristics[i].characteristicId === characteristicId) {\r\n index.push(i);\r\n }\r\n }\r\n if (index.length === 0) {\r\n const newOne = new LoanCharacteristic(this._nextCharacteristicId--, this.mortgageApplication.applicationId, characteristicId);\r\n this._characteristics.push(newOne);\r\n\r\n if (this.categories.filter(x => x.taskCategoryId == characteristicId)[0].taskOption === 'RequestQuantity')\r\n this.openEditCharacteristicDialog(characteristicId, true);\r\n }\r\n else {\r\n index.forEach(i => {\r\n this._characteristics[i].pendingDeletion = this._characteristics[i].pendingDeletion === true ? false : true;\r\n });\r\n }\r\n }\r\n\r\n onNextClicked = () => {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n this.startSpinner();\r\n const onesToSave = this._characteristics.filter(c => !c.pendingDeletion);\r\n this._characteristicsService.saveLoanCharacteristicsPreview(this.mortgageApplication.applicationId, onesToSave).subscribe((loanDocTasks: LoanDocTask[]) => {\r\n if (loanDocTasks && loanDocTasks.length > 0) {\r\n this.showCharacteristicsPreviewDialog(onesToSave, loanDocTasks);\r\n } else {\r\n this._characteristicsService.saveLoanCharacteristics(this.mortgageApplication.applicationId, onesToSave, []).subscribe(() => {\r\n this.wizardFlowService.navigateForward();\r\n }, error => {\r\n const errorMessage = new ErrorMessage('Error - Loan Characteristics!', error ? error.message : 'Unable to save loan characteristics.');\r\n this.showError(errorMessage);\r\n }).add(() => {\r\n this.stopSpinner();\r\n });\r\n }\r\n }, error => {\r\n const errorMessage = new ErrorMessage('Error - Loan Characteristics!', error ? error.message : 'Unable to save loan characteristics preview.');\r\n this.showError(errorMessage);\r\n }).add(() => {\r\n this.stopSpinner();\r\n });\r\n }\r\n\r\n openEditCharacteristicDialog = (characteristicId: number, addingForTheFirstTime: boolean) => {\r\n const category = this.categories.find(c => c.taskCategoryId == characteristicId);\r\n let existingCharacteristics = this._characteristics.filter(x => x.characteristicId == characteristicId);\r\n if (existingCharacteristics.length === 0) {\r\n let newOne = new LoanCharacteristic(this._nextCharacteristicId--, this.mortgageApplication.applicationId, characteristicId);\r\n this._characteristics.push(newOne);\r\n existingCharacteristics = this._characteristics.filter(x => x.characteristicId == characteristicId);\r\n addingForTheFirstTime = true;\r\n }\r\n existingCharacteristics.forEach(c => {\r\n if (!c.characteristicMergeValues || c.characteristicMergeValues.length === 0) {\r\n c.characteristicMergeValues = [];\r\n if (category && category.fields) {\r\n category.fields.forEach(f => {\r\n c.characteristicMergeValues.push(new CharacteristicMergeValue(f.characteristicFieldId));\r\n });\r\n }\r\n }\r\n });\r\n\r\n const modalRef = this._modalService.open(CharacteristicsQuantitiesDialogComponent, Constants.modalOptions.large);\r\n modalRef.componentInstance.taskCategory = this.categories.find(c => c.taskCategoryId === characteristicId);\r\n modalRef.componentInstance.nextCharacteristicId = this._nextCharacteristicId;\r\n modalRef.componentInstance.characteristics = existingCharacteristics;\r\n modalRef.componentInstance.characteristicFactory = new LoanCharacteristicFactory();\r\n modalRef.componentInstance.applicationId = this.mortgageApplication.applicationId;\r\n\r\n modalRef.result.then((result) => {\r\n if (result !== 'cancel') {\r\n let remaining = this._characteristics.filter(x => x.characteristicId !== characteristicId);\r\n if (result != undefined) {\r\n result.forEach((characteristic: LoanCharacteristic) => {\r\n remaining.push(characteristic);\r\n });\r\n }\r\n this._characteristics = remaining;\r\n } else {\r\n if (addingForTheFirstTime) {\r\n this._characteristics = this._characteristics.filter(c => c.characteristicId !== characteristicId);\r\n }\r\n }\r\n }, (err) => {\r\n if (addingForTheFirstTime) {\r\n this._characteristics = this._characteristics.filter(c => c.characteristicId !== characteristicId);\r\n }\r\n });\r\n }\r\n\r\n isCharacteristicCheckedForLoan = (characteristicId: number): boolean => {\r\n const quantity = this.getCharacteristicQuantity(characteristicId);\r\n return quantity > 0;\r\n }\r\n\r\n getCharacteristicQuantity = (characteristicId: number): number => {\r\n var bcs = this._characteristics.filter(c => c.characteristicId == characteristicId && !c.pendingDeletion);\r\n if (bcs && bcs.length > 0) {\r\n return bcs.length;\r\n }\r\n return 0;\r\n }\r\n\r\n private initializeInNonEditMode = () => {\r\n this.startSpinner();\r\n this.isLoading = true;\r\n this._characteristicsService.getTaskCategories().subscribe(categories => {\r\n this.categories = categories.filter(c => c.characteristicType === \"LoanCharacteristic\" && c.questionText);\r\n if (!this.categories || !this.categories.length) {\r\n if (this.cameHereWithBackNavigation) {\r\n this.wizardFlowService.navigateBackward();\r\n } else {\r\n this.onNextClicked();\r\n }\r\n return;\r\n }\r\n this._characteristicsService.getLoanCharacteristics(this.mortgageApplication.applicationId).subscribe(characteristics => {\r\n this._characteristics = characteristics;\r\n this.isLoading = false;\r\n }, error => {\r\n this.isLoading = false;\r\n this.showError(new ErrorMessage('Error - Loan Characteristics!',\r\n error ? error.message : 'Unable to get loan characteristics.')\r\n );\r\n });\r\n }, error => {\r\n this.showError(new ErrorMessage('Error - Loan Characteristics!',\r\n error ? error.message : 'Unable to get loan characteristics.')\r\n );\r\n }).add(() => {\r\n this.isLoading = false;\r\n this.stopSpinner();\r\n })\r\n }\r\n\r\n private initializeInEditMode = () => {\r\n const category1 = {onlineAppEnabled: true, questionText: 'Test Category'} as TaskCategory;\r\n const category2 = {onlineAppEnabled: true, questionText: 'Test Category2'} as TaskCategory;\r\n const category3 = {onlineAppEnabled: true, questionText: 'Test Category3'} as TaskCategory;\r\n this.categories = [category1, category2, category3];\r\n const characteristic1 = new LoanCharacteristic(-1, -1, -1);\r\n this._characteristics = [characteristic1];\r\n }\r\n\r\n private showCharacteristicsPreviewDialog = (characteristicsToSave: LoanCharacteristic[], tasks: LoanDocTask[]) => {\r\n const modalRef = this._modalService.open(CharacteristicsPreviewDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.characteristicType = 2;\r\n modalRef.componentInstance.tasksPreview = tasks;\r\n modalRef.componentInstance.taskCategories = this.categories;\r\n\r\n modalRef.result.then((result) => {\r\n if (result !== 'cancel') {\r\n this.saveLoanCharacteristics(characteristicsToSave, result);\r\n } else {\r\n const errorMessage = new ErrorMessage('Warning - Loan Characteristics!', 'Loan characteristics save operation has been cancelled.');\r\n this.showError(errorMessage);\r\n }\r\n }, (error) => {\r\n this.showError(new ErrorMessage('Warning!', 'Loan characteristics save operation has been cancelled.')\r\n );\r\n });\r\n }\r\n\r\n private saveLoanCharacteristics = (characteristics: LoanCharacteristic[], tasks: LoanDocTask[]) => {\r\n this._characteristicsService.saveLoanCharacteristics(this.mortgageApplication.applicationId, characteristics, tasks).subscribe(result => {\r\n this.wizardFlowService.navigateForward();\r\n }, error => {\r\n const errorMessage = new ErrorMessage('Error - Loan Characteristics!',\r\n error ? error.message : 'Unable to save loan characteristics.',);\r\n this.showError(errorMessage);\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 getCharacteristicQuantity(category.taskCategoryId) + ')'}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { MaritalStatus } from '../../../models/enums/marital-status.enum';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'marital-status',\r\n templateUrl: 'marital-status.component.html'\r\n})\r\n\r\nexport class MaritalStatusComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n constructor(private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n }\r\n\r\n public get isMaritalStatusSelected(): boolean {\r\n return this._mortgageApplication.maritalStatus !== undefined\r\n && this._mortgageApplication.maritalStatus !== MaritalStatus.None;\r\n }\r\n\r\n public get isMarried(): boolean {\r\n return this._mortgageApplication.maritalStatus === MaritalStatus.Married;\r\n }\r\n\r\n public get isUnMarried(): boolean {\r\n return this._mortgageApplication.maritalStatus === MaritalStatus.Unmarried;\r\n }\r\n\r\n public get isSeparated(): boolean {\r\n return this._mortgageApplication.maritalStatus === MaritalStatus.Separated;\r\n }\r\n\r\n onMarriedSelected = () => {\r\n this._mortgageApplication.maritalStatus = MaritalStatus.Married;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n onUnMarriedSelected = () => {\r\n this._mortgageApplication.maritalStatus = MaritalStatus.Unmarried;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n onSeparatedSelected = () => {\r\n this._mortgageApplication.maritalStatus = MaritalStatus.Separated;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n

What is your marital status?\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","import { Component, Injector, QueryList, ViewChildren } from '@angular/core';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { MultiBorrowersAddressHistoryStep } from '../../../models/wizard/multiborrowers-address-history-step.model';\r\nimport { BorrowerAddressHistoryComponent } from '../../borrower-address-history/borrower-address-history.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport * as _ from 'lodash';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { StepType } from '../../../models/wizard/config/step-type.enum';\r\nimport { ResidencyBasis } from '../../../models/enums/residency-basis.enum';\r\nimport { ResidencyAddress } from '../../../models/residency-address.model';\r\nimport { RealEstateOwned } from '../../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'multiborrowers-address-history',\r\n templateUrl: 'multiborrowers-address-history-step.component.html'\r\n})\r\n\r\nexport class MultiBorrowersAddressHistoryComponent extends WizardStepComponentBase {\r\n\r\n @ViewChildren('borrowerAddressHistory') borrowerAddressHistoryComponents: QueryList | undefined;\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = [];\r\n mortgage: MortgageApplication;\r\n\r\n reoFieldsToConfig: any = {};\r\n\r\n isStepBeingEdited: boolean = false;\r\n\r\n private _invalidBorrowerAddressComponent: BorrowerAddressHistoryComponent;\r\n\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.mortgage = this.mortgageApplication;\r\n if (this.currentBorrower) {\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.mortgageApplication.borrowers.filter(b => b.primaryEmail.toLocaleLowerCase() !==\r\n this.mainBorrower.primaryEmail.toLocaleLowerCase());\r\n }\r\n\r\n this.isStepBeingEdited = this.wizardFlowService.isEditEnabled;\r\n\r\n const reoStepConfig = this.wizardFlowService.activeFlowConfig.steps.find(s => s.stepType === StepType.ReoStep);\r\n if (reoStepConfig) {\r\n const reoStep = this.wizardFlowService.getStepById(reoStepConfig.id);\r\n if (reoStep) {\r\n this.reoFieldsToConfig = reoStep.fieldConfig;\r\n }\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n let valid = true;\r\n this._invalidBorrowerAddressComponent = null;\r\n if (this.borrowerAddressHistoryComponents) {\r\n for (let borrowerAddressHistoryComponent of this.borrowerAddressHistoryComponents) {\r\n valid = borrowerAddressHistoryComponent.validate() && valid;\r\n if (!valid && !this._invalidBorrowerAddressComponent) {\r\n this._invalidBorrowerAddressComponent = borrowerAddressHistoryComponent;\r\n }\r\n }\r\n }\r\n if (valid) {\r\n super.onNextClicked();\r\n } else {\r\n this._invalidBorrowerAddressComponent.scrollToFirstInvalid();\r\n }\r\n }\r\n\r\n onCopyFromPrimaryBorrowerClicked = (toBorrower: Borrower) => {\r\n const borrower = this.coBorrowers.find(b => b.borrowerId === toBorrower.borrowerId);\r\n borrower.residencyAddresses = [];\r\n this.mainBorrower.residencyAddresses.forEach(residencyAddress => {\r\n if (residencyAddress.residencyBasis === ResidencyBasis.Own) {\r\n const reoForThatAddress = this.findAlreadyExistingReoInMortgage(residencyAddress);\r\n if (reoForThatAddress) {\r\n // There is already an REO added for the borrower, gotta add the other borrower's id to owningBorrowerIds\r\n if (!reoForThatAddress.owningBorrowerIds.includes(toBorrower.borrowerId)) {\r\n reoForThatAddress.owningBorrowerIds.push(toBorrower.borrowerId);\r\n }\r\n }\r\n }\r\n const residencyAddressToCopy = { ...residencyAddress, residencyAddressId: null, addressId: null };\r\n residencyAddressToCopy.address.addressId = null;\r\n toBorrower.residencyAddresses.push(residencyAddressToCopy);\r\n });\r\n this.coBorrowers = _.cloneDeep(this.coBorrowers);\r\n }\r\n\r\n private findAlreadyExistingReoInMortgage = (address: ResidencyAddress): RealEstateOwned => {\r\n const reo = this.mortgage?.realEstateOwned.find(reo =>\r\n reo.address1.toLocaleLowerCase() === address.address?.address1?.toLocaleLowerCase() &&\r\n reo.city.toLocaleLowerCase() === address.address?.city?.toLocaleLowerCase() &&\r\n reo.state === address.address?.state &&\r\n reo.zipCode === address.address?.zipCode);\r\n\r\n return reo;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

{{mainBorrower.firstName + \" \" + mainBorrower.lastName}}

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

{{borrower.firstName + \" \" + borrower.lastName}}

\r\n Copy from {{mainBorrower.firstName + \" \" + mainBorrower.lastName}}\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","import { Component, Injector, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { forkJoin, Observable } from 'rxjs';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { MyInfoStep } from '../../../models/wizard/my-info-step.model';\r\nimport { BorrowerAddressHistoryComponent } from '../../borrower-address-history/borrower-address-history.component';\r\nimport { BorrowerInfoMiniComponent } from '../../borrower-info-mini/borrower-info-mini.component';\r\nimport { DependentsDialogComponent } from '../../dependents/dependents-dialog.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { Declarations } from '../../../models/declarations-model';\r\n\r\n@Component({\r\n selector: 'my-info',\r\n templateUrl: 'my-info-step.component.html',\r\n styleUrls: ['my-info-step.component.scss']\r\n})\r\nexport class MyInfoStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChildren('borrowerInfo') borrowerInfoComponents: QueryList | undefined;\r\n @ViewChild('myInfoForm') myInfoForm: NgForm | undefined;\r\n @ViewChild(BorrowerAddressHistoryComponent) borrowerAddressHistoryComponent: BorrowerAddressHistoryComponent | undefined;\r\n\r\n public coBorrowerToDelete: Borrower | undefined = undefined;\r\n\r\n borrower!: Borrower;\r\n\r\n dependentAges: string = null;\r\n\r\n noOfDependents: number = 0;\r\n\r\n coBorrowers: Borrower[] = [];\r\n\r\n ssnPattern = { '0': { pattern: new RegExp('\\\\d'), symbol: 'X' } };\r\n\r\n borrowerSettings: Map = new Map();\r\n\r\n languagePreferenceOptions: EnumerationItem[] = [];\r\n\r\n constructor(\r\n private readonly _modalService: ModalService,\r\n private readonly _enumService: EnumsService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.languagePreferenceOptions = this._enumService.languages;\r\n }\r\n\r\n private showDependentsPopup(dependentAges: number[]) {\r\n const modal = this._modalService.show(DependentsDialogComponent);\r\n modal.componentInstance.dependentAges = dependentAges;\r\n\r\n modal.result.then(dependentAges => {\r\n this.borrower.dependents = dependentAges;\r\n this.noOfDependents = dependentAges.length;\r\n this.dependentAges = this.borrower.dependents.join(', ');\r\n }, error => {\r\n this.noOfDependents = this.borrower.dependents.length;\r\n this.dependentAges = this.borrower.dependents.join(', ');\r\n })\r\n }\r\n\r\n private validate = (): boolean => {\r\n let valid = false;\r\n if (this.myInfoForm) {\r\n this.myInfoForm.form.markAllAsTouched();\r\n valid = this.myInfoForm.form.valid;\r\n }\r\n if (this.borrowerInfoComponents) {\r\n for (let borrowerinfo of this.borrowerInfoComponents) {\r\n valid = borrowerinfo.validate() && valid;\r\n }\r\n }\r\n if (this.step.configuresAddressHistory && this.borrowerAddressHistoryComponent) {\r\n valid = this.borrowerAddressHistoryComponent?.validateAddressHistory() && valid;\r\n }\r\n return valid;\r\n }\r\n\r\n onNextClicked() {\r\n let valid = this.validate();\r\n let firstInvalidOneId: string = null;\r\n if (!valid) {\r\n for (var key in this.myInfoForm.form.controls) {\r\n if (this.myInfoForm.form.controls.hasOwnProperty(key)) {\r\n if (this.myInfoForm.form.controls[key].status === 'INVALID') {\r\n firstInvalidOneId = key;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (firstInvalidOneId) {\r\n this.scrollToElement(firstInvalidOneId);\r\n }\r\n\r\n if (valid) {\r\n this.saveMortgageApplicationBeforeNextStep = false;\r\n if (this.wizardFlowService.isEditEnabled) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n this.startSpinner();\r\n this.mortgageApplication.borrowers.forEach(b => {\r\n b.homePhone = b.mobilePhone;\r\n })\r\n this.wizardFlowService.saveMortgage().subscribe(result => {\r\n let calls: Observable[] = [];\r\n if (this.borrowerInfoComponents) {\r\n for (let borrowerinfo of this.borrowerInfoComponents) {\r\n let bi = borrowerinfo.borrower;\r\n const insertedBorrower = result.borrowers.find((x: any) => x.firstName === bi.firstName && x.lastName === bi.lastName && x.primaryEmail === bi.primaryEmail);\r\n if (!borrowerinfo.mainBorrowerWillApplyForMe) {\r\n if (insertedBorrower) {\r\n borrowerinfo.setBorrowerIdContactId(insertedBorrower.borrowerId, insertedBorrower.contactId);\r\n }\r\n let borrowerInviteToCompleteAppCall = this.mortgageApplicationService.inviteToCompleteAppForCoborrower(this.mortgageApplication.mortgageId,\r\n this.mortgageApplication.applicationId, borrowerinfo.borrower.borrowerId!);\r\n calls.push(borrowerInviteToCompleteAppCall);\r\n } else {\r\n // Merge borrower needs to be called here for the borrower\r\n if (insertedBorrower) {\r\n let mergeBorrowerCall = this.mortgageApplicationService.mergeCoborrower(this.mortgageApplication.applicationId,\r\n insertedBorrower.contactId);\r\n calls.push(mergeBorrowerCall);\r\n }\r\n }\r\n }\r\n }\r\n if (calls.length > 0) {\r\n forkJoin(calls).subscribe(\r\n (result) => {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n },\r\n (error) => {\r\n this.handleError(error);\r\n }\r\n );\r\n } else {\r\n this.stopSpinner();\r\n super.onNextClicked();\r\n }\r\n }, error => {\r\n this.handleError(error);\r\n });\r\n }\r\n }\r\n\r\n onNoOfDependentsChanged = () => {\r\n if (!this.noOfDependents) {\r\n this.borrower.dependents = [];\r\n this.dependentAges = \"\";\r\n return;\r\n }\r\n const dependents = [...this.borrower.dependents];\r\n const numberOfDependentsDiff = this.noOfDependents - dependents.length;\r\n if (numberOfDependentsDiff > 0) {\r\n for (let i = 1; i <= numberOfDependentsDiff; i++) {\r\n dependents.push(0);\r\n }\r\n } else if (numberOfDependentsDiff < 0) {\r\n const noOfDependents = dependents.length;\r\n for (let i = noOfDependents - 1; i > noOfDependents - 1 + numberOfDependentsDiff; i--) {\r\n dependents.splice(i, 1);\r\n }\r\n }\r\n this.showDependentsPopup(dependents);\r\n }\r\n\r\n onEditDependentsClicked = () => {\r\n const dependents = [...this.borrower.dependents];\r\n this.showDependentsPopup(dependents);\r\n }\r\n\r\n onAddCoBorrowerClicked = () => {\r\n const coBorrower = new Borrower();\r\n this.mortgageApplication.borrowers.push(coBorrower);\r\n }\r\n\r\n onCoBorrowerDeleteClicked = (coBorrower: Borrower) => {\r\n this.coBorrowerToDelete = coBorrower;\r\n }\r\n\r\n onCoBorrowerDeleteConfirmClicked = (coBorrower: Borrower) => {\r\n if (coBorrower.borrowerId && coBorrower.borrowerId > 0) {\r\n this.mortgageApplicationService.removeBorrower(this.mortgageApplication.applicationId, coBorrower.borrowerId).subscribe(() => {\r\n this.removeBorrowerFromMortgage(coBorrower);\r\n });\r\n } else {\r\n this.removeBorrowerFromMortgage(coBorrower);\r\n }\r\n }\r\n\r\n onLanguagePreferenceChanged = () => {\r\n if (this.borrower.languagePreference !== 'Other') {\r\n this.borrower.languagePreferenceOtherDescription = null;\r\n }\r\n }\r\n\r\n private removeBorrowerFromMortgage = (borrower: Borrower): void => {\r\n const index = this.mortgageApplication.borrowers.indexOf(borrower);\r\n if (index >= 0) {\r\n this.mortgageApplication.borrowers.splice(index, 1);\r\n this.coBorrowerToDelete = undefined;\r\n }\r\n }\r\n\r\n private handleError = (error: any) => {\r\n this.stopSpinner();\r\n let errorMessage = new ErrorMessage(\"An error occurred while saving the mortgage\", error.error.message);\r\n this.showError(errorMessage);\r\n window.scroll(0, 0);\r\n }\r\n\r\n onCoBorrowerDeleteCancelClicked = (coBorrower: Borrower) => {\r\n this.coBorrowerToDelete = undefined;\r\n }\r\n\r\n ngOnInit() {\r\n this.borrowerSettings = this.wizardFlowService.context.borrowerSettings;\r\n if (this.mortgageApplication.borrowers && this.mortgageApplication.borrowers.length > 0) {\r\n if (this.currentBorrower) {\r\n this.borrower = this.currentBorrower;\r\n this.noOfDependents = this.borrower.dependents.length;\r\n this.dependentAges = this.borrower.dependents.join(', ');\r\n this.coBorrowers = this.mortgageApplication.borrowers.filter(b => b !== this.currentBorrower);\r\n }\r\n } else {\r\n this.borrower = new Borrower();\r\n this.mortgageApplication.borrowers.push(this.borrower);\r\n }\r\n this.fixUnsetValuesToNull();\r\n }\r\n\r\n scrollToElement = (name: string) => {\r\n const elements = document.getElementsByName(name);\r\n let element;\r\n if (elements) {\r\n element = elements[0]\r\n }\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center',\r\n inline: 'nearest',\r\n });\r\n }, 250);\r\n }\r\n }\r\n\r\n private fixUnsetValuesToNull = () => {\r\n if (!this.borrower.nameSuffix) {\r\n this.borrower.nameSuffix = null;\r\n }\r\n if (!this.borrower.languagePreference) {\r\n this.borrower.languagePreference = null;\r\n }\r\n if (!this.borrower.maritalStatus) {\r\n this.borrower.maritalStatus = null;\r\n }\r\n if (!this.borrower.declarations) {\r\n this.borrower.declarations = new Declarations();\r\n } else {\r\n if (!this.borrower.declarations.residenceStatus) {\r\n this.borrower.declarations.residenceStatus = null;\r\n }\r\n }\r\n }\r\n}\r\n","\r\n
\r\n\r\n \r\n\r\n
My Info:
\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 \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 Edit Dependents\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
Are you applying with anyone else?
\r\n Add Co-borrower\r\n
\r\n
\r\n
\r\n
0\" class=\"fs-4 fw-bolder text-dark\">Co-borrowers:
\r\n
0\" class=\"separator separator-dashed my-3\">
\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","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { forkJoin } from 'rxjs';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { NumberOfBorrowersStep } from '../../../models/wizard/number-of-borrowers-step.model';\r\n\r\n@Component({\r\n selector: 'number-of-borrowers',\r\n templateUrl: 'number-of-borrowers.component.html'\r\n})\r\nexport class NumberOfBorrowersComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChild('numberOfBorrowersForm') numberOfBorrowersForm: NgForm | undefined;\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n public numberOfCoBorrowers: number | undefined = 0;\r\n\r\n public hasCoBorrowers: boolean | null = null;\r\n\r\n onYesSelected = () => {\r\n this.numberOfCoBorrowers = 1;\r\n this.hasCoBorrowers = true;\r\n this.step.requiresNextButton = true;\r\n }\r\n\r\n onNumberOfCoBorrowersChanged = () => {\r\n if (this.numberOfCoBorrowers) {\r\n if (this.numberOfCoBorrowers < 0) {\r\n this.numberOfCoBorrowers = 0;\r\n }\r\n }\r\n }\r\n\r\n onNoSelected = () => {\r\n this.hasCoBorrowers = false;\r\n this.numberOfCoBorrowers = 0;\r\n this.onNextClicked();\r\n }\r\n\r\n constructor(private readonly _injector: Injector, private _mortgageApplicationService: MortgageApplicationService) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n }\r\n\r\n ngOnInit() {\r\n this.step.requiresNextButton = false;\r\n this.numberOfCoBorrowers = this._mortgageApplication.borrowers.length - 1;\r\n if (this.numberOfCoBorrowers > 0) {\r\n this.hasCoBorrowers = true;\r\n this.step.requiresNextButton = true;\r\n } else {\r\n if (this.wizardFlowService.context.hasMultipleBorrowers === false) {\r\n this.hasCoBorrowers = false;\r\n this.step.requiresNextButton = true;\r\n }\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n this.numberOfBorrowersForm?.form.markAllAsTouched();\r\n if (this.numberOfBorrowersForm?.form.valid) {\r\n let existingNumberOfCoBorrowers = this._mortgageApplication.borrowers.length - 1;\r\n if (this.numberOfCoBorrowers == null) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n this.wizardFlowService.context.hasMultipleBorrowers = this.numberOfCoBorrowers > 0;\r\n if (this.numberOfCoBorrowers > existingNumberOfCoBorrowers) {\r\n for (let i = 1; i <= this.numberOfCoBorrowers - existingNumberOfCoBorrowers; i++) {\r\n const coBorrower = new Borrower();\r\n coBorrower.borrowerId = 0 - i;\r\n this._mortgageApplication.borrowers.push(coBorrower);\r\n }\r\n super.onNextClicked();\r\n } else {\r\n const numberOfBorrowersToRemove = existingNumberOfCoBorrowers - this.numberOfCoBorrowers;\r\n\r\n if (numberOfBorrowersToRemove <= this._mortgageApplication.borrowers.length - 1) {\r\n const startIndex = this._mortgageApplication.borrowers.length - numberOfBorrowersToRemove;\r\n const apiCalls: any[] = [];\r\n\r\n for (let i = this._mortgageApplication.borrowers.length - 1; i >= startIndex; i--) {\r\n const borrowerToRemove = this._mortgageApplication.borrowers[i];\r\n if (borrowerToRemove.borrowerId && borrowerToRemove.borrowerId > 0) {\r\n const apiCallToRemoveBorrower = this._mortgageApplicationService.removeBorrower(this._mortgageApplication.applicationId,\r\n borrowerToRemove.contactId);\r\n apiCalls.push(apiCallToRemoveBorrower);\r\n }\r\n this._mortgageApplication.borrowers.splice(i, 1);\r\n this._mortgageApplication.realEstateOwned.forEach(reo => {\r\n const index = reo.owningBorrowerIds.findIndex(id => id == borrowerToRemove.borrowerId);\r\n if (index >= 0) {\r\n reo.owningBorrowerIds.splice(index, 1);\r\n }\r\n })\r\n }\r\n\r\n if (apiCalls.length) {\r\n this.startSpinner();\r\n forkJoin(apiCalls).subscribe(() => {\r\n super.onNextClicked();\r\n }, error => {\r\n this.showError(new ErrorMessage(\"Error\", error.message));\r\n }).add(() => {\r\n this.stopSpinner();\r\n })\r\n } else {\r\n super.onNextClicked();\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
Please enter the number of borrowers.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Originator } from '../../../models/originator.model';\r\n\r\n@Component({\r\n selector: 'originator-info',\r\n templateUrl: 'originator-info.component.html',\r\n styleUrls: ['originator-info.component.scss']\r\n})\r\nexport class OriginatorInfoComponent implements OnInit {\r\n constructor() { }\r\n\r\n @Input()\r\n selected: boolean = false;\r\n\r\n @Input()\r\n originator!: Originator;\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \"image\"\r\n
\r\n {{originator.firstName + \" \" + originator.lastName}}\r\n
\r\n
\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { ResidencyBasis } from '../../../models/enums/residency-basis.enum';\r\nimport { ResidencyType } from '../../../models/enums/residency-type.enum';\r\nimport { ResidencyAddress } from '../../../models/residency-address.model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { OwnRentStep } from '../../../models/wizard/own-rent-step-model';\r\n\r\n@Component({\r\n selector: 'own-rent',\r\n templateUrl: 'own-rent.component.html',\r\n})\r\nexport class OwnRentComponent\r\n extends WizardStepComponentBase\r\n implements OnInit {\r\n\r\n private _currentBorrower: Borrower;\r\n public currentAddress!: ResidencyAddress;\r\n\r\n public get isOwned(): boolean | undefined {\r\n return this.currentAddress?.residencyBasis == ResidencyBasis.Own;\r\n }\r\n\r\n public get isOwnOrRentSelected(): boolean {\r\n //what to do if current borrower is null?\r\n return this.currentAddress.residencyBasis !== undefined;\r\n }\r\n\r\n public get isRent(): boolean {\r\n return this.currentAddress?.residencyBasis == ResidencyBasis.Rent;\r\n }\r\n\r\n public get isRentFree(): boolean {\r\n return this.currentAddress?.residencyBasis == ResidencyBasis.LivingRentFree;\r\n }\r\n\r\n onOwnedSelected = () => {\r\n this.currentAddress.residencyBasis = ResidencyBasis.Own;\r\n this.wizardFlowService.navigateForward();\r\n };\r\n\r\n onRentSelected = () => {\r\n this.currentAddress.residencyBasis = ResidencyBasis.Rent;\r\n this.wizardFlowService.navigateForward();\r\n };\r\n\r\n onRentFreeSelected = () => {\r\n this.currentAddress.residencyBasis = ResidencyBasis.LivingRentFree;\r\n this.wizardFlowService.navigateForward();\r\n };\r\n\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n\r\n this._currentBorrower = this.wizardFlowService.context.currentBorrower;\r\n let currentAddress = this._currentBorrower.residencyAddresses.find(\r\n (a) => a.residencyType == ResidencyType.PresentAddress\r\n );\r\n if (!currentAddress) {\r\n currentAddress = new ResidencyAddress(ResidencyType.PresentAddress);\r\n this._currentBorrower.residencyAddresses.push(currentAddress);\r\n }\r\n this.currentAddress = currentAddress;\r\n if (this.mortgageApplication.subjectProperty.purposeOfLoan === 'Refinance') {\r\n if (this.isCurrentAddressSameAsSubjectProperty()) {\r\n if (this.cameHereWithBackNavigation) {\r\n this.wizardFlowService.navigateBackward();\r\n } else {\r\n this.onNextClicked();\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.step.requiresNextButton = (this.isOwned || this.isRent || this.isRentFree);\r\n this.step.title =\r\n 'Regarding your address at ' + this.currentAddress.address?.address1;\r\n }\r\n\r\n private isCurrentAddressSameAsSubjectProperty = (): boolean => {\r\n if (!this.currentAddress.address) {\r\n return false;\r\n }\r\n return (\r\n this.currentAddress.address.address1.toLocaleLowerCase() ===\r\n this.mortgageApplication.subjectProperty.address1?.toLocaleLowerCase() &&\r\n this.currentAddress.address.city.toLocaleLowerCase() ===\r\n this.mortgageApplication.subjectProperty.city.toLocaleLowerCase() &&\r\n this.currentAddress.address.state.toLocaleLowerCase() ===\r\n this.mortgageApplication.subjectProperty.state.toLocaleLowerCase() &&\r\n this.currentAddress.address.zipCode.toLocaleLowerCase() ===\r\n this.mortgageApplication.subjectProperty.zipCode.toLocaleLowerCase()\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","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Address } from '../../../models/address-model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'pre-approval-property-address',\r\n templateUrl: 'pre-approval-property-address.component.html'\r\n})\r\n\r\nexport class PreApprovalPropertyAddressComponent extends WizardStepComponentBase implements OnInit {\r\n public get states() {\r\n return this._enumsService.states;\r\n}\r\n\r\n@ViewChild('propertyAddressForm') propertyAddressForm: NgForm | undefined;\r\n\r\npublic city: string = \"\";\r\npublic state: string = \"\";\r\npublic zipCode: string = \"\";\r\n\r\nprivate _mortgageApplication: MortgageApplication;\r\n\r\nonNextClicked() {\r\n this.propertyAddressForm?.form.markAllAsTouched();\r\n if (this.isValidCityState() || this.isValidZipCode()) {\r\n this.saveAddressFieldValues();\r\n super.onNextClicked();\r\n }\r\n}\r\n\r\nonBackClicked() {\r\n super.onBackClicked();\r\n}\r\n\r\nisValid() {\r\n\r\n let zipCodeDefined = this.zipCode && this.validateZipCode(this.zipCode);\r\n let cityDefined = this.city && this.city.length > 0;\r\n let stateDefined = this.state && this.state.length > 0;\r\n if (cityDefined && stateDefined) {\r\n return true;\r\n }\r\n if (zipCodeDefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nisValidCityState() {\r\n let cityDefined = this.city && this.city.length > 0;\r\n let stateDefined = this.state && this.state.length > 0;\r\n if (cityDefined && stateDefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nisValidZipCode() {\r\n return this.zipCode && this.validateZipCode(this.zipCode);\r\n}\r\n\r\nprivate validateZipCode(elementValue: any){\r\n var zipCodePattern = /^\\d{5}$|^\\d{5}-\\d{4}$/;\r\n return zipCodePattern.test(elementValue);\r\n}\r\n\r\nconstructor(private readonly _enumsService: EnumsService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n this.city = this._mortgageApplication.subjectProperty?.city;\r\n this.state = this._mortgageApplication.subjectProperty?.state;\r\n this.zipCode = this._mortgageApplication.subjectProperty?.zipCode;\r\n}\r\n\r\nprivate saveAddressFieldValues = () => {\r\n this._mortgageApplication.subjectProperty.zipCode = this.zipCode;\r\n this._mortgageApplication.subjectProperty.state = this.state;\r\n this._mortgageApplication.subjectProperty.city = this.city;\r\n}\r\n\r\nngOnInit() { }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Where are you interested in buying?

\r\n
If you need more info, please check out\r\n Help Page.
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
City and state or zipcode required.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
Please enter a valid state.
\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
Please enter a valid zip code.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Liability } from 'projects/borrower-app/src/app/models/mortgage.model';\r\nimport { Product, Quote } from 'projects/borrower-app/src/app/models/pricing/pricing-response.model';\r\n\r\n@Component({\r\n selector: 'benefits',\r\n templateUrl: 'benefits.component.html',\r\n styleUrls: ['benefits.component.scss']\r\n})\r\nexport class BenefitsComponent implements OnInit {\r\n\r\n @Input()\r\n set liabilitiesToPayOff (liabilities: Liability[]) {\r\n this._liaibilitiesToPayOff = liabilities;\r\n this.calculateBenefits();\r\n }\r\n\r\n @Input()\r\n set product(product: Product) {\r\n if (product && product.quotes?.length > 0) {\r\n this.quote = product.quotes[0];\r\n this.calculateBenefits();\r\n }\r\n }\r\n\r\n @Input()\r\n set loanAmount (loanAmount: number) {\r\n this._loanAmount = loanAmount;\r\n this.calculateBenefits();\r\n }\r\n\r\n get liabilitiesToPayOff(): Liability[] {\r\n return this._liaibilitiesToPayOff;\r\n }\r\n\r\n protected totalDebtToPayOff: number = 0;\r\n protected totalClosingCosts: number = 0;\r\n protected totalMonthlyPayment: number = 0;\r\n protected cashToBorrower: number = 0;\r\n protected savingsAfterRefinance: number = 0;\r\n protected quote: Quote;\r\n\r\n private _liaibilitiesToPayOff: Liability[] = [];\r\n private _loanAmount: number;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n private calculateBenefits() {\r\n this.totalDebtToPayOff = this._liaibilitiesToPayOff.reduce((total, liability) => total + liability.unpaidBalance, 0);\r\n this.totalMonthlyPayment = this._liaibilitiesToPayOff.reduce((total, liability) => total + liability.monthlyPayment, 0);\r\n this.totalClosingCosts = this.quote?.totalFeesDollars || 0;\r\n this.cashToBorrower = this._loanAmount - this.totalDebtToPayOff - this.totalClosingCosts;\r\n this.savingsAfterRefinance = this.totalMonthlyPayment - this.quote?.principalAndInterest;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n {{liability.holderName}}\r\n
\r\n {{(liability.monthlyPayment || 0) | currency}}/{{(liability.unpaidBalance || 0) | currency}}\r\n
\r\n
\r\n
\r\n Liabilities to Pay Off\r\n
\r\n
\r\n\r\n
\r\n
\r\n Total Debt Payed Off\r\n
\r\n {{(totalMonthlyPayment || 0) | currency}}/{{(totalDebtToPayOff || 0) | currency}}\r\n
\r\n\r\n
\r\n
\r\n Total Closing Costs\r\n
\r\n {{(totalClosingCosts || 0) | currency}}\r\n
\r\n\r\n
\r\n
\r\n Cash to Borrower\r\n
\r\n {{(cashToBorrower || 0) | currency}}\r\n
\r\n\r\n
\r\n
\r\n New Payment\r\n
\r\n {{(quote?.principalAndInterest || 0) | currency}}\r\n
\r\n\r\n
0\">\r\n
\r\n Savings after Refi\r\n
\r\n {{(savingsAfterRefinance || 0) | currency}}\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Liability, PayoffType } from 'projects/borrower-app/src/app/models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'liability-card',\r\n templateUrl: 'liability-card.component.html',\r\n styleUrls: ['liability-card.component.scss']\r\n})\r\n\r\nexport class LiabilityCardComponent implements OnInit {\r\n\r\n @Output() liabilityChanged = new EventEmitter();\r\n\r\n @Input()\r\n set liability(liability: Liability) {\r\n if (liability) {\r\n this._liability = liability;\r\n if (this.liability.payoffType === 'Full' ||\r\n this.liability.partialPayoffAmount === this.liability.unpaidBalance) {\r\n this._liability['willPayOff'] = true;\r\n } else {\r\n this._liability['willPayOff'] = false;\r\n }\r\n }\r\n }\r\n\r\n get liability(): Liability {\r\n return this._liability;\r\n }\r\n\r\n private _liability: Liability;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n\r\n onPayoffSelectionChanged = () => {\r\n if (this.liability['willPayOff']) {\r\n this.liability.payoffType = PayoffType.Full;\r\n this.liability.partialPayoffAmount = this.liability.unpaidBalance;\r\n } else {\r\n this.liability.payoffType = PayoffType.None;\r\n this.liability.partialPayoffAmount = undefined;\r\n }\r\n this.liabilityChanged.emit(this.liability);\r\n }\r\n}\r\n\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{liability.holderName}}\r\n {{(liability.monthlyPayment || 0) | currency}}/{{(liability.unpaidBalance || 0) | currency}}\r\n
\r\n Will pay off\r\n Will not pay off\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Quote } from 'projects/borrower-app/src/app/models/pricing/pricing-response.model';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'price-option-card',\r\n templateUrl: 'price-option-card.component.html',\r\n styleUrls: ['./price-option-card.component.scss']\r\n})\r\nexport class PriceOptionCardComponent implements OnInit {\r\n\r\n @Input()\r\n quote: Quote;\r\n\r\n @Input()\r\n isSelected: boolean = false;\r\n\r\n @Input()\r\n isMobile: boolean = false;\r\n\r\n @Output()\r\n priceOptionSelected: EventEmitter = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.quote['uniqueId'] = uuidv4();\r\n }\r\n\r\n onCardClicked = () => {\r\n this.isSelected = true;\r\n this.priceOptionSelected.emit(this.quote);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n {{quote.adjustedRate ? ((quote.adjustedRate / 100) |\r\n percent:'1.3-3'):\r\n 'Unknown'}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
Points
\r\n
\r\n = 100.00\" class=\"text-muted price-rebate\">{{quote.rebatePercent}} /\r\n {{(quote.rebateDollars | currency)}}\r\n {{quote.discountPercent}} /\r\n {{(quote.discountDollars | currency)}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Rate/APR
\r\n\r\n
\r\n {{quote.adjustedRate ? ((quote.adjustedRate / 100) |\r\n percent:'1.3-3'):\r\n 'Unknown'}} / {{quote.apr ? ((quote.apr / 100) | percent:'1.3-3') : 'Unknown'}}\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Monthly P&I
\r\n\r\n
\r\n {{quote.principalAndInterest | currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n
\r\n
","import { Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NotificationService } from 'projects/shared/services/notification.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Quote } from 'projects/borrower-app/src/app/models/pricing/pricing-response.model';\r\n\r\n@Component({\r\n selector: 'price-options-dialog',\r\n templateUrl: 'price-options-dialog.component.html',\r\n styleUrls: ['./price-options-dialog.component.scss']\r\n})\r\nexport class PriceOptionsDialogComponent implements OnInit {\r\n\r\n @ViewChild('noteForm')\r\n noteForm: NgForm | undefined;\r\n\r\n @Input()\r\n priceOptions: Quote[] = [];\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n protected priceOptionsPages: Quote[][] = null;\r\n protected selectedQuote: Quote;\r\n protected isMobile: boolean = false;\r\n\r\n images = [944, 1011, 984].map((n) => `https://picsum.photos/id/${n}/900/500`);\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n private readonly _notifsService: NotificationService,\r\n private readonly _spinner: NgxSpinnerService,) {\r\n }\r\n\r\n ngOnInit() {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n this.priceOptionsPages = this.divideIntoPages(this.priceOptions);\r\n }\r\n\r\n onPriceOptionSelected = (quote: Quote) => {\r\n this.selectedQuote = quote;\r\n }\r\n\r\n private divideIntoPages(priceOptions: Quote[]): any {\r\n let pages: Quote[][] = [];\r\n let currentPageNumber = 1;\r\n let currentPage: Quote[] = [];\r\n for (let i = 0; i < priceOptions.length; i++) {\r\n currentPage.push(priceOptions[i]);\r\n if (currentPage.length === 4) {\r\n pages[currentPageNumber] = currentPage;\r\n currentPageNumber++;\r\n currentPage = [];\r\n }\r\n }\r\n if (currentPage.length > 0) {\r\n pages.push(currentPage);\r\n }\r\n return pages.filter(p => p.length);\r\n }\r\n\r\n onOkClicked() {\r\n this.activeModal.close(this.selectedQuote);\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 1200\r\n }\r\n}\r\n","
\r\n\r\n

Price Options

\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","import { Component, Injector } from '@angular/core';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { PricingStep } from '../../../models/wizard/pricing-step.model';\r\nimport { Observer, firstValueFrom } from 'rxjs';\r\nimport * as _ from 'lodash';\r\nimport {\r\n PricingResponse,\r\n Product,\r\n ProductSearchResult,\r\n Quote,\r\n} from '../../../models/pricing/pricing-response.model';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PriceOptionsDialogComponent } from './price-options-dialog/price-options-dialog.component';\r\nimport { Constants } from '../../../services/constants';\r\nimport { ProductSearchRequest } from '../../../models/pricing/product-search-request-info.model';\r\nimport { AssignPricingRequestModel } from '../../../models/pricing/assign-pricing-request.model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { Liability } from '../../../models/mortgage.model';\r\nimport { DiffChecker } from 'projects/shared/utils/diff-checker';\r\n\r\n@Component({\r\n selector: 'pricing-step',\r\n templateUrl: 'pricing-step.component.html',\r\n styleUrls: ['pricing-step.component.scss']\r\n})\r\nexport class PricingStepComponent extends WizardStepComponentBase {\r\n\r\n protected productSearchResults: ProductSearchResult | undefined;\r\n protected productSearchRequest: ProductSearchRequest | undefined;\r\n\r\n protected selectedPricingProduct: Product;\r\n\r\n protected priceOptionsForSelectedProduct: Quote[] = [];\r\n\r\n protected loanAmount: number = 50000;\r\n protected loanTerm: number = 30;\r\n\r\n protected maxLoanAmount: number;\r\n protected minLoanAmount: number = 50000;\r\n\r\n protected mortgage: MortgageApplication;\r\n\r\n protected liabilityPayOffInformationChanged: boolean = false;\r\n\r\n protected liabilitiesToPayOff: Liability[] = [];\r\n\r\n private _originalLiabilities: Liability[] = [];\r\n\r\n get canMoveToNextStep(): boolean {\r\n return !!this.selectedPricingProduct || !this.productSearchResults?.products || this.productSearchResults?.products.length === 0;\r\n }\r\n\r\n constructor(\r\n private readonly _injector: Injector,\r\n private readonly _modalService: NgbModal\r\n ) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.initializePayOffInfo(this.mortgageApplication);\r\n this.mortgage = this.mortgageApplication;\r\n this._originalLiabilities = _.cloneDeep(this.mortgage.liabilities);\r\n this.liabilitiesToPayOff = this.mortgage.liabilities.filter(l => l.payoffType === 'Full' || l.partialPayoffAmount === l.unpaidBalance);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.runPricingSearch();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.resizeLoanAmountInput();\r\n }\r\n\r\n ngOnDestroy(): void { }\r\n\r\n onKeyUpOnLoanAmount = () => {\r\n this.resizeLoanAmountInput();\r\n }\r\n\r\n onLoanAmountChanged = () => {\r\n if (this.loanAmount > this.maxLoanAmount) {\r\n this.loanAmount = this.maxLoanAmount;\r\n } else if (this.loanAmount < this.minLoanAmount) {\r\n this.loanAmount = this.minLoanAmount;\r\n }\r\n if (this.productSearchRequest) {\r\n this.productSearchRequest.loanInformation.baseLoanAmount = this.loanAmount;\r\n this.repriceLoan();\r\n }\r\n }\r\n\r\n onLoanTermChanged = () => {\r\n\r\n if (this.productSearchRequest) {\r\n this.productSearchRequest.loanTerms = [];\r\n this.productSearchRequest.loanTerms.push(this.loanTerm * 12);\r\n this.repriceLoan();\r\n }\r\n }\r\n\r\n onLiabilityChanged = (liability: Liability) => {\r\n const diffChecker = new DiffChecker(\r\n this._originalLiabilities,\r\n this.mortgage.liabilities,\r\n 'liabilities',\r\n );\r\n const changes = diffChecker.calculateDiff(true)\r\n this.liabilityPayOffInformationChanged = !!changes;\r\n this.liabilitiesToPayOff = this.mortgage.liabilities.filter(l => l.payoffType === 'Full' || l.partialPayoffAmount === l.unpaidBalance);\r\n }\r\n\r\n onNextClicked(): void {\r\n if (this.isEditEnabled || !!!this.selectedPricingProduct) {\r\n super.onNextClicked();\r\n return;\r\n }\r\n const observerAssign: Observer = {\r\n next: (value: any) => {\r\n },\r\n error: (err: any) => {\r\n },\r\n complete: () => {\r\n }\r\n }\r\n const observerGet: Observer = {\r\n next: (value: any) => {\r\n this.wizardFlowService.navigateForward();\r\n },\r\n error: (err: any) => {\r\n },\r\n complete: () => {\r\n }\r\n }\r\n const assignPricingRequestModel: AssignPricingRequestModel = {\r\n request: this.productSearchRequest,\r\n productId: this.selectedPricingProduct.productId,\r\n };\r\n if (this.selectedPricingProduct.quotes.length > 0) {\r\n assignPricingRequestModel.rate = this.selectedPricingProduct.quotes[0].adjustedRate;\r\n assignPricingRequestModel.price = this.selectedPricingProduct.quotes[0].adjustedPrice;\r\n assignPricingRequestModel.lockTerm = this.selectedPricingProduct.quotes[0].lockPeriod;\r\n }\r\n this.spinner.show();\r\n this.mortgageApplicationService.assignProductToApplication(this.mortgageApplication.applicationId, assignPricingRequestModel).subscribe(observerAssign)\r\n .add(() => {\r\n this.mortgageApplicationService.getMortgage(this.mortgageApplication.applicationId).subscribe(observerGet).add(() => {\r\n this.spinner.hide();\r\n super.onNextClicked();\r\n });\r\n });\r\n }\r\n\r\n onRateEditClicked = async (product: any) => {\r\n try {\r\n this.spinner.show();\r\n const priceDetails = await firstValueFrom(\r\n this.mortgageApplicationService.getProductPricingDetails(\r\n {\r\n ...this.productSearchRequest, productIds: [product.productId],\r\n thirdPartySearchId: this.productSearchResults.searchId\r\n },\r\n this.productSearchResults.pricingVendor\r\n )\r\n );\r\n if (\r\n priceDetails &&\r\n priceDetails.quotes &&\r\n priceDetails.quotes.length > 0\r\n ) {\r\n this.priceOptionsForSelectedProduct = _.orderBy(priceDetails.quotes, ['adjustedRate', 'asc']);\r\n\r\n const modalRef = this._modalService.open(PriceOptionsDialogComponent, Constants.modalOptions.xlarge);\r\n modalRef.componentInstance.priceOptions = this.priceOptionsForSelectedProduct;\r\n\r\n modalRef.result.then((result) => {\r\n this.onPriceOptionSelected(result);\r\n }, (err) => {\r\n\r\n });\r\n }\r\n } catch (err) {\r\n } finally {\r\n this.spinner.hide();\r\n }\r\n };\r\n\r\n onRefreshPricingClicked = () => {\r\n this.repriceLoan();\r\n }\r\n\r\n onPriceOptionSelected = (quote: Quote) => {\r\n this.selectedPricingProduct.quotes[0] = quote;\r\n const index = this.productSearchResults.products.findIndex(p => p.productId === this.selectedPricingProduct.productId);\r\n if (index >= 0) {\r\n this.productSearchResults.products[index] = { ...this.selectedPricingProduct };\r\n this.productSearchResults = { ...this.productSearchResults };\r\n }\r\n }\r\n\r\n onSelectedCardChanged = (product: Product) => {\r\n this.selectedPricingProduct = product;\r\n };\r\n\r\n private runPricingSearch = async () => {\r\n const observer: Observer = {\r\n next: (response: PricingResponse) => {\r\n this.productSearchResults = response.productSearchResult;\r\n this.productSearchRequest = response.productSearchRequest;\r\n this.loanAmount = this.productSearchRequest.loanInformation.baseLoanAmount;\r\n this.maxLoanAmount = this.loanAmount;\r\n if (this.productSearchResults?.products?.length > 0) {\r\n this.selectedPricingProduct = this.productSearchResults.products[0];\r\n }\r\n },\r\n error: (err: any) => { },\r\n complete: () => { },\r\n };\r\n\r\n const apiToCall = !this.isEditEnabled ? this.mortgageApplicationService.searchProducts : this.mortgageApplicationService.searchProductsFake;\r\n\r\n this.spinner.show();\r\n apiToCall(this.mortgageApplication.applicationId)\r\n .subscribe(observer)\r\n .add(() => {\r\n this.spinner.hide();\r\n this.liabilityPayOffInformationChanged = false;\r\n });\r\n };\r\n\r\n private repriceLoan = async () => {\r\n const observer: Observer = {\r\n next: (response: PricingResponse) => {\r\n this.productSearchResults = response.productSearchResult;\r\n this.productSearchRequest = response.productSearchRequest;\r\n this.loanAmount = this.productSearchRequest.loanInformation.baseLoanAmount;\r\n if (this.productSearchResults?.products?.length > 0) {\r\n this.selectedPricingProduct = this.productSearchResults.products[0];\r\n }\r\n },\r\n error: (err: any) => { },\r\n complete: () => { },\r\n };\r\n\r\n this.spinner.show();\r\n this.mortgageApplicationService\r\n .repriceLoan(this.mortgageApplication.applicationId, this.productSearchRequest)\r\n .subscribe(observer)\r\n .add(() => {\r\n this.spinner.hide();\r\n this.liabilityPayOffInformationChanged = false;\r\n this._originalLiabilities = _.cloneDeep(this.mortgage.liabilities);\r\n });\r\n };\r\n\r\n private resizeLoanAmountInput = () => {\r\n const width = this.getTextWidth(this.loanAmount.toString());\r\n let loanAmountInput: any = document.querySelector(\"#loan-amount\");\r\n loanAmountInput.style.width = width + 150 + 'px';\r\n\r\n const widthTerm = this.getTextWidth(this.loanTerm.toString());\r\n let loanTermInput: any = document.querySelector(\"#loan-term\");\r\n loanTermInput.style.width = width + 150 + 'px';\r\n }\r\n\r\n private getTextWidth(text: string) {\r\n // Create a temporary span element to hold the text\r\n var span = document.createElement('span');\r\n span.textContent = text;\r\n span.style.visibility = 'hidden'; // Hide the span element\r\n span.style.position = 'absolute'; // Position it off-screen\r\n const loanAmountInput: any = document.querySelector(\"#loan-amount\");\r\n span.style.font = loanAmountInput.style.font; // Copy the font of the input element\r\n\r\n // Append the span to the document body\r\n document.body.appendChild(span);\r\n\r\n // Get the width of the span element\r\n var width = span.getBoundingClientRect().width;\r\n\r\n // Remove the span element from the document body\r\n document.body.removeChild(span);\r\n return width;\r\n }\r\n\r\n private initializePayOffInfo = (mortgage: MortgageApplication) => {\r\n mortgage.liabilities.forEach((liability) => {\r\n liability['willPayOff'] = liability.payoffType === 'Full' ||\r\n liability.partialPayoffAmount === liability.unpaidBalance;\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

\r\n Liabilities to Pay Off\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{loanAmount}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{loanAmount}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

You have modified debts to be paid off

\r\n

Please click below to update pricing

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

{{step.noProductFoundMessageTitle}}

\r\n \r\n {{step.noProductsFoundMessageText}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Benefits\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","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Product, Quote } from 'projects/borrower-app/src/app/models/pricing/pricing-response.model';\r\n\r\n@Component({\r\n selector: 'product-price-card',\r\n templateUrl: 'product-price-card.component.html',\r\n styleUrls: ['./product-price-card.component.scss']\r\n})\r\nexport class ProductPriceCardComponent implements OnInit {\r\n\r\n @Input()\r\n set product(product: Product) {\r\n this._product = product;\r\n if (this._product.quotes && this._product.quotes.length > 0) {\r\n this.quote = this._product.quotes[0];\r\n }\r\n }\r\n\r\n @Input()\r\n liabilityPayOffInformationChanged: boolean;\r\n\r\n @Input()\r\n loanAmount: number | undefined;\r\n\r\n @Output()\r\n rateEditClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n selectedCardChanged: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n appraisedValue: number | undefined;\r\n\r\n get product(): Product {\r\n return this._product;\r\n }\r\n\r\n protected quote: Quote | undefined;\r\n\r\n @Input()\r\n isSelected: boolean = false;\r\n\r\n private _product: Product;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onRateAprEditClicked = () => {\r\n this.rateEditClicked.emit(this.product);\r\n }\r\n\r\n cardClicked = () => {\r\n if (!this.liabilityPayOffInformationChanged) {\r\n this.isSelected = true;\r\n this.selectedCardChanged.emit(this.product);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
{{ quote ? ((quote.adjustedRate / 100) | percent:'1.3-3') : 'N/A'}}\r\n
\r\n \r\n See Other Options\r\n\r\n \r\n \r\n
\r\n\r\n
{{product.productName}}
\r\n\r\n
\r\n
Loan Amount
\r\n
\r\n {{loanAmount | currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Appraised Value
\r\n\r\n
\r\n {{appraisedValue | currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Points
\r\n\r\n
\r\n = 100.00\" class=\"text-muted price-rebate\">{{quote.rebatePercent || '0.00'}} /\r\n {{(quote.rebateDollars | currency)}}\r\n {{quote.discountPercent}} /\r\n {{(quote.discountDollars | currency)}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Rate/APR
\r\n\r\n
\r\n {{quote.adjustedRate ? ((quote.adjustedRate / 100) |\r\n percent:'1.3-3'):\r\n 'Unknown'}} / {{quote.apr ? ((quote.apr / 100) | percent:'1.3-3') : 'Unknown'}}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Est. Fees for APR
\r\n\r\n
\r\n {{((quote.totalFeesDollars) || 0 | currency)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
Closing Costs
\r\n
\r\n {{(quote.thirdPartyFeesDollars || 0)| currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Odd Days Interest
\r\n\r\n
\r\n {{ ((quote.totalFeesDollars || 0) - (quote.thirdPartyFeesDollars || 0)) | currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
Monthly P&I
\r\n\r\n
\r\n {{quote.principalAndInterest | currency: 'USD': 'symbol'}}\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Injector, ViewChild } from '@angular/core';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport * as _ from 'lodash';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PullExistingApplicationStep } from '../../../models/wizard/pull-existing-application-step.model';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observer } from 'rxjs';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\n\r\n@Component({\r\n selector: 'pull-existing-application-step',\r\n templateUrl: 'pull-existing-application-step.component.html',\r\n styleUrls: ['pull-existing-application-step.component.scss']\r\n})\r\nexport class PullExistingApplicationStepComponent extends WizardStepComponentBase {\r\n\r\n @ViewChild('loanInfoForm')\r\n loanInfoForm: NgForm;\r\n\r\n protected zipCodePlaceHolder = 'XXXXX';\r\n protected zipCodeMask = '00000';\r\n protected zipCodePattern = '^[0-9]{5}?$';\r\n\r\n protected ssnPlaceHolder = 'XXXX';\r\n protected ssnMask = '0000';\r\n protected ssnPattern = '^[0-9]{4}?$';\r\n\r\n protected subjectPropertyZipCode: string = '';\r\n protected borrowerSSNLastFourDigits: string = '';\r\n\r\n protected pullInfoAttemptCount = 3;\r\n protected pullAttemptFailed = false;\r\n\r\n constructor(\r\n private readonly _injector: Injector,\r\n private readonly _modalService: NgbModal\r\n ) {\r\n super(_injector);\r\n this.nextButtonText = 'Skip & Continue';\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (!this.wizardFlowService.context.lead && !this.isEditEnabled) {\r\n this.wizardFlowService.navigateForward();\r\n return;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void { }\r\n\r\n onNextClicked(): void {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n onSubmitClicked = () => {\r\n if (this.pullInfoAttemptCount === 0) {\r\n return;\r\n }\r\n this.loanInfoForm.form.markAllAsTouched();\r\n if (!this.loanInfoForm.form.valid) {\r\n return;\r\n }\r\n this.startSpinner();\r\n const observer: Observer = {\r\n next: (mortgage: MortgageApplication) => {\r\n this.wizardFlowService.context.hasSuccessfullyPulledExistingApplication = true;\r\n this.wizardFlowService.updateContext(mortgage);\r\n this.wizardFlowService.navigateForward();\r\n },\r\n error: (err: any) => {\r\n this.pullAttemptFailed = true;\r\n this.pullInfoAttemptCount--;\r\n if (this.pullInfoAttemptCount === 0) {\r\n this.wizardFlowService.context.hasSuccessfullyPulledExistingApplication = false;\r\n }\r\n },\r\n complete: () => {\r\n }\r\n }\r\n this.mortgageApplicationService.pullMortgageFromLead(this.wizardFlowService.context.companyGuid,\r\n this.wizardFlowService.leadGuid, this.borrowerSSNLastFourDigits, this.subjectPropertyZipCode).subscribe(observer)\r\n .add(() => {\r\n this.stopSpinner();\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
Please enter a zip code.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Please enter last 4 digits of your SSN.\r\n
\r\n
\r\n
\r\n
0\">\r\n Get My Info & Continue\r\n
\r\n
0\">\r\n We are unable to verify that information, you have {{pullInfoAttemptCount}} attempt(s) remaining.\r\n
\r\n
\r\n We are unable to verify that information, please skip and continue.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n","import { AfterViewInit, Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { PurchaseCreditsStep } from '../../../models/wizard/purchase-credits-step.model';\r\nimport { NgForm } from '@angular/forms';\r\nimport { TransactionDetail } from '../../../models/transaction-detail.model';\r\nimport { PurchaseCredit } from \"../../../models/purchase-credit.model\";\r\nimport { MortgageApplicationExtension } from '../../../models/mortgage-app.model';\r\nimport { SubjectProperty } from '../../../models/subject-property.model';\r\nimport { Address } from '../../../models/address-model';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { AddressComponent, AddressFieldConfigSettings } from '../../address/address.component';\r\nimport { UtilsService } from '../../../services/utils.service';\r\nimport { BorrowerStepStatus } from '../../../models/borrower-step-status.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'purchase-credits-step',\r\n templateUrl: 'purchase-credits-step.component.html',\r\n})\r\nexport class PurchaseCreditsStepComponent\r\n extends WizardStepComponentBase\r\n implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('purchaseCreditsForm')\r\n purchaseCreditsForm: NgForm | undefined;\r\n\r\n @ViewChild('propertyAddress')\r\n subjectPropertyAddressComponent: AddressComponent | undefined;\r\n\r\n hasPurchaseAgreement: boolean | undefined | null;\r\n\r\n haveSellerCredits: boolean | null | undefined = null;\r\n\r\n sellerCredits: number | undefined = undefined;\r\n\r\n earnestMoneyDeposit: number | undefined = undefined;\r\n\r\n purchaseAggreementDate: string | undefined | null = undefined;\r\n\r\n expectedCloseOfEscrowDate: string | undefined | null = undefined;\r\n\r\n subjectPropertyAddress: Address | undefined | null;\r\n\r\n subjectProperty: SubjectProperty | undefined | null;\r\n\r\n occupancyTypes: EnumerationItem[] = [];\r\n\r\n protected availableStates: EnumerationItem[] = null;\r\n\r\n protected isSubjectPropertyAddressTbd: boolean = false;\r\n\r\n private _isZipcodeSearchInProgress: boolean = false;\r\n\r\n fieldConfigSettingsForAddress: AddressFieldConfigSettings = {\r\n stateField: 'subjectProperty.state'\r\n }\r\n\r\n constructor(private readonly _injector: Injector,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _enumsService: EnumsService,\r\n private readonly _mortgageApplicationService: MortgageApplicationService) {\r\n super(_injector);\r\n if (this.mortgageApplication.subjectProperty) {\r\n const isRefinance = this.mortgageApplication.subjectProperty.purposeOfLoan === \"Refinance\";\r\n if (isRefinance) {\r\n if (this.cameHereWithBackNavigation) {\r\n this.wizardFlowService.navigateBackward();\r\n } else {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n return;\r\n }\r\n }\r\n this.occupancyTypes = this._enumsService.usageTypes;\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n if (!this.mortgageApplication.transactionDetail) {\r\n this.mortgageApplication.transactionDetail = new TransactionDetail();\r\n }\r\n if (!this.mortgageApplication.extension) {\r\n this.mortgageApplication.extension = new MortgageApplicationExtension();\r\n }\r\n if (!this.mortgageApplication.subjectProperty) {\r\n this.mortgageApplication.subjectProperty = new SubjectProperty();\r\n }\r\n this.subjectProperty = this.mortgageApplication.subjectProperty;\r\n this.subjectPropertyAddress = new Address();\r\n this.subjectPropertyAddress.address1 = this.mortgageApplication.subjectProperty.address1;\r\n this.subjectPropertyAddress.city = this.mortgageApplication.subjectProperty.city;\r\n this.subjectPropertyAddress.state = this.mortgageApplication.subjectProperty.state;\r\n this.subjectPropertyAddress.zipCode = this.mortgageApplication.subjectProperty.zipCode;\r\n this.subjectPropertyAddress.county = this.mortgageApplication.subjectProperty.county;\r\n this.mortgageApplication.subjectProperty.presentValue = this.mortgageApplication.subjectProperty.presentValue || null;\r\n this.subjectPropertyAddress.presentValue = this.mortgageApplication.subjectProperty.presentValue || null;\r\n\r\n this.hasPurchaseAgreement =\r\n !!this.mortgageApplication.extension.hasSignedPurchaseAgreement;\r\n if (this.hasPurchaseAgreement) {\r\n this.initializeContractAndCloseOfEscrowDates();\r\n this.initializeSellerCreditsAndEarnestMoneyDepositValues();\r\n }\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n const allStates = this._enumsService.states;\r\n if (this.step.restrictStatesToLicenseStates) {\r\n const licenseStates = await firstValueFrom(this._mortgageApplicationService.getLicenseStates(this.mortgageApplication.applicationId));\r\n if (licenseStates && licenseStates.length > 0) {\r\n this.availableStates = allStates.filter(s => licenseStates.map(ls => ls.toLowerCase()).includes(s.value.toLowerCase()));\r\n }\r\n } else {\r\n this.availableStates = allStates;\r\n }\r\n if (this.step.autoSelectLookingToGetPreApproved) {\r\n this.onLookingForPreApprovalSelected();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let borrowerStepStatus = this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.find(b => b.borrowerId ==\r\n this.currentBorrower.borrowerId);\r\n if (borrowerStepStatus && borrowerStepStatus.stepStatusValues) {\r\n const statusForStep = borrowerStepStatus.stepStatusValues[this.step.id];\r\n if (statusForStep) {\r\n this.subjectPropertyAddressComponent.isZipKnownByTheBorrower = statusForStep['borrowerKnowsTheZipCodeWhenSubjectPropertyAddressIsTbd'];\r\n }\r\n }\r\n if (this.subjectPropertyAddressComponent) {\r\n if (this.step.autoSelectTbdForSubjectPropertyAddress) {\r\n this.subjectPropertyAddressComponent.isTbd = true;\r\n this.subjectPropertyAddressComponent.isTbdDisabled = this.subjectPropertyAddressComponent.isTbd;\r\n }\r\n this.isSubjectPropertyAddressTbd = this.subjectPropertyAddressComponent.isTbd;\r\n }\r\n }\r\n\r\n onSubjectPropertyAddressIsTbdChanged = (isTbd: boolean) => {\r\n this.isSubjectPropertyAddressTbd = isTbd;\r\n }\r\n\r\n onAutoSelectTbdForSubjectPropertyAddressChanged = () => {\r\n if (this.step.autoSelectTbdForSubjectPropertyAddress) {\r\n this.subjectPropertyAddressComponent.isTbd = this.step.autoSelectTbdForSubjectPropertyAddress;\r\n }\r\n this.subjectPropertyAddressComponent.isTbdDisabled = this.step.autoSelectTbdForSubjectPropertyAddress;\r\n }\r\n\r\n private _userClickedNext: boolean = false;\r\n onNextClicked() {\r\n this._userClickedNext = true;\r\n if (this._isZipcodeSearchInProgress) {\r\n return;\r\n }\r\n if (this.purchaseCreditsForm) {\r\n this.purchaseCreditsForm.form.markAllAsTouched();\r\n const isAddressvalid = this.subjectPropertyAddressComponent.validate();\r\n if (this.purchaseCreditsForm.form.valid && isAddressvalid) {\r\n this.persistTheChoiceForBorrowerKnowsTheZipCodeWhenSubjectPropertyAddressIsTbd();\r\n this.mortgageApplication.extension.hasSignedPurchaseAgreement = this.hasPurchaseAgreement;\r\n if (this.hasPurchaseAgreement) {\r\n this.setContractAndCloseOfEscrowDatesOnMortgage();\r\n this.addSellerCreditsAndEarnestMoneyDepositToMortgage();\r\n } else {\r\n this.removeSellerCreditsAndEarnestMoneyDepositFromMortgage();\r\n }\r\n if (!this.haveSellerCredits) {\r\n this.removeSellerCreditsFromMortgage();\r\n }\r\n this.mortgageApplicationService.setSubjectProperty(this.subjectPropertyAddress);\r\n super.onNextClicked();\r\n }\r\n }\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return this.step.canMoveToNextStep && !this._isZipcodeSearchInProgress;\r\n }\r\n\r\n protected onZipcodeSearchStarted = (e: any) => {\r\n if (e.relatedTarget?.id === 'wizard-button-next') {\r\n this._userClickedNext = true;\r\n }\r\n this._isZipcodeSearchInProgress = true;\r\n }\r\n\r\n protected onZipcodeSearchCompleted = () => {\r\n this._isZipcodeSearchInProgress = false;\r\n if (this._userClickedNext) {\r\n this.onNextClicked();\r\n }\r\n }\r\n\r\n onIsInPurchaseAggrementSelected = () => {\r\n this.hasPurchaseAgreement = true;\r\n if (this.subjectPropertyAddress?.presentValue) {\r\n this.subjectProperty.presentValue = this.subjectPropertyAddress.presentValue;\r\n }\r\n };\r\n\r\n onLookingForPreApprovalSelected = () => {\r\n this.hasPurchaseAgreement = false;\r\n this.haveSellerCredits = false;\r\n this.sellerCredits = undefined;\r\n this.earnestMoneyDeposit = undefined;\r\n this.purchaseAggreementDate = undefined;\r\n this.expectedCloseOfEscrowDate = undefined;\r\n if (this.subjectProperty?.presentValue) {\r\n this.subjectPropertyAddress.presentValue = this.subjectProperty.presentValue;\r\n }\r\n };\r\n\r\n onSubjectPropertyAddressTbdLabelChanged = (newLabel: string) => {\r\n this.step.subjectPropertyAddressTbdLabel = newLabel;\r\n }\r\n\r\n onHaveSellerCreditsQuestionAnswered = () => {\r\n if (!this.haveSellerCredits) {\r\n this.sellerCredits = undefined;\r\n }\r\n };\r\n\r\n onSellerCreditsChanged = () => {\r\n if (!this.sellerCredits || Number(this.sellerCredits) === 0) {\r\n this.sellerCredits = undefined;\r\n }\r\n };\r\n\r\n private persistTheChoiceForBorrowerKnowsTheZipCodeWhenSubjectPropertyAddressIsTbd = () => {\r\n let borrowerStepStatus = this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.find(b => b.borrowerId ==\r\n this.currentBorrower.borrowerId);\r\n if (!borrowerStepStatus) {\r\n borrowerStepStatus = new BorrowerStepStatus(this.wizardFlowService.context.currentBorrower.borrowerId!);\r\n this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.push(borrowerStepStatus);\r\n }\r\n if (!borrowerStepStatus.stepStatusValues) {\r\n borrowerStepStatus.stepStatusValues = {};\r\n }\r\n borrowerStepStatus.stepStatusValues[this.step.id] = {};\r\n borrowerStepStatus.stepStatusValues[this.step.id]['borrowerKnowsTheZipCodeWhenSubjectPropertyAddressIsTbd'] = this.subjectPropertyAddressComponent.isZipKnownByTheBorrower;\r\n }\r\n\r\n private setContractAndCloseOfEscrowDatesOnMortgage = () => {\r\n this.mortgageApplication.extension.purchaseAgreementContractSignedDate = this._utilsService.formatISODate(this.purchaseAggreementDate as string);\r\n this.mortgageApplication.extension.purchaseAgreementExpectedCOEDate = this._utilsService.formatISODate(this.expectedCloseOfEscrowDate as string);\r\n };\r\n\r\n private initializeContractAndCloseOfEscrowDates = () => {\r\n if (this.mortgageApplication.extension.purchaseAgreementContractSignedDate) {\r\n this.purchaseAggreementDate = this._utilsService.fromISOFormatToLocal(this.mortgageApplication.extension.purchaseAgreementContractSignedDate);\r\n }\r\n if (this.mortgageApplication.extension.purchaseAgreementExpectedCOEDate) {\r\n this.expectedCloseOfEscrowDate = this._utilsService.fromISOFormatToLocal(this.mortgageApplication.extension.purchaseAgreementExpectedCOEDate);\r\n }\r\n };\r\n\r\n private initializeSellerCreditsAndEarnestMoneyDepositValues = () => {\r\n const sellerCreditIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'SellerCredit'\r\n );\r\n this.haveSellerCredits = sellerCreditIndex >= 0;\r\n if (sellerCreditIndex >= 0) {\r\n this.sellerCredits =\r\n this.mortgageApplication.transactionDetail.purchaseCredits[\r\n sellerCreditIndex\r\n ].purchaseCreditAmount;\r\n }\r\n const emdIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'DepositOnSalesContract'\r\n );\r\n if (emdIndex >= 0) {\r\n this.earnestMoneyDeposit =\r\n this.mortgageApplication.transactionDetail.purchaseCredits[\r\n emdIndex\r\n ].purchaseCreditAmount;\r\n }\r\n };\r\n\r\n private removeSellerCreditsFromMortgage = () => {\r\n const sellerCreditIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'SellerCredit'\r\n );\r\n if (sellerCreditIndex >= 0) {\r\n this.mortgageApplication.transactionDetail.purchaseCredits.splice(\r\n sellerCreditIndex,\r\n 1\r\n );\r\n }\r\n };\r\n\r\n private removeSellerCreditsAndEarnestMoneyDepositFromMortgage = () => {\r\n this.removeSellerCreditsFromMortgage();\r\n const emdIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'DepositOnSalesContract'\r\n );\r\n if (emdIndex >= 0) {\r\n this.mortgageApplication.transactionDetail.purchaseCredits.splice(\r\n emdIndex,\r\n 1\r\n );\r\n }\r\n };\r\n\r\n private addSellerCreditsAndEarnestMoneyDepositToMortgage = () => {\r\n const sellerCredit = new PurchaseCredit();\r\n sellerCredit.purchaseCreditAmount = Number(this.sellerCredits);\r\n sellerCredit.purchaseCreditType = 'SellerCredit';\r\n\r\n const earnestMoneyDeposit = new PurchaseCredit();\r\n earnestMoneyDeposit.purchaseCreditAmount = Number(this.earnestMoneyDeposit);\r\n earnestMoneyDeposit.purchaseCreditType = 'DepositOnSalesContract';\r\n\r\n const sellerCreditIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'SellerCredit'\r\n );\r\n if (sellerCreditIndex >= 0) {\r\n this.mortgageApplication.transactionDetail.purchaseCredits[\r\n sellerCreditIndex\r\n ] = sellerCredit;\r\n } else {\r\n this.mortgageApplication.transactionDetail.purchaseCredits.push(\r\n sellerCredit\r\n );\r\n }\r\n const emdIndex =\r\n this.mortgageApplication.transactionDetail.purchaseCredits.findIndex(\r\n (pc) => pc.purchaseCreditType === 'DepositOnSalesContract'\r\n );\r\n if (emdIndex >= 0) {\r\n this.mortgageApplication.transactionDetail.purchaseCredits[emdIndex] =\r\n earnestMoneyDeposit;\r\n } else {\r\n this.mortgageApplication.transactionDetail.purchaseCredits.push(\r\n earnestMoneyDeposit\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 \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 {{getLabel('mortgageApplication.extension.purchaseAgreementContractSignedDate', 'When was the contract\r\n signed?')}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
{{getLabel('mortgageApplication.extension.purchaseAgreementExpectedCOEDate', 'When\r\n is the expected close of escrow?')}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {{getLabel('mortgageApplication.transactionDetail.purchaseCredits.earnestMoneyDeposit', 'How much is the earnest money deposit?')}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Are there any seller\r\n credits?\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 answer the question above, so that we can help you better with your application.
\r\n
\r\n
\r\n {{getLabel('mortgageApplication.transactionDetail.purchaseCredits.sellerCredits', 'What is the amount?')}}\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","import { Component, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { Address } from '../../../models/address-model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { AddressComponent } from '../../address/address.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'purchase-property-address',\r\n templateUrl: 'purchase-property-address.component.html'\r\n})\r\nexport class PurchasePropertyAddressComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChild(AddressComponent) addressComponent: AddressComponent | undefined;\r\n\r\n public address: Address = new Address();\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n constructor(private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n if (this._mortgageApplication.propertyAddress) {\r\n this.address = this._mortgageApplication.propertyAddress;\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n if (this.addressComponent?.validate()) {\r\n // you can safely save the address into the mortgage app.\r\n this._mortgageApplication.propertyAddress = this.address;\r\n super.onNextClicked();\r\n }\r\n }\r\n\r\n onBackClicked() {\r\n super.onBackClicked();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgbActiveModal, NgbPopover } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { MultiCheckboxPickerComponent } from 'projects/shared/multi-checkbox-picker/multi-checkbox-picker.component';\r\nimport { Address } from '../../../models/address-model';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { AddressComponent } from '../../address/address.component';\r\nimport { ConfigurableFieldHostComponent } from '../../configurable-field-host.component';\r\nimport { WizardFlowServiceBase } from '../../../services/wizard/wizard-flow-service.base';\r\nimport { UtilsService } from '../../../services/utils.service';\r\nimport { RealEstateOwned } from '../../../models/mortgage.model';\r\nimport { ReoExpenseBreakdownComponent } from '../reo-expense-breakdown/reo-expense-breakdown.component';\r\n\r\n@Component({\r\n selector: 'reo-dialog',\r\n templateUrl: 'reo-dialog.component.html',\r\n styleUrls: ['./reo-dialog.component.scss']\r\n})\r\n\r\nexport class RealEstateOwnedDialogComponent extends ConfigurableFieldHostComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('addressComponent') addressComponent: AddressComponent | undefined;\r\n\r\n @ViewChild('reoInfoForm') reoInfoForm: NgForm | undefined;\r\n\r\n @ViewChild(MultiCheckboxPickerComponent)\r\n borrowerPicker!: MultiCheckboxPickerComponent;\r\n\r\n @ViewChild('popover')\r\n reoExpenseBreakdownPopover: NgbPopover;\r\n\r\n @ViewChild('reoExpenseBreakdown')\r\n reoExpenseBreakdown: ReoExpenseBreakdownComponent | undefined;\r\n\r\n private _reo: RealEstateOwned;\r\n private _inEditMode: boolean = false;\r\n\r\n public address: Address = new Address();\r\n inCoApplyFlow: boolean = false;\r\n\r\n possibleBorrowers: EnumerationItem[] = [];\r\n disabledBorrowers: EnumerationItem[] = [];\r\n selectedBorrowers: EnumerationItem[] = [];\r\n\r\n public integerPattern = {\r\n 'X': { pattern: new RegExp('[1-9]') },\r\n 'Y': { pattern: new RegExp('[0-9]') }\r\n }\r\n\r\n protected willPropertyBeSold: string = 'no';\r\n\r\n protected isExpensesBrokenDown: boolean = false;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _enumsService: EnumsService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase) {\r\n super();\r\n this._reo = new RealEstateOwned();\r\n this._reo.dispositionStatus = 'Retained';\r\n this._reo.reoId = this._utilsService.generateUniqueNumericId();\r\n const allBorrowers = this._wizardFlowService.context.mortgage.borrowers;\r\n this.possibleBorrowers = allBorrowers.map(b => new EnumerationItem(b.firstName + \" \" + b.lastName, b.borrowerId !== undefined ? b.borrowerId.toString() : (-1 * (new Date()).valueOf()).toString()));\r\n this.inCoApplyFlow = this._wizardFlowService.inCoApplyFlow;\r\n }\r\n\r\n @Output()\r\n saveClickedForCreate = new EventEmitter();\r\n\r\n @Output()\r\n saveClickedForEdit = new EventEmitter();\r\n\r\n @Input()\r\n public set reo(reo: RealEstateOwned) {\r\n this._reo = reo;\r\n this.address.address1 = this._reo.address1;\r\n this.address.city = this._reo.city;\r\n this.address.zipCode = this._reo.zipCode;\r\n this.address.state = this._reo.state;\r\n this._inEditMode = true;\r\n if (!this._reo.dispositionStatus) {\r\n this._reo.dispositionStatus = 'Retained';\r\n }\r\n this.willPropertyBeSold = (this._reo.dispositionStatus === 'PendingSale' ? 'yes' : 'no');\r\n this.fixReoAcquiredDate();\r\n this.setTotalExpenses();\r\n }\r\n\r\n public get propertyTypes(): any[] {\r\n return this._enumsService.reoPropertyTypes;\r\n }\r\n\r\n public get usageTypes(): any[] {\r\n return this._enumsService.usageTypes;\r\n }\r\n\r\n public get reoStatusTypes(): any[] {\r\n return this._enumsService.reoStatusTypes;\r\n }\r\n\r\n public get reo(): RealEstateOwned {\r\n return this._reo;\r\n }\r\n\r\n public get inEditMode(): boolean {\r\n return this._inEditMode;\r\n }\r\n\r\n public get header(): string {\r\n if (this._inEditMode) {\r\n return \"Editing REO\";\r\n }\r\n return \"Add REO\";\r\n }\r\n\r\n onPropertyWillBeSoldChanged = () => {\r\n if (this.willPropertyBeSold === 'no') {\r\n this._reo.dispositionStatus = 'Retained';\r\n } else {\r\n this._reo.dispositionStatus = 'PendingSale';\r\n this._reo.intendedUsageType = null;\r\n }\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.reoInfoForm?.form.markAllAsTouched();\r\n if (this.reoInfoForm?.form.valid && this.addressComponent?.validate()) {\r\n this.activeModal.close();\r\n const owningBorrowerIds = this.borrowerPicker?.selectedItems.map(i => Number(i.value));\r\n this._reo.owningBorrowerIds = owningBorrowerIds;\r\n this._reo.address1 = this.address.address1!;\r\n this._reo.city = this.address.city!;\r\n this._reo.state = this.address.state!;\r\n this._reo.zipCode = this.address.zipCode!;\r\n if (this.inCoApplyFlow) {\r\n this._reo.owningBorrowerIds = [this._wizardFlowService.context.currentBorrower.borrowerId];\r\n } else {\r\n const owningBorrowerIds = this.borrowerPicker?.selectedItems.map(i => Number(i.value));\r\n this._reo.owningBorrowerIds = owningBorrowerIds;\r\n }\r\n if (this._inEditMode) {\r\n this.saveClickedForEdit.emit(this._reo);\r\n } else {\r\n this.saveClickedForCreate.emit(this._reo);\r\n }\r\n }\r\n }\r\n\r\n onPurchasePriceChanged = () => {\r\n if (!this.reo.purchasePrice) {\r\n this.reo.purchasePrice = undefined;\r\n }\r\n }\r\n\r\n onPropertyValueChanged = () => {\r\n if (!this.reo.marketValue) {\r\n this.reo.marketValue = undefined;\r\n }\r\n }\r\n\r\n protected onOpenReoExpenseBreakdownClicked = () => {\r\n this.reoExpenseBreakdownPopover.open({ reo: this._reo });\r\n }\r\n\r\n protected onOkClickedOnReoBreakdownPopover = (reo: RealEstateOwned) => {\r\n this._reo.monthlyMiscExpenses = reo.monthlyMiscExpenses;\r\n this._reo.hoa = reo.hoa;\r\n this._reo.propertyTax = reo.propertyTax;\r\n this._reo.hazardInsurance = reo.hazardInsurance;\r\n this.setTotalExpenses();\r\n }\r\n\r\n public get saveClickedEmitterForEdit(): EventEmitter {\r\n return this.saveClickedForEdit;\r\n }\r\n\r\n public get saveClickedEmitterForCreate(): EventEmitter {\r\n return this.saveClickedForCreate;\r\n }\r\n\r\n private setBorrowerPickerValues() {\r\n if (!this.inEditMode) {\r\n return;\r\n }\r\n let owningBorrowerIds: number[] = this.reo.owningBorrowerIds;\r\n if (!owningBorrowerIds) {\r\n return;\r\n }\r\n let enumerationItems: EnumerationItem[] = [];\r\n for (let i = 0; i < owningBorrowerIds.length; i++) {\r\n let borrower: Borrower | undefined = this._wizardFlowService.context.mortgage.borrowers.find(b => b.borrowerId === owningBorrowerIds[i]);\r\n if (borrower) {\r\n let enumerationItem = new EnumerationItem(borrower.firstName + \" \" + borrower.lastName, borrower.borrowerId!.toString());\r\n enumerationItems.push(enumerationItem);\r\n }\r\n }\r\n this.borrowerPicker.selectedItems = enumerationItems;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setBorrowerPickerValues();\r\n }\r\n\r\n protected onTotalExpensesChanged = () => {\r\n this._reo.monthlyMiscExpenses = this._reo['totalExpenses'];\r\n this.isExpensesBrokenDown = false;\r\n }\r\n\r\n private fixReoAcquiredDate = () => {\r\n if (this.reo.dateAcquired) {\r\n const dateAcquired = new Date(this.reo.dateAcquired);\r\n let monthString = \"\";\r\n let month = dateAcquired.getMonth() + 1;\r\n monthString = month >= 10 ? month.toLocaleString() : \"0\" + month;\r\n let dayString = \"\";\r\n let day = dateAcquired.getDate();\r\n dayString = day >= 10 ? day.toLocaleString() : \"0\" + day;\r\n this.reo.dateAcquired = monthString + '/' + dayString + '/' + dateAcquired.getFullYear();\r\n }\r\n }\r\n\r\n private setTotalExpenses = () => {\r\n const monthlyMiscExpenses = this.reo.monthlyMiscExpenses || 0;\r\n const hoa = this.reo.hoa || 0;\r\n const insurance = this.reo.hazardInsurance || 0;\r\n const propertyTax = this.reo.propertyTax || 0;\r\n this.reo['totalExpenses'] = monthlyMiscExpenses + hoa + insurance + propertyTax;\r\n this.isExpensesBrokenDown = hoa > 0 || insurance > 0 || propertyTax > 0;\r\n }\r\n}\r\n\r\n","\r\n\r\n
\r\n\r\n

{{header}}

\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
Property Type is required.
\r\n
\r\n
\r\n \r\n \r\n
Property Value is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Purchase Price is required.
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Date Acquired is required.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
This field is required.
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
This field 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
\r\n\r\n \r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { RealEstateOwned } from '../../../models/mortgage.model';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'reo-expense-breakdown',\r\n templateUrl: 'reo-expense-breakdown.component.html',\r\n styleUrls: ['./reo-expense-breakdown.component.scss']\r\n})\r\nexport class ReoExpenseBreakdownComponent implements OnInit {\r\n\r\n @Input()\r\n set reo(reo: RealEstateOwned) {\r\n if (reo) {\r\n this._reo = _.cloneDeep(reo);\r\n }\r\n }\r\n\r\n get reo(): RealEstateOwned {\r\n return this._reo;\r\n }\r\n\r\n @Output()\r\n okClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n cancelClicked: EventEmitter = new EventEmitter();\r\n\r\n private _reo: RealEstateOwned;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n protected onOkClicked = () => {\r\n this.okClicked.emit(this.reo);\r\n }\r\n\r\n protected onCancelClicked = () => {\r\n this.cancelClicked.emit();\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","import { Component, ComponentFactoryResolver, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\nimport { RealEstateOwnedItem } from '../../../models/real-estate-owned-item-model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { ReoExpenseBreakdownComponent } from '../reo-expense-breakdown/reo-expense-breakdown.component';\r\n\r\n@Component({\r\n selector: 'reo-item',\r\n templateUrl: 'reo-item.component.html'\r\n})\r\n\r\nexport class RealEstateOwnedItemComponent implements OnInit {\r\n\r\n @ViewChild(SvgIconHostDirective, {static: true}) svgIconHost!: SvgIconHostDirective;\r\n\r\n @ViewChild(ReoExpenseBreakdownComponent, {static: true})\r\n reoExpenseBreakdownComponent!: ReoExpenseBreakdownComponent\r\n\r\n constructor(private readonly _svgIconFactory: SvgIconComponentFactory,\r\n private _componentFactoryResolver: ComponentFactoryResolver,\r\n private readonly _enumsService: EnumsService) { }\r\n\r\n @Input()\r\n reoItem!: RealEstateOwnedItem;\r\n\r\n @Output() deleteClicked = new EventEmitter();\r\n @Output() editClicked = new EventEmitter();\r\n\r\n public deleteAttempted: boolean = false;\r\n\r\n public get isReadOnly(): boolean {\r\n return this.reoItem.isReadOnly;\r\n }\r\n\r\n getDeleteClickedEmitter = (): EventEmitter => {\r\n return this.deleteClicked;\r\n }\r\n\r\n getEditClickedEmitter = (): EventEmitter => {\r\n return this.editClicked;\r\n }\r\n\r\n onDeleteClicked = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = true;\r\n }\r\n\r\n onDeleteConfirmed = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = false;\r\n this.deleteClicked.emit(this.reoItem);\r\n }\r\n\r\n onDeleteAborted = (e: any) => {\r\n e.cancelBubble = true;\r\n if(e.stopPropagation) e.stopPropagation();\r\n this.deleteAttempted = false;\r\n }\r\n\r\n onEditClicked = () => {\r\n this.editClicked.emit(this.reoItem);\r\n }\r\n\r\n public get propertyTypeName(): string {\r\n return this._enumsService.reoPropertyTypeName(this.reoItem.propertyType!);\r\n }\r\n\r\n private get iconName(): string {\r\n return \"duotone-home\";\r\n }\r\n\r\n private loadIcon = () => {\r\n const iconName = this.iconName;\r\n if (!iconName) {\r\n return;\r\n }\r\n const svgIconComponent = this._svgIconFactory.getSvIconComponent(iconName);\r\n if (!svgIconComponent) {\r\n return;\r\n }\r\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(svgIconComponent);\r\n\r\n const viewContainerRef = this.svgIconHost.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n ngOnInit() {\r\n this.loadIcon();\r\n }\r\n}\r\n","
\r\n\r\n \r\n \r\n \r\n
\r\n {{reoItem.address}}\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 {{reoItem.address}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{reoItem.reoOwners}} \r\n
\r\n
\r\n \r\n {{propertyTypeName}} \r\n
\r\n
\r\n \r\n {{reoItem.propertyValue | currency: 'USD':true:'2.0' }} \r\n
\r\n
\r\n
\r\n
","import { Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { ConfigurableFieldHostComponent } from '../../configurable-field-host.component';\r\nimport { RealEstateOwned } from '../../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'reo-properties',\r\n templateUrl: 'reo-properties.component.html'\r\n})\r\nexport class ReoPropertiesComponent extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @Input()\r\n set reo(reo: RealEstateOwned) {\r\n this._reo = reo;\r\n if (!this._reo.dispositionStatus) {\r\n this._reo.dispositionStatus = 'Retained';\r\n }\r\n this.willPropertyBeSold = (this._reo.dispositionStatus === 'PendingSale' ? 'yes' : 'no');\r\n }\r\n\r\n get reo(): RealEstateOwned {\r\n return this._reo;\r\n }\r\n\r\n @ViewChild('reoPropertiesForm')\r\n reoPropertiesForm: NgForm;\r\n\r\n reoStatusTypes: EnumerationItem[] = [];\r\n usageTypes: EnumerationItem[] = [];\r\n propertyTypes: EnumerationItem[] = [];\r\n\r\n uniqueId: number;\r\n\r\n protected isMobile: boolean = false;\r\n\r\n protected willPropertyBeSold: string = 'no';\r\n\r\n private _reo: RealEstateOwned = new RealEstateOwned();\r\n\r\n constructor(private readonly _enumsService: EnumsService) {\r\n super();\r\n this.reoStatusTypes = this._enumsService.reoStatusTypes;\r\n this.usageTypes = this._enumsService.usageTypes;\r\n this.propertyTypes = this._enumsService.reoPropertyTypes;\r\n this.uniqueId = Date.now() & 0xffffffff;\r\n this.uniqueId = this.uniqueId < 0 ? this.uniqueId * -1 : this.uniqueId;\r\n }\r\n\r\n ngOnInit() {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n onPropertyWillBeSoldChanged = () => {\r\n if (this.willPropertyBeSold === 'no') {\r\n this.reo.dispositionStatus = 'Retained';\r\n } else {\r\n this.reo.dispositionStatus = 'PendingSale';\r\n this.reo.intendedUsageType = null;\r\n }\r\n }\r\n\r\n onPurchasePriceChanged = () => {\r\n if (!this.reo.purchasePrice) {\r\n this.reo.purchasePrice = undefined;\r\n }\r\n }\r\n\r\n onPropertyValueChanged = () => {\r\n if (!this.reo.marketValue) {\r\n this.reo.marketValue = undefined;\r\n }\r\n }\r\n\r\n validate = (): boolean => {\r\n if (this.reoPropertiesForm) {\r\n this.reoPropertiesForm.form.markAllAsTouched();\r\n return this.reoPropertiesForm.form.valid;\r\n }\r\n return false;\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 768\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
Property Type is required.
\r\n
\r\n
\r\n \r\n \r\n
Property Value is required.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Purchase Price is required.
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Date Acquired is required.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n \r\n \r\n
This field is required.
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Injector, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport * as _ from 'lodash';\r\nimport { RealEstateOwnedStep } from '../../../models/wizard/reo-step.model';\r\nimport { RealEstateOwnedDialogComponent } from '../reo-dialog/reo-dialog.component';\r\nimport { RealEstateOwnedItem } from '../../../models/real-estate-owned-item-model';\r\nimport { RealEstateOwnedItemComponent } from '../reo-item/reo-item.component';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { WizardFlowServiceBase } from '../../../services/wizard/wizard-flow-service.base';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { RealEstateOwned } from '../../../models/mortgage.model';\r\n\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'reo-step',\r\n templateUrl: 'reo-step.component.html'\r\n})\r\nexport class RealEstateOwnedStepComponent extends WizardStepComponentBase implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChildren('reoItem') reoItemComponents: QueryList | undefined;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reo-main\"\r\n };\r\n\r\n reoItems: RealEstateOwnedItem[] = [];\r\n\r\n private _isValid = true;\r\n private _subscriptionToReoSavedForCreate: any;\r\n private _subscriptionToReoSavedForEdit: any;\r\n\r\n constructor(private readonly _modalService: ModalService,\r\n private readonly _injector: Injector,\r\n private readonly _enumService: EnumsService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.populateReoItems();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this._subscriptionToReoSavedForCreate) {\r\n this._subscriptionToReoSavedForCreate.unsubscribe();\r\n }\r\n if (this._subscriptionToReoSavedForEdit) {\r\n this._subscriptionToReoSavedForEdit.unsubscribe();\r\n }\r\n }\r\n\r\n onAddRealEstateOwnedClicked = () => {\r\n if (!this.inEditMode) {\r\n this.showRealEstateOwnedPopup();\r\n }\r\n }\r\n\r\n onReoItemDeleted = (reoItem: RealEstateOwnedItem) => {\r\n const index = this.reoItems.indexOf(reoItem);\r\n const reos = this.mortgageApplication.realEstateOwned;\r\n if (index >= 0) {\r\n this.reoItems.splice(index, 1);\r\n }\r\n if (!reos) {\r\n return;\r\n }\r\n const reoToDelete = reos.find(i => i.reoId === reoItem.id);\r\n if (reoToDelete) {\r\n const index = reos?.indexOf(reoToDelete);\r\n reos.splice(index, 1);\r\n }\r\n const relatedLiabilities = this.mortgageApplication.liabilities?.filter(l => l.reoId === reoItem.id);\r\n relatedLiabilities.forEach(liability => {\r\n liability.reoId = null;\r\n });\r\n this.checkReoItemsValid();\r\n }\r\n\r\n onReoItemEditClicked = (reoItem: RealEstateOwnedItem) => {\r\n const reoItemToEdit = this.reoItems.find(i => i.id === reoItem.id);\r\n if (!reoItemToEdit) {\r\n return;\r\n }\r\n const reoToEdit = this.mortgageApplication.realEstateOwned?.find(e => e.reoId === reoItem.id);\r\n if (reoToEdit) {\r\n this.showRealEstateOwnedPopup(_.cloneDeep(reoToEdit));\r\n }\r\n }\r\n\r\n onNextClicked() {\r\n if (!this._isValid) {\r\n let invalidItem: RealEstateOwnedItem;\r\n this.reoItems.forEach(reoItem => {\r\n if (!reoItem.isValid) {\r\n invalidItem = reoItem;\r\n }\r\n });\r\n const reoToEdit = this.mortgageApplication.realEstateOwned?.find(e => e.reoId === invalidItem.id);\r\n if (reoToEdit) {\r\n this.showRealEstateOwnedPopup(_.cloneDeep(reoToEdit));\r\n return;\r\n }\r\n } else {\r\n super.onNextClicked();\r\n }\r\n }\r\n\r\n private checkReoItemsValid() {\r\n for (let i = 0; i < this.reoItems.length; i++) {\r\n if (!this.reoItems[i].isValid) {\r\n this._isValid = false;\r\n return;\r\n }\r\n }\r\n this._isValid = true;\r\n }\r\n\r\n private populateReoItems() {\r\n this.mortgageApplication.realEstateOwned?.forEach(reo => {\r\n let reoItem = this.toReoItem(reo);\r\n if (reoItem) {\r\n this.reoItems.push(reoItem)\r\n }\r\n });\r\n this.checkReoItemsValid();\r\n }\r\n\r\n private showRealEstateOwnedPopup(reo?: RealEstateOwned) {\r\n const modal = this._modalService.show(RealEstateOwnedDialogComponent, this.modalOptions);\r\n if (reo) {\r\n modal.componentInstance.reo = reo;\r\n } else {\r\n modal.componentInstance.selectedBorrowers = [new EnumerationItem(this.currentBorrower.firstName,\r\n this.currentBorrower.borrowerId?.toString(),)]\r\n }\r\n modal.componentInstance.inCoApplyFlow = this.wizardFlowService.inCoApplyFlow;\r\n modal.componentInstance.fieldsToConfig = this.step.fieldConfig;\r\n this._subscriptionToReoSavedForCreate = modal.componentInstance.saveClickedEmitterForCreate\r\n .subscribe((e: RealEstateOwned) => this.onSaveClickedOnReoModalForCreate(e));\r\n this._subscriptionToReoSavedForEdit = modal.componentInstance.saveClickedEmitterForEdit\r\n .subscribe((e: RealEstateOwned) => this.onSaveClickedOnReoModalForEdit(e));\r\n }\r\n\r\n private isReoValid(reo: RealEstateOwned): boolean {\r\n // reoStepFieldConfig[\"reo.typeOfProperty\"] = new FieldConfig(\"reo.typeOfProperty\", \"Property Type\");\r\n // reoStepFieldConfig[\"reo.marketValue\"] = new FieldConfig(\"reo.marketValue\", \"Property Value\");\r\n // reoStepFieldConfig[\"reo.currentUsageType\"] = new FieldConfig(\"reo.currentUsageType\", \"How do you currently use this property?\");\r\n // reoStepFieldConfig[\"reo.intendedUsageType\"] = new FieldConfig(\"reo.intendedUsageType\", \"How do you plan on using this property?\");\r\n // reoStepFieldConfig[\"reo.dispositionStatus\"] = new FieldConfig(\"reo.dispositionStatus\", \"What are your plans for this property?\");\r\n // reoStepFieldConfig[\"reo.amountOfMortgage\"] = new FieldConfig(\"reo.amountOfMortgage\", \"Current balance of existing liens on this property?\");\r\n // reoStepFieldConfig[\"reo.mortgagePayment\"] = new FieldConfig(\"reo.mortgagePayment\", \"Monthly Payment\");\r\n // reoStepFieldConfig[\"reo.monthlyMiscExpenses\"] = new FieldConfig(\"reo.monthlyMiscExpenses\", \"Insurance, HOA, Tax\");\r\n // reoStepFieldConfig[\"reo.purchasePrice\"] = new FieldConfig(\"reo.purchasePrice\", \"Purchase Price\");\r\n // reoStepFieldConfig[\"reo.dateAcquired\"] = new FieldConfig(\"reo.dateAcquired\", \"Date Acquired\");\r\n if ((!reo.address1 || reo.address1.length === 0) && (!reo.address2 || reo.address2.length === 0)) {\r\n return false;\r\n }\r\n if (!reo.city || reo.city.length === 0) {\r\n return false;\r\n }\r\n if (!reo.state || reo.state.length === 0) {\r\n return false;\r\n }\r\n if (!reo.zipCode || reo.zipCode.length === 0) {\r\n return false;\r\n }\r\n if (!this.isHidden(\"reo.typeOfProperty\")) {\r\n if (this.isRequired(\"reo.typeOfProperty\")) {\r\n if (reo.typeOfProperty == null || reo.typeOfProperty.length === 0) {\r\n return false;\r\n }\r\n if (!this._enumService.reoPropertyTypes.find(p => p.value == reo.typeOfProperty)) {\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isHidden(\"reo.marketValue\") && this.isRequired(\"reo.marketValue\")) {\r\n if (reo.marketValue == null) {\r\n return false;\r\n }\r\n }\r\n if (!this.isHidden(\"reo.purchasePrice\") && this.isRequired(\"reo.purchasePrice\")) {\r\n if (reo.purchasePrice == null) {\r\n return false;\r\n }\r\n }\r\n if (!this.isHidden(\"reo.dateAcquired\") && this.isRequired(\"reo.dateAcquired\")) {\r\n if (reo.dateAcquired == null) {\r\n return false;\r\n }\r\n }\r\n if (!this.isHidden(\"reo.currentUsageType\")) {\r\n if (this.isRequired(\"reo.currentUsageType\")) {\r\n if (reo.currentUsageType == null || reo.currentUsageType.length === 0) {\r\n return false;\r\n }\r\n if (!this._enumService.usageTypes.find(u => u.value == reo.currentUsageType)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (!this.isHidden(\"reo.intendedUsageType\")) {\r\n if (this.isRequired(\"reo.intendedUsageType\") && (reo.dispositionStatus !== 'PendingSale')) {\r\n if (reo.intendedUsageType == null || reo.intendedUsageType.length === 0) {\r\n return false;\r\n }\r\n if (!this._enumService.usageTypes.find(u => u.value == reo.intendedUsageType)) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (!this.isHidden(\"reo.dispositionStatus\")) {\r\n if (this.isRequired(\"reo.dispositionStatus\")) {\r\n if (reo.dispositionStatus == null || reo.dispositionStatus.length === 0) {\r\n return false;\r\n }\r\n if (!this._enumService.reoStatusTypes.find(r => r.value == reo.dispositionStatus)) {\r\n return false;\r\n }\r\n }\r\n }\r\n if (!this.isHidden(\"reo.amountOfMortgage\") && this.isRequired(\"reo.amountOfMortgage\")) {\r\n if (reo.amountOfMortgage == null) {\r\n return false;\r\n }\r\n }\r\n if (!reo.owningBorrowerIds || reo.owningBorrowerIds.length === 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private toReoItem = (reo: RealEstateOwned): RealEstateOwnedItem | undefined => {\r\n let owningBorrowerIds: number[] = reo.owningBorrowerIds;\r\n if (this._wizardFlowService.inCoApplyFlow) {\r\n // In co-apply flow, you're not supposed to see assets that you do not have ownership on\r\n if (!reo.owningBorrowerIds.includes(this._wizardFlowService.context.currentBorrower.borrowerId!)) {\r\n return undefined;\r\n }\r\n }\r\n let owners: string = \"\";\r\n if (!owningBorrowerIds) {\r\n return new RealEstateOwnedItem(reo.reoId!, reo.address1!, reo.typeOfProperty!,\r\n reo.marketValue!, owners, this.isReoValid(reo));\r\n }\r\n\r\n for (let i = 0; i < owningBorrowerIds.length; i++) {\r\n let borrower: Borrower | undefined = this.mortgageApplication.borrowers.find(b => b.borrowerId === owningBorrowerIds[i]);\r\n if (borrower) {\r\n owners = owners + \" \" + borrower.firstName + \" \" + borrower.lastName;\r\n }\r\n if (i != owningBorrowerIds.length - 1) {\r\n owners = owners + \",\";\r\n }\r\n }\r\n\r\n let reoItem = new RealEstateOwnedItem(reo.reoId!, reo.address1!, reo.typeOfProperty!,\r\n reo.marketValue!, owners, this.isReoValid(reo));\r\n if (this._wizardFlowService.inCoApplyFlow) {\r\n reoItem.isReadOnly = reo.owningBorrowerIds.length > 1;\r\n }\r\n return reoItem;\r\n }\r\n\r\n private onSaveClickedOnReoModalForCreate = (reo: RealEstateOwned): void => {\r\n this.mortgageApplication.realEstateOwned?.push(reo);\r\n\r\n const reoItem = this.toReoItem(reo);\r\n if (reoItem) {\r\n this.reoItems.push(reoItem);\r\n this.checkReoItemsValid();\r\n }\r\n }\r\n\r\n private onSaveClickedOnReoModalForEdit = (reo: RealEstateOwned): void => {\r\n const reos = this.mortgageApplication.realEstateOwned;\r\n if (reos) {\r\n const existingReo = reos?.find(e => e.reoId === reo.reoId);\r\n if (existingReo) {\r\n const index = reos?.indexOf(existingReo);\r\n reos[index] = reo;\r\n }\r\n }\r\n var reoItem = this.reoItems.find(i => i.id === reo.reoId);\r\n if (reoItem) {\r\n const indexItem = this.reoItems.indexOf(reoItem);\r\n let updatedReoItem = this.toReoItem(reo);\r\n if (updatedReoItem) {\r\n updatedReoItem.isValid = this.isReoValid(reo);\r\n this.reoItems[indexItem] = updatedReoItem;\r\n }\r\n this.checkReoItemsValid();\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","import { Component, Injector, ViewChild } from '@angular/core';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { ReviewApplicationStep } from '../../../models/wizard/review-application.model';\r\nimport { BorrowerSummaryComponent } from '../../borrower-summary/borrower-summary.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { SubjectProperty } from '../../../models/subject-property.model';\r\nimport { MortgageTerm } from '../../../models/mortgage-term.model';\r\nimport { TransactionDetail } from \"../../../models/transaction-detail.model\";\r\nimport { ModalService } from \"../../../../../../shared/modal/modal.service\";\r\nimport { NgbModalOptions } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { LoanSummaryDialogComponent } from \"../../loan-summary-dialog/loan-summary-dialog.component\";\r\nimport { SubjectPropertySummaryDialogComponent } from \"../../subject-property-summary-dialog/subject-property-summary-dialog.component\";\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { LoanSummaryComponent } from '../../loan-summary/loan-summary.component';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { MortgageCalculationsService } from '../../../services/mortgage-calculations.service';\r\nimport { UrlaMortgage } from '../../../models/urla-mortgage.model';\r\nimport { NavigationService } from '../../../services/navigation.service';\r\nimport { Constants } from '../../../services/constants';\r\n\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'review-application-step',\r\n templateUrl: 'review-application-step.component.html'\r\n})\r\nexport class ReviewApplicationStepComponent extends WizardStepComponentBase {\r\n\r\n @ViewChild(BorrowerSummaryComponent) borrowerSummary!: BorrowerSummaryComponent;\r\n\r\n @ViewChild(LoanSummaryComponent) loanSummarySummary!: LoanSummaryComponent;\r\n\r\n borrowerSummaryExpanded: boolean = false;\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = [];\r\n\r\n isSubmitted: boolean = false;\r\n\r\n constructor(\r\n private readonly _injector: Injector,\r\n private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _mortgageCalculationsService: MortgageCalculationsService,\r\n private readonly _modalService: ModalService) {\r\n super(_injector);\r\n if (this.currentBorrower) {\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.mortgageApplication.borrowers.filter(b => b.primaryEmail.toLocaleLowerCase() !==\r\n this.mainBorrower.primaryEmail.toLocaleLowerCase());\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.nextButtonText = \"Submit Your Information\";\r\n }\r\n\r\n get borrowers(): Borrower[] {\r\n return this.mortgageApplication.borrowers;\r\n }\r\n\r\n get subjectProperty(): SubjectProperty {\r\n return this.mortgageApplication && this.mortgageApplication.subjectProperty ? this.mortgageApplication.subjectProperty : new SubjectProperty();\r\n }\r\n\r\n get purchasePrice(): number {\r\n if (this.mortgageApplication && this.mortgageApplication.transactionDetail\r\n && this.mortgageApplication.transactionDetail.purchasePriceAmount) {\r\n return this.mortgageApplication.transactionDetail.purchasePriceAmount;\r\n }\r\n return 0;\r\n }\r\n\r\n get mortgageTerm(): MortgageTerm {\r\n return this.mortgageApplication && this.mortgageApplication.mortgageTerm ? this.mortgageApplication.mortgageTerm : new MortgageTerm();\r\n }\r\n\r\n get transactionDetail(): TransactionDetail {\r\n return this.mortgageApplication && this.mortgageApplication.transactionDetail ? this.mortgageApplication.transactionDetail : new TransactionDetail();\r\n }\r\n\r\n onLoanSummaryEditClicked = () => {\r\n this.showLoanSummaryPopup();\r\n }\r\n\r\n onSubjectPropertySummaryEditClicked = () => {\r\n this.showSubjectPropertySummaryPopup();\r\n }\r\n\r\n onBorrowerChanged = (borrower: Borrower) => {\r\n const borrowerThatChanged = this.borrowers.find(b => b.borrowerId === borrower.borrowerId);\r\n if (borrowerThatChanged) {\r\n const index = this.borrowers.indexOf(borrowerThatChanged);\r\n if (index >= 0) {\r\n const changedBorrower = { ...borrower }\r\n this.borrowers[index] = changedBorrower;\r\n if (this.mainBorrower.borrowerId === borrower.borrowerId) {\r\n this.mainBorrower = changedBorrower;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onLoanDetailsClicked = () => {\r\n this.showLoanSummaryPopup();\r\n }\r\n\r\n onSubjectPropertyDetailsClicked = () => {\r\n this.showSubjectPropertySummaryPopup();\r\n }\r\n\r\n onNextClicked() {\r\n if (this.isEditEnabled) {\r\n this.isSubmitted = true;\r\n return;\r\n }\r\n this.startSpinner();\r\n this.wizardFlowService.context.borrowerAppStatus.details.applicationSubmitted = true;\r\n\r\n // TODO - kkilinc: There are 2 mortgage models in place right now, unify them!!\r\n const urlaMortgage = this.mortgageApplication as unknown as UrlaMortgage;\r\n\r\n this._mortgageCalculationsService.calculateMortgageStatistics(urlaMortgage);\r\n\r\n this.mortgageApplication.transactionDetail.cashFromToBorrowerAmount = urlaMortgage.calculatedStats?.cashFromOrToTheBorrower;\r\n\r\n this.wizardFlowService.saveMortgage().subscribe(result => {\r\n this.mortgageApplicationService.saveAppStatus(this.wizardFlowService.context.mortgage.applicationId,\r\n this.wizardFlowService.context.mortgage.mortgageId, this.wizardFlowService.context!.currentBorrower!.borrowerId!,\r\n this.wizardFlowService.context.borrowerAppStatus).subscribe(result => {\r\n this.mortgageApplicationService.submitApplication(this.mortgageApplication.applicationId).pipe(\r\n finalize(() => {\r\n this.stopSpinner();\r\n })\r\n ).subscribe(\r\n response => {\r\n Swal.fire(\r\n 'Success!',\r\n 'Your application has been successfully submitted.',\r\n 'success'\r\n );\r\n this.redirectToBorrowerPortal();\r\n },\r\n error => {\r\n this.displayError();\r\n }\r\n )\r\n }, error => {\r\n this.displayError();\r\n })\r\n }, error => {\r\n this.displayError();\r\n });\r\n }\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"#reviewApplication\"\r\n };\r\n\r\n private showSubjectPropertySummaryPopup() {\r\n const modal = this._modalService.show(SubjectPropertySummaryDialogComponent, this.modalOptions);\r\n modal.componentInstance.subjectProperty = this.mortgageApplication.subjectProperty;\r\n modal.result.then(subjectProperty => {\r\n this.mortgageApplication.subjectProperty = subjectProperty;\r\n }, error => { });\r\n }\r\n\r\n private displayError = () => {\r\n const errorTitle = \"Error!\";\r\n const errorMessage = \"Something went wrong, please try again\";\r\n const error = new ErrorMessage(errorTitle, errorMessage);\r\n this.showError(error);\r\n }\r\n\r\n private redirectToBorrowerPortal = () => {\r\n this._mortgageApplicationService.getBorrowerPortalUrl().subscribe(url => {\r\n setTimeout(() => {\r\n //redirect\r\n if (!url.endsWith(\"/\")) {\r\n url += \"/\";\r\n }\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n const authDataObj = JSON.parse(localStorage.getItem(authorizationDataKey)!);\r\n const token = authDataObj.token;\r\n let redirectUrl = \"https://\" + url + \"borrower-portal/submit-app-redirect/\"\r\n + this._mortgageApplicationService.mortgageApplication.applicationId + \"?authToken=\" + token;\r\n window.location.href = redirectUrl;\r\n }, 2000);\r\n }, error => {\r\n\r\n })\r\n }\r\n\r\n private showLoanSummaryPopup() {\r\n const modal = this._modalService.show(LoanSummaryDialogComponent, this.modalOptions);\r\n modal.componentInstance.subjectProperty = this.mortgageApplication.subjectProperty;\r\n modal.componentInstance.mortgageTerm = this.mortgageApplication.mortgageTerm;\r\n modal.componentInstance.transactionDetail = this.mortgageApplication.transactionDetail;\r\n modal.componentInstance.fieldsToConfig = this.step.fieldConfig;\r\n modal.result.then(result => {\r\n this.mortgageApplication.subjectProperty = result.subjectProperty;\r\n this.mortgageApplication.mortgageTerm = result.mortgageTerm;\r\n this.mortgageApplication.transactionDetail = result.transactionDetail;\r\n this.loanSummarySummary.calculateEstimatedLtv();\r\n }, error => { });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Will not submit the application!
\r\n You're an admin editing the flow. You will not be able to submit an application.\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Allow Editing of Subject Property:
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Show Subject Property Details:
\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 Edit\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n Edit\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { ReviewCreditStep } from '../../../models/wizard/review-credit-step.model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { Liability, RealEstateOwned } from '../../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'review-credit-step',\r\n templateUrl: 'review-credit-step.component.html'\r\n})\r\nexport class ReviewCreditStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n }\r\n\r\n liabilities: Liability[] = [];\r\n reos: RealEstateOwned[] = [];\r\n\r\n ngOnInit() {\r\n this.reos = this.mortgageApplication.realEstateOwned;\r\n if (this.inCoApplyFlow) {\r\n this.reos = this.reos.filter(r => r.owningBorrowerIds.includes(this.currentBorrower.borrowerId!));\r\n }\r\n this.liabilities = this.mortgageApplication.liabilities\r\n .filter(r => r.typeOfLiability == '4' || r.typeOfLiability == '8')\r\n .sort((a, b) => (a.liabilityId && b.liabilityId && a.liabilityId < b.liabilityId) ? 1 : -1);\r\n if (this.inCoApplyFlow) {\r\n this.liabilities = this.liabilities.filter(l => l.owningBorrowerIds.includes(this.currentBorrower.borrowerId!));\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","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { Originator } from '../../../models/originator.model';\r\nimport { SelectOriginatorStep } from '../../../models/wizard/select-originator-step.model';\r\nimport { UtilsService } from '../../../services/utils.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'select-originator-step',\r\n templateUrl: 'select-originator-step.component.html',\r\n styleUrls: ['select-originator-step.component.scss']\r\n})\r\n\r\nexport class SelectOriginatorStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n originators: Originator[] = [];\r\n\r\n filteredOriginators: Originator[] = [];\r\n\r\n searchText: string = \"\";\r\n\r\n loading: boolean = false;\r\n\r\n private _companyGuid: string = \"\";\r\n private _branchGuid: string = \"\";\r\n\r\n public get userGuid() {\r\n return this.mortgageApplication.userGuid;\r\n }\r\n\r\n constructor(private readonly _injector: Injector, private readonly _utilsService: UtilsService) {\r\n super(_injector);\r\n this._companyGuid = this._utilsService.getUrlParameter(\"companyGuid\");\r\n this._branchGuid = this._utilsService.getUrlParameter(\"branchGuid\");\r\n }\r\n\r\n onCardClicked = (userGuid: string) => {\r\n this.mortgageApplication.userGuid = userGuid;\r\n this.onNextClicked();\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return this.mortgageApplication.userGuid !== \"unassigned\";\r\n }\r\n\r\n searchTextChange = () => {\r\n setTimeout(() => {\r\n this.filteredOriginators = this.originators.filter(t => {\r\n const fullName = t.firstName.toLowerCase() + \" \" + t.lastName.toLowerCase();\r\n return fullName.includes(this.searchText.toLowerCase());\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.wizardFlowService.isEditEnabled && !this.wizardFlowService.inPreviewMode) {\r\n this.loading = true;\r\n this.mortgageApplicationService.getOriginators(this._companyGuid, this._branchGuid).subscribe(originators => {\r\n this.originators = originators.filter(user => !(user.firstName === \"Admin\" && user.lastName === \"Account\"));\r\n this.filteredOriginators = [...this.originators];\r\n this.loading = false;\r\n }, error => {\r\n\r\n }).add(() => { this.loading = false; });\r\n } else {\r\n const originator1 = new Originator();\r\n originator1.firstName = \"John\";\r\n originator1.lastName = \"Doe\";\r\n const originator2 = new Originator();\r\n originator2.firstName = \"Jane\";\r\n originator2.lastName = \"Doe\";\r\n this.originators.push(originator1);\r\n this.originators.push(originator2);\r\n }\r\n this.filteredOriginators = [...this.originators];\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","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { TypeOfIncome } from '../../../models/enums/type-of-income.enum';\r\nimport { Income } from '../../../models/income-model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { BorrowerPicker } from '../../borrower-picker/borrower-picker.component';\r\nimport { ConfigurableFieldHostComponent } from '../../configurable-field-host.component';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'simple-income-dialog',\r\n templateUrl: 'simple-income-dialog.component.html'\r\n})\r\nexport class SimpleIncomeDialogComponent extends ConfigurableFieldHostComponent implements OnInit {\r\n\r\n @ViewChild('incomeInfoForm') incomeInfoForm: NgForm | undefined;\r\n @ViewChild(BorrowerPicker) borrowerPicker: BorrowerPicker | undefined;\r\n\r\n @Input() borrowers: Borrower[] = [];\r\n\r\n @Input()\r\n public set income(income: Income) {\r\n this._income = income;\r\n this._editorIncomeType = this.income.typeOfIncome;\r\n this._inEditMode = true;\r\n }\r\n\r\n public get income(): Income {\r\n return this._income;\r\n }\r\n\r\n public header: string | undefined;\r\n public label: string | undefined;\r\n\r\n public get inEditMode(): boolean {\r\n return this._inEditMode;\r\n }\r\n\r\n otherIncomeTypes: EnumerationItem[] = [];\r\n\r\n set editorIncomeType(typeOfIncome: TypeOfIncome) {\r\n this._editorIncomeType = typeOfIncome;\r\n this._income.typeOfIncome = this._editorIncomeType;\r\n }\r\n\r\n get editorIncomeType(): TypeOfIncome {\r\n return this._editorIncomeType;\r\n }\r\n\r\n private _income: Income;\r\n private _inEditMode: boolean = false;\r\n private _editorIncomeType: TypeOfIncome = TypeOfIncome.OtherTypesOfIncome;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private readonly _enumsService: EnumsService) {\r\n super();\r\n this._income = new Income();\r\n this._income.typeOfIncome = this._editorIncomeType;\r\n this._enumsService.getMortgageEnumerations().subscribe(enums => {\r\n this.otherIncomeTypes = _.orderBy(enums['IncomeType'].filter(t => this.filterIncomesTypesThatAreNotInOtherCategory(t.value)), x => x.name);\r\n });\r\n }\r\n\r\n onSaveClicked = () => {\r\n this.incomeInfoForm?.form.markAllAsTouched();\r\n let borrowerValid = true;\r\n if (this.borrowerPicker) {\r\n borrowerValid = this.borrowerPicker.validate();\r\n }\r\n if (this.incomeInfoForm?.form.valid && borrowerValid) {\r\n this.activeModal.close(this._income);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._income.incomeId) {\r\n if (this.borrowers.length > 0) {\r\n this._income.borrowerId = this.borrowers[0].borrowerId;\r\n }\r\n }\r\n }\r\n\r\n private filterIncomesTypesThatAreNotInOtherCategory = (incomeType: string): boolean => {\r\n return !(incomeType == TypeOfIncome.Base ||\r\n incomeType == TypeOfIncome.Bonus ||\r\n incomeType == TypeOfIncome.Commissions ||\r\n incomeType == TypeOfIncome.Pension ||\r\n incomeType == TypeOfIncome.SocialSecurity ||\r\n incomeType == TypeOfIncome.NetRentalIncome ||\r\n incomeType == TypeOfIncome.MilitaryBasePay ||\r\n incomeType == TypeOfIncome.SelfEmploymentIncome ||\r\n incomeType == TypeOfIncome.ContractBasis ||\r\n incomeType == TypeOfIncome.Commissions ||\r\n incomeType == TypeOfIncome.Overtime);\r\n }\r\n}\r\n","
\r\n\r\n

{{header}}

\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
Please select a value.
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
Description is required.
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
Monthly income 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","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { SimpleMessageStep } from '../../../models/wizard/simple-message-step.model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'simple-message-step',\r\n templateUrl: 'simple-message-step.component.html'\r\n})\r\n\r\nexport class SimpleMessageStepComponent extends WizardStepComponentBase implements OnInit {\r\n constructor(private readonly _injector: Injector) {\r\n super(_injector);\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n

Welcome to our online application!\r\n

\r\n
We look forward to working with you on your mortgage goals.
\r\n Let's get started...
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Injector, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { Option } from '../../../models/wizard/option.model';\r\nimport { SingleChoiceQuestionStep } from '../../../models/wizard/single-choice-question-step.model';\r\nimport { AnswerOptionComponent } from '../answer-option/answer-option.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { OptionsProviderFactory, OptionsProviderTypes } from '../../../models/wizard/config/options-providers/options-provider.factory';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { EnumerationItem } from 'projects/shared/models/enumeration-item.model';\r\n\r\n@Component({\r\n selector: 'single-choice-question-step',\r\n templateUrl: 'single-choice-question-step.component.html'\r\n})\r\nexport class SingleChoiceQuestionStepComponent extends WizardStepComponentBase implements OnInit, AfterViewInit {\r\n\r\n @ViewChildren('answerOption') answerOptionComponents: QueryList | undefined;\r\n\r\n colWidth: number = 12;\r\n lastColWidth: number = 0;\r\n\r\n protected availableOptions: Option[] = [];\r\n\r\n protected optionProviders: EnumerationItem[] = [];\r\n\r\n protected valuesOfOptionsSelectedToBePresentedToUserAsChoices: string[] = [];\r\n\r\n protected setDefaultAndSkipToNextChecked: boolean = false;\r\n\r\n constructor(private readonly _injector: Injector,\r\n private readonly _optionsProviderFactory: OptionsProviderFactory,\r\n private readonly _enumsService: EnumsService) {\r\n super(_injector);\r\n\r\n this.optionProviders = this._enumsService.singleChoiceOptionsProviders;\r\n }\r\n\r\n onOptionProviderChanged = () => {\r\n this.populateAvailableOptions(this.step.optionsProviderType);\r\n }\r\n\r\n onOptionSelected(option: Option) {\r\n this.step.setModelFieldValue(option.value);\r\n if (this.step.question) {\r\n for (let answerOption of this.step.question.options) {\r\n answerOption.selected = (answerOption === option);\r\n }\r\n }\r\n if (!this.wizardFlowService.inPreviewMode) {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (!this.answerOptionComponents) {\r\n return;\r\n }\r\n for (let answerOptionComponent of this.answerOptionComponents) {\r\n answerOptionComponent.getOptionSelectedEmitter().subscribe(e => this.onOptionSelected(e));\r\n }\r\n super.ngAfterViewInit();\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return this.step.canMoveToNextStep && !this.wizardFlowService.inPreviewMode;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n if (!this.step.question) {\r\n return;\r\n }\r\n\r\n if (!this.wizardFlowService.isEditEnabled) {\r\n this.setDefaultValueAndSkipIfConfiguredThatWay();\r\n this.step.selectOptionByDefaultIfSetOnModel();\r\n } else {\r\n this.setDefaultAndSkipToNextChecked = !!this.step.nameOfDefaultOptionToSetAndSkip;\r\n this.populateAvailableOptions(this.step.optionsProviderType);\r\n }\r\n\r\n this.step.heading = this.step.heading || this.step.question.text;\r\n this.arrangeOptionBoxesOnScreen();\r\n this.step.setModelFieldValueFromStepStatus();\r\n }\r\n\r\n onSetDefaultValueCheckChanged = () => {\r\n if (!this.setDefaultAndSkipToNextChecked) {\r\n this.step.nameOfDefaultOptionToSetAndSkip = null;\r\n }\r\n }\r\n\r\n optionsSelectedToPresentToUserChanged = (option: Option, e: any) => {\r\n if (e.target.checked) {\r\n if (!this.step.question.options.find(o => o.name.toLowerCase() === option.name.toLowerCase())) {\r\n this.step.question.options.push(option);\r\n }\r\n } else {\r\n const index = this.step.question.options.findIndex(o => o.name.toLowerCase() === option.name.toLowerCase())\r\n if (index >= 0) {\r\n this.step.question.options.splice(index, 1);\r\n }\r\n }\r\n this.arrangeOptionBoxesOnScreen();\r\n }\r\n\r\n private populateAvailableOptions = (optionsProviderType: OptionsProviderTypes) => {\r\n if (optionsProviderType) {\r\n const optionProvider = this._optionsProviderFactory.create(optionsProviderType);\r\n if (optionProvider) {\r\n this.startSpinner();\r\n optionProvider.getOptions().subscribe(options => {\r\n this.availableOptions = options;\r\n this.valuesOfOptionsSelectedToBePresentedToUserAsChoices = this.step.question.options.map(o => o.name.toLowerCase());\r\n }).add(() => this.stopSpinner())\r\n }\r\n } else {\r\n this.availableOptions = [...this.step.question.options];\r\n this.valuesOfOptionsSelectedToBePresentedToUserAsChoices = this.step.question.options.map(o => o.name.toLowerCase());\r\n }\r\n }\r\n\r\n private setDefaultValueAndSkipIfConfiguredThatWay = () => {\r\n if (this.step.nameOfDefaultOptionToSetAndSkip) {\r\n const optionToSetByDefault = this.step.question.options.find(o => o.name.toLowerCase() === this.step.nameOfDefaultOptionToSetAndSkip.toLowerCase());\r\n if (optionToSetByDefault) {\r\n this.step.setModelFieldValue(optionToSetByDefault.value);\r\n if (this.cameHereWithBackNavigation) {\r\n if (!this.wizardFlowService.isFirstStep(this.step)) {\r\n this.wizardFlowService.navigateBackward();\r\n } else {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n } else {\r\n this.wizardFlowService.navigateForward();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private arrangeOptionBoxesOnScreen = () => {\r\n if (this.step.question.options.length > 0 && !this.step.listOptionsVertically) {\r\n this.colWidth = Math.floor(12 / this.step.question.options.length);\r\n this.lastColWidth = 12 - ((this.step?.question?.options.length - 1) * this.colWidth);\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","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { SpouseTransactionInvolvement } from '../../../models/enums/spouse-txn-involvement.enum';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { MortgageApplicationService } from '../../../services/mortgage-application.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\n@Component({\r\n selector: 'spouse-transaction-involvement',\r\n templateUrl: 'spouse-transaction-involvement.component.html'\r\n})\r\n\r\nexport class SpouseTransactionInvolvementComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n private _mortgageApplication: MortgageApplication;\r\n\r\n constructor(private readonly _mortgageApplicationService: MortgageApplicationService,\r\n private readonly _injector: Injector) {\r\n super(_injector);\r\n this._mortgageApplication = this._mortgageApplicationService.mortgageApplication;\r\n }\r\n\r\n public get isSpouseTransactionInvolvementSelected(): boolean {\r\n return this._mortgageApplication.spouseTransactionInvolvement !== undefined &&\r\n this._mortgageApplication.spouseTransactionInvolvement !== SpouseTransactionInvolvement.None;\r\n }\r\n\r\n public get isSpouseOnLoan(): boolean {\r\n return this._mortgageApplication.spouseTransactionInvolvement === SpouseTransactionInvolvement.OnLoan;\r\n }\r\n\r\n public get isSpouseOnTitle(): boolean {\r\n return this._mortgageApplication.spouseTransactionInvolvement === SpouseTransactionInvolvement.OnTitleOnly;\r\n }\r\n\r\n public get isSpouseNotOnLoanOrTitle(): boolean {\r\n return this._mortgageApplication.spouseTransactionInvolvement === SpouseTransactionInvolvement.NeitherOnLoanNorTitle;\r\n }\r\n\r\n onSpouseWillBeOnLoanSelected = () => {\r\n this._mortgageApplication.spouseTransactionInvolvement = SpouseTransactionInvolvement.OnLoan;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n onSpouseWillBeOnTitleSelected = () => {\r\n this._mortgageApplication.spouseTransactionInvolvement = SpouseTransactionInvolvement.OnTitleOnly;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n onSpouseWillNotBeOnLoanOrTitleSelected = () => {\r\n this._mortgageApplication.spouseTransactionInvolvement = SpouseTransactionInvolvement.NeitherOnLoanNorTitle;\r\n this.wizardFlowService.navigateForward();\r\n }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n

How will your spouse be part of this transaction?\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","import { Component, Injector, OnInit } from '@angular/core';\r\nimport { EnvironmentService } from 'projects/shared/services/environment.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SubmitApplicationStep } from '../../../models/wizard/submit-application-step.model';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { Constants } from '../../../services/constants';\r\n\r\ndeclare const Swal: any;\r\n\r\n@Component({\r\n selector: 'submit-application-step',\r\n templateUrl: 'submit-application-step.component.html'\r\n})\r\n\r\nexport class SubmitApplicationStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n public isSubmitted = false;\r\n public isSuccess = false;\r\n\r\n constructor(private readonly _injector: Injector,\r\n private readonly _environmentService: EnvironmentService) {\r\n super(_injector);\r\n }\r\n\r\n errorMessage: string = \"\";\r\n errorTitle: string = \"\";\r\n\r\n ngOnInit() {\r\n this.nextButtonText = \"Submit Your Information\";\r\n }\r\n\r\n onNextClicked() {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n this.isSubmitted = true,\r\n this.isSuccess = false;\r\n this.errorMessage = \"You're an admin editing the flow. You will not be able to submit an information.\";\r\n this.errorTitle = \"Will not submit the information!\"\r\n return;\r\n }\r\n this.startSpinner();\r\n this.wizardFlowService.context.borrowerAppStatus.details.applicationSubmitted = true;\r\n\r\n this.mortgageApplicationService.saveAppStatus(this.wizardFlowService.context.mortgage.applicationId,\r\n this.wizardFlowService.context.mortgage.mortgageId, this.wizardFlowService.context!.currentBorrower!.borrowerId!,\r\n this.wizardFlowService.context.borrowerAppStatus).subscribe(result => {\r\n this.mortgageApplicationService.submitApplication(this.mortgageApplication.applicationId).pipe(\r\n finalize(() => {\r\n this.stopSpinner();\r\n })\r\n ).subscribe(\r\n response => {\r\n this.isSubmitted = true;\r\n this.isSuccess = true;\r\n Swal.fire(\r\n 'Success!',\r\n 'Your information has been successfully submitted.',\r\n 'success'\r\n );\r\n setTimeout(() => {\r\n //redirect\r\n const authorizationDataKey: string = Constants.authorization.authorizationDataKey;\r\n const authDataObj = JSON.parse(localStorage.getItem(authorizationDataKey)!);\r\n const token = authDataObj.token;\r\n let redirectUrl = this._environmentService.borrowerPortalURI + \"loans-redirect/\"\r\n + this.mortgageApplication.applicationId + \"?authToken=\" + token;\r\n window.location.href = redirectUrl;\r\n }, 2000);\r\n },\r\n error => {\r\n this.isSubmitted = true;\r\n this.isSuccess = false;\r\n this.errorTitle = \"Error!\";\r\n this.errorMessage = \"Something went wrong, please try again\";\r\n }\r\n )\r\n }, error => {\r\n this.isSubmitted = true;\r\n this.isSuccess = false;\r\n this.errorTitle = \"Error!\";\r\n this.errorMessage = \"Something went wrong, please try again\";\r\n })\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
{{errorTitle}}
\r\n {{errorMessage}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component, HostListener, Injector, OnInit, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoanPurpose } from '../../../models/enums/loan-purpose.enum';\r\nimport { LoanType } from '../../../models/loan-type-model';\r\nimport { MortgageApplication } from '../../../models/mortgage-app.model';\r\nimport { TransactionDetail } from '../../../models/transaction-detail.model';\r\nimport { TypeOfLoanStep } from '../../../models/wizard/type-of-loan-step.model';\r\nimport { EnumsService } from '../../../services/enums.service';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { SubjectProperty } from '../../../models/subject-property.model';\r\nimport { Mortgage } from '../../../models/mortgage.model';\r\n\r\n@Component({\r\n selector: 'type-of-loan-step',\r\n templateUrl: 'type-of-loan-step.component.html',\r\n})\r\nexport class TypeOfLoanStepComponent\r\n extends WizardStepComponentBase\r\n implements OnInit {\r\n @ViewChild('loanInfoForm') loanInfoForm: NgForm | undefined;\r\n\r\n loanTypes: LoanType[] = [];\r\n\r\n loanTypeId: string | undefined;\r\n\r\n estimatedLoanAmount: number | undefined;\r\n\r\n downpayment: number | undefined;\r\n\r\n defaultLoanType: LoanType | undefined;\r\n\r\n mortgage: MortgageApplication;\r\n\r\n protected isRefinance: boolean = false;\r\n\r\n protected isMobile: boolean = false;\r\n\r\n protected homeValue: number;\r\n\r\n constructor(\r\n private readonly _injector: Injector,\r\n private readonly _enumsService: EnumsService\r\n ) {\r\n super(_injector);\r\n if (!this.mortgageApplication.transactionDetail) {\r\n this.mortgageApplication.transactionDetail = new TransactionDetail();\r\n }\r\n if (!this.mortgageApplication.subjectProperty) {\r\n this.mortgageApplication.subjectProperty = new SubjectProperty();\r\n }\r\n this.saveMortgageApplicationBeforeNextStep = true;\r\n this.loadLoanTypes();\r\n this.estimatedLoanAmount = this.mortgageApplication.mortgageTerm.amount;\r\n this.homeValue = this.calculateHomeValue(this.mortgageApplication);\r\n this.downpayment = this.calculateDownPayment(this.mortgageApplication);\r\n this.mortgage = this.mortgageApplication;\r\n if (!this.mortgage.subjectProperty.downPaymentSource) {\r\n this.mortgage.subjectProperty.downPaymentSource = null;\r\n }\r\n if (!this.mortgage.mortgageTerm.mortgageAppliedFor) {\r\n this.mortgage.mortgageTerm.mortgageAppliedFor = null;\r\n this.loanTypeId = null;\r\n }\r\n }\r\n\r\n public loadLoanTypes() {\r\n if (this.wizardFlowService.isEditEnabled) {\r\n this.setupSomeDefaultDataForEditMode();\r\n return;\r\n }\r\n this.mortgageApplicationService\r\n .getLoanTypes(this.mortgageApplication.applicationId)\r\n .subscribe((loanTypes) => {\r\n const sortedLoanTypes = loanTypes.sort((a, b) =>\r\n a.order! > b.order! ? 1 : -1\r\n );\r\n this.loanTypes = sortedLoanTypes.filter(\r\n (lt) => lt.mortgageAppliedForType != null\r\n );\r\n\r\n this.defaultLoanType = this.loanTypes.find(\r\n (lt) => lt.defaultForOnlineApp\r\n );\r\n\r\n const mortgageType = this._enumsService.mortgageTypes.find(\r\n (mt) =>\r\n mt.value == this.mortgageApplication.mortgageTerm.mortgageAppliedFor\r\n );\r\n const selectedLoanType = this.loanTypes.find(\r\n (lt) => lt.mortgageAppliedForType == mortgageType?.name\r\n );\r\n if (selectedLoanType) {\r\n this.loanTypeId = selectedLoanType.loanTypeId?.toString();\r\n }\r\n });\r\n }\r\n\r\n public get downPaymentSourceTypes(): any[] {\r\n return this._enumsService.downPaymentSourceTypes.filter(x => x.name != \"Cash On Hand\");\r\n }\r\n\r\n public get estimatedLTV(): number | undefined {\r\n if (\r\n this.mortgageApplication.subjectProperty.purposeOfLoan ===\r\n LoanPurpose.Refinance\r\n ) {\r\n const loanAmount = this.mortgageApplication!.mortgageTerm!.amount;\r\n const estValue = this.mortgageApplication!.subjectProperty!.presentValue;\r\n if (!loanAmount || loanAmount === 0 || !estValue || estValue === 0) {\r\n return undefined;\r\n }\r\n return Math.round((loanAmount / estValue) * 100);\r\n } else {\r\n let purchasePriceAmount: number =\r\n this.mortgageApplication!.transactionDetail!.purchasePriceAmount!;\r\n if (!purchasePriceAmount || purchasePriceAmount === 0) {\r\n return undefined;\r\n }\r\n let loanAmount =\r\n this.mortgageApplication!.transactionDetail!.purchasePriceAmount! -\r\n this.downpayment!;\r\n return Math.round(\r\n (loanAmount /\r\n this.mortgageApplication!.transactionDetail!.purchasePriceAmount!) *\r\n 100\r\n );\r\n }\r\n }\r\n\r\n onEstimatedValueChanged = () => {\r\n if (!this.mortgageApplication.subjectProperty.presentValue) {\r\n this.mortgageApplication.subjectProperty.presentValue = undefined;\r\n }\r\n };\r\n\r\n onLoanAmountChanged = () => {\r\n if (!this.estimatedLoanAmount) {\r\n this.estimatedLoanAmount = undefined;\r\n }\r\n };\r\n\r\n onNextClicked() {\r\n if (this.loanInfoForm) {\r\n this.loanInfoForm.form.markAllAsTouched();\r\n if (this.loanInfoForm.form.valid) {\r\n this.mortgageApplication.mortgageTerm.amount = this.estimatedLoanAmount;\r\n if (this.wizardFlowService.isEditEnabled || !this.loanTypeId) {\r\n this.mortgageApplication.mortgageTerm.mortgageAppliedFor = null;\r\n super.onNextClicked();\r\n return;\r\n }\r\n if (this.loanTypeId === '-1') {\r\n if (this.defaultLoanType) {\r\n this.mortgageApplication.mortgageTerm.mortgageAppliedFor =\r\n this.defaultLoanType.mortgageAppliedForType;\r\n }\r\n super.onNextClicked();\r\n return;\r\n }\r\n this.startSpinner();\r\n this.mortgageApplicationService\r\n .saveLoanType(\r\n this.mortgageApplication.applicationId,\r\n this.loanTypeId!\r\n )\r\n .subscribe(\r\n () => {\r\n this.stopSpinner();\r\n const selectedLoanType = this.loanTypes.find(\r\n (lt) => lt.loanTypeId.toString() == this.loanTypeId\r\n );\r\n if (selectedLoanType) {\r\n this.mortgageApplication.mortgageTerm.mortgageAppliedFor =\r\n selectedLoanType.mortgageAppliedForType;\r\n }\r\n super.onNextClicked();\r\n },\r\n (error) => {\r\n this.stopSpinner();\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n // This is just to make the validation work properly\r\n if (\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount != null &&\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount <= 0\r\n ) {\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount =\r\n undefined;\r\n }\r\n this.isRefinance = this.mortgage.subjectProperty.purposeOfLoan === 'Refinance';\r\n\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n onPurchasePriceChanged = () => {\r\n if (\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount != null &&\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount <= 0\r\n ) {\r\n this.mortgageApplication.transactionDetail.purchasePriceAmount =\r\n undefined;\r\n }\r\n this.homeValue = this.calculateHomeValue(this.mortgageApplication);\r\n this.estimatedLoanAmount = this.calculateEstimatedLoanAmount(this.mortgageApplication);\r\n };\r\n\r\n onDownPaymentChanged = () => {\r\n if (!this.downpayment) {\r\n this.downpayment = undefined;\r\n this.mortgageApplication.subjectProperty.downPaymentSource = null;\r\n }\r\n this.estimatedLoanAmount = this.calculateEstimatedLoanAmount(this.mortgageApplication);\r\n };\r\n\r\n setupSomeDefaultDataForEditMode = () => {\r\n let conventional = new LoanType();\r\n conventional.loanTypeName = 'Conventional';\r\n conventional.mortgageAppliedForType = 'Conventional';\r\n conventional.order = 1;\r\n conventional.loanTypeId = 1;\r\n\r\n let fha = new LoanType();\r\n fha.loanTypeName = 'FHA';\r\n fha.mortgageAppliedForType = 'FHA';\r\n fha.order = 2;\r\n fha.loanTypeId = 2;\r\n\r\n let va = new LoanType();\r\n va.loanTypeName = 'VA';\r\n va.mortgageAppliedForType = 'VA';\r\n va.order = 3;\r\n va.loanTypeId = 3;\r\n\r\n let usda = new LoanType();\r\n usda.loanTypeName = 'USDA';\r\n usda.mortgageAppliedForType = 'USDA';\r\n usda.order = 4;\r\n usda.loanTypeId = 4;\r\n\r\n this.loanTypes.push(conventional);\r\n this.loanTypes.push(fha);\r\n this.loanTypes.push(va);\r\n this.loanTypes.push(usda);\r\n\r\n this.loanTypeId = '1';\r\n };\r\n\r\n private calculateDownPayment = (mortgage: MortgageApplication) => {\r\n const homeValue = this.calculateHomeValue(mortgage);\r\n if (!homeValue || !mortgage.mortgageTerm.amount) {\r\n return undefined;\r\n }\r\n const downPayment = (homeValue ?? 0) - (mortgage.mortgageTerm.amount ?? 0);\r\n return downPayment;\r\n }\r\n\r\n private calculateEstimatedLoanAmount(mortgage: MortgageApplication): number {\r\n const homeValue = this.calculateHomeValue(mortgage);\r\n return (\r\n homeValue - this.downpayment!\r\n );\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 768\r\n }\r\n\r\n private calculateHomeValue = (mortgage: MortgageApplication) => {\r\n let minValue = this.minOfSalesPriceAndAppraisedValue(mortgage);\r\n if (!minValue) {\r\n minValue = 0;\r\n }\r\n return minValue;\r\n }\r\n\r\n private minOfSalesPriceAndAppraisedValue = (mortgage: MortgageApplication): number => {\r\n let presentValue = mortgage.mortgageTerm?.appraisedValue ?? mortgage.subjectProperty?.presentValue ?? 0;\r\n let purchasePriceAmount = mortgage.transactionDetail?.purchasePriceAmount ?? 0;\r\n\r\n if (mortgage.subjectProperty.purposeOfLoan === 'Purchase') {\r\n var salesPrice = purchasePriceAmount ? purchasePriceAmount : Number.MAX_VALUE;\r\n var appraisedValue = presentValue ? presentValue : Number.MAX_VALUE;\r\n var min = Math.min(salesPrice, appraisedValue);\r\n return min != Number.MAX_VALUE ? min : 0;\r\n } else {\r\n // Refinance\r\n return presentValue;\r\n }\r\n };\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
Please select the type of loan you're applying to.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
Purchase price is required, please enter a value.
\r\n
\r\n
\r\n \r\n \r\n
Down payment is required, please enter a value.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Down payment source is required, please enter a value.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
Estimated value is required, please enter a value.
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Loan amount is required, please enter a value.
\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","import { formatDate } from '@angular/common';\r\nimport { Component, Injector, OnInit, QueryList, ViewChildren } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { BorrowerCreditScores } from '../../../models/borrower-credit-scores.model';\r\nimport { Borrower } from '../../../models/borrower-model';\r\nimport { BorrowerStepStatus } from '../../../models/borrower-step-status.model';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { WizardFlowCustomerPreferences } from '../../../models/wizard-flow-customer-preferences.model';\r\nimport { VerifyCreditStep } from '../../../models/wizard/verify-credit-step.model';\r\nimport { CreditService } from '../../../services/credit.service';\r\nimport { CreditCheckConsentDialogComponent } from '../../credit-check-consent-dialog/credit-check-consent-dialog.component';\r\nimport { BorrowerCreditMiniComponent } from '../borrower-credit-mini/borrower-credit-mini.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\n\r\ndeclare const Swal: any;\r\n@Component({\r\n selector: 'verify-credit-step',\r\n templateUrl: 'verify-credit-step.component.html'\r\n})\r\nexport class VerifyCreditStepComponent extends WizardStepComponentBase implements OnInit {\r\n\r\n @ViewChildren('borrowerCredit') borrowerCreditComponents: QueryList | undefined;\r\n\r\n private _allFieldsFilled: boolean = false;\r\n public isCheckingCreditHistory = false;\r\n public borrowerCreditScores: BorrowerCreditScores[] = [];\r\n\r\n private _creditAuthText: string | undefined = 'This is a test consent text.';\r\n private _creditAuthGenerationEnabled: boolean | undefined = false;\r\n private _creditWillBeRunOfflineLater: boolean = true;\r\n private _customerPreferences: WizardFlowCustomerPreferences;\r\n\r\n borrowers: Borrower[] = [];\r\n\r\n mainBorrower!: Borrower;\r\n coBorrowers: Borrower[] = [];\r\n\r\n canRunCredit: boolean = true;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: 'lg',\r\n backdrop: 'static',\r\n container: 'body'\r\n };\r\n\r\n constructor(private readonly _injector: Injector, private readonly _creditService: CreditService,\r\n private readonly _modalService: ModalService) {\r\n super(_injector);\r\n this.borrowers = this.inCoApplyFlow ? [this.currentBorrower] : this.mortgageApplication.borrowers;\r\n this._customerPreferences = this.wizardFlowService.context.customerPreferences;\r\n if (this.currentBorrower) {\r\n this.mainBorrower = this.currentBorrower;\r\n this.coBorrowers = this.borrowers.filter(b => b.borrowerId !== this.mainBorrower.borrowerId);\r\n this.coBorrowers.forEach(c => {\r\n c.willBeEdited = this.borrowerSetting(c);\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.wizardFlowService.context.creditRunFailed = false;\r\n this._creditAuthGenerationEnabled = this.wizardFlowService.context.config?.creditAuthGenerationEnabled;\r\n this._creditWillBeRunOfflineLater = this.wizardFlowService.context.skipAutomatedCreditCheck;\r\n this._creditAuthText = this.wizardFlowService.context.config?.creditAuthText;\r\n this.canRunCredit = this.wizardFlowService.context.config?.creditPullEnabled &&\r\n !this.step.hideRealTimeCreditRunOption && !this._creditWillBeRunOfflineLater;\r\n }\r\n\r\n checkAllFilled(): boolean {\r\n let valid = true;\r\n if (this.borrowerCreditComponents) {\r\n for (const borrowerinfo of this.borrowerCreditComponents) {\r\n valid = borrowerinfo.validate() && valid;\r\n }\r\n }\r\n return (valid && this.allBorrowersCreditRunChecked);\r\n }\r\n\r\n onNextClicked() {\r\n if (this.wizardFlowService.context.creditRunFailed) {\r\n this.goToNextStep();\r\n return;\r\n }\r\n let valid = true;\r\n this.borrowerCreditComponents?.forEach(b => {\r\n valid = valid && b.validate();\r\n });\r\n if (!valid) {\r\n return;\r\n }\r\n if (!this._allFieldsFilled) {\r\n this._creditWillBeRunOfflineLater = true;\r\n }\r\n if (this.wizardFlowService.isEditEnabled) {\r\n if (this.borrowersToRunCreditReportFor().length != 0) {\r\n this.showCreditCheckConsentPopup();\r\n } else {\r\n this.goToNextStep();\r\n }\r\n return;\r\n }\r\n\r\n if (this.borrowersToRunCreditReportFor().length != 0) {\r\n if (!this.currentBorrower.authorizedCreditCheck) {\r\n if (this.wizardFlowService.context.config.showCreditAuthVerbiage) {\r\n this.showCreditCheckConsentPopup();\r\n return;\r\n } else if (!this._creditWillBeRunOfflineLater) {\r\n this.doRunCreditReport();\r\n } else {\r\n this.goToNextStep();\r\n }\r\n } else if (!this._creditWillBeRunOfflineLater) {\r\n this.doRunCreditReport();\r\n } else {\r\n this.goToNextStep();\r\n }\r\n } else {\r\n this.goToNextStep();\r\n }\r\n }\r\n\r\n goToNextStep = () => {\r\n this.wizardFlowService.context.skipAutomatedCreditCheck = this._creditWillBeRunOfflineLater;\r\n super.onNextClicked();\r\n }\r\n\r\n isCreditRunForBorrower(borrower: Borrower): boolean {\r\n let result = this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.find(c => c.borrowerId == borrower.borrowerId);\r\n if (!result) {\r\n return false;\r\n }\r\n return result.creditRun;\r\n }\r\n\r\n onBorrowersBirthDateOrSsnChanged = (): void => {\r\n this.setNextButtonText();\r\n }\r\n\r\n onPermissionToRunCreditChangedForBorrower = (e: any): void => {\r\n this.setNextButtonText();\r\n }\r\n\r\n private setNextButtonText = () => {\r\n setTimeout(() => {\r\n this._allFieldsFilled = this.checkAllFilled();\r\n if (this._allFieldsFilled || !this.canRunCredit) {\r\n this.nextButtonText = 'Continue';\r\n } else {\r\n this.nextButtonText = 'Continue without Credit';\r\n }\r\n });\r\n }\r\n\r\n private showCreditCheckConsentPopup = () => {\r\n const modal = this._modalService.show(CreditCheckConsentDialogComponent, this.modalOptions);\r\n modal.componentInstance.creditAuthText = this._creditAuthText;\r\n modal.componentInstance.creditWillBeRunLater = this._creditWillBeRunOfflineLater;\r\n modal.result.then(() => {\r\n this.onConsentReceivedForCreditCheck()\r\n }, error => { });\r\n }\r\n\r\n //you can only run credit for borrowers that you have selected to apply application for and\r\n //whose credit reports are not run before\r\n private borrowersToRunCreditReportFor(): Borrower[] {\r\n let borrowersToRunCreditReportFor: Borrower[] = [];\r\n if (!this.isCreditRunForBorrower(this.mainBorrower)) {\r\n borrowersToRunCreditReportFor.push(this.mainBorrower);\r\n }\r\n if (this.inCoApplyFlow) {\r\n return borrowersToRunCreditReportFor;\r\n }\r\n for (let b of this.coBorrowers) {\r\n if (this.borrowerSetting(b) && !this.isCreditRunForBorrower(b)) {\r\n borrowersToRunCreditReportFor.push(b);\r\n }\r\n }\r\n return borrowersToRunCreditReportFor;\r\n }\r\n\r\n private onConsentReceivedForCreditCheck = () => {\r\n\r\n if (this.wizardFlowService.isEditEnabled) {\r\n this.goToNextStep();\r\n return;\r\n }\r\n\r\n const today = formatDate(new Date(), 'MM/dd/yyyy', 'en-US');\r\n this.mainBorrower.authorizedCreditCheck = true;\r\n this.mainBorrower.dateAuthorizedCreditCheck = today;\r\n this.mainBorrower.authorizationMethod = \"Internet\";\r\n\r\n this.coBorrowers.forEach(coBorrower => {\r\n if (this.borrowerSetting(coBorrower)) {\r\n coBorrower.authorizedCreditCheck = true;\r\n coBorrower.dateAuthorizedCreditCheck = today;\r\n coBorrower.authorizationMethod = \"Internet\";\r\n }\r\n });\r\n\r\n this.startSpinner();\r\n this.wizardFlowService.saveMortgage().subscribe(result => {\r\n if (this._creditAuthGenerationEnabled) {\r\n this._creditService.createConsentReport(this.mortgageApplication.applicationId, this._creditAuthText).subscribe(() => {\r\n if (!this._creditWillBeRunOfflineLater) {\r\n this.doRunCreditReport();\r\n } else {\r\n this.stopSpinner();\r\n this.goToNextStep();\r\n }\r\n }, err => {\r\n //this.handleError(\"An error occurred while generating consent document for credit run.\", err.error.message);\r\n this.stopSpinner();\r\n this.goToNextStep();\r\n })\r\n } else {\r\n if (!this._creditWillBeRunOfflineLater) {\r\n this.doRunCreditReport();\r\n } else {\r\n this.stopSpinner();\r\n this.goToNextStep();\r\n }\r\n }\r\n }, error => {\r\n this.handleError(\"An error occurred while saving the mortgage\", error.error.message);\r\n });\r\n }\r\n\r\n private doRunCreditReport = () => {\r\n const borrowerContactIds = this.borrowersToRunCreditReportFor().map(b => b.contactId);\r\n const borrowerIds = this.borrowersToRunCreditReportFor().map(b => b.borrowerId);\r\n if (!borrowerIds.length) {\r\n return;\r\n }\r\n this._creditService.runCreditReports(this.mortgageApplication.applicationId, borrowerContactIds,\r\n this.wizardFlowService.context.config?.defaultCreditVendor, \r\n this.wizardFlowService.context.config?.defaultReportType, \r\n this.wizardFlowService.context.config?.pullEquifax, \r\n this.wizardFlowService.context.config?.pullExperian, \r\n this.wizardFlowService.context.config?.pullTransUnion).pipe(\r\n finalize(() => {\r\n this.stopSpinner();\r\n for (let i = 0; i < borrowerIds.length; i++) {\r\n let borrowerStepStatus = this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.find(b => b.borrowerId == borrowerIds[i]);\r\n if (!borrowerStepStatus) {\r\n borrowerStepStatus = new BorrowerStepStatus(borrowerIds[i]!);\r\n borrowerStepStatus.creditRun = true;\r\n this.wizardFlowService.context.borrowerAppStatus.details.borrowerStepStatuses.push(borrowerStepStatus);\r\n }\r\n else {\r\n borrowerStepStatus.creditRun = true;\r\n }\r\n }\r\n })\r\n )\r\n .subscribe(\r\n response => {\r\n this.borrowerCreditScores = response;\r\n if (response.success) {\r\n this._customerPreferences.doNotRunCredit = 0;\r\n this.startSpinner();\r\n this.mortgageApplicationService.getMortgage(this.mortgageApplication.applicationId).subscribe((mortgage) => {\r\n this.wizardFlowService.updateContext(mortgage);\r\n this.stopSpinner();\r\n this.goToNextStep();\r\n }, error => {\r\n this.stopSpinner();\r\n this.goToNextStep();\r\n // this.handleError(\"An error occurred.\",\r\n // \"An error occurred while running credit. Please contact your administrator. You can click continue to skip this step.\");\r\n });\r\n } else {\r\n this.goToNextStep();\r\n // this.handleError(\"An error occurred.\",\r\n // \"An error occurred while running credit. Please contact your administrator. You can click continue to skip this step.\");\r\n }\r\n },\r\n error => {\r\n // this.handleError(\"An error occurred.\",\r\n // \"An error occurred while running credit. Please contact your administrator. You can click continue to skip this step.\");\r\n }\r\n )\r\n }\r\n\r\n private handleError = (title: string, message: string) => {\r\n this.stopSpinner();\r\n let errorMessage = new ErrorMessage(title, message);\r\n this.showError(errorMessage);\r\n this.wizardFlowService.context.creditRunFailed = true;\r\n window.scroll(0, 0);\r\n }\r\n\r\n private get allBorrowersCreditRunChecked(): boolean {\r\n const borrowersToRunCredit = this.borrowersToRunCreditReportFor();\r\n for (let i = 0; i < borrowersToRunCredit.length; i++) {\r\n const borrowerFound = this.borrowers.find(b => b.borrowerId === borrowersToRunCredit[i].borrowerId);\r\n if (!borrowerFound || !borrowerFound.permissionToRunCredit) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n","\r\n
\r\n
Hide Real Time Credit Run 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
\r\n
\r\n
\r\n
\r\n
\r\n

{{mainBorrower.firstName + \" \" + mainBorrower.lastName}}

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

{{borrower.firstName + \" \" + borrower.lastName}}

\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","import { LocationStrategy } from '@angular/common';\r\nimport { Component, OnInit, ViewChild, AfterViewInit, Injector, OnDestroy, Output, EventEmitter } from '@angular/core';\r\nimport { Navigation, Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AlertType } from 'projects/shared/models/alert-type.enum';\r\nimport { Alert } from 'projects/shared/models/alert.model';\r\nimport { Borrower } from '../../models/borrower-model';\r\nimport { ErrorMessage } from '../../models/error-message.model';\r\nimport { ContextBoundStepProperties } from '../../models/wizard/context-bound-step-properties.model';\r\nimport { WizardStepBase } from '../../models/wizard/wizard-step-base.model';\r\nimport { DataService } from '../../services/data.service';\r\nimport { MortgageApplicationService } from '../../services/mortgage-application.service';\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { WizardFlowServiceBase } from '../../services/wizard/wizard-flow-service.base';\r\nimport { WizardStepTemplateComponent } from './wizard-step-template/wizard-step-template.component';\r\nimport { WizardFlowSettings } from '../../models/wizard/config/flow-settings.model';\r\n\r\ndeclare const KTMenu: any;\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class WizardStepComponentBase implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild(WizardStepTemplateComponent) template: WizardStepTemplateComponent | undefined;\r\n\r\n @Output()\r\n wizardFlowSettingsChanged: EventEmitter = new EventEmitter();\r\n\r\n private readonly _location: LocationStrategy;\r\n\r\n protected wizardFlowService: WizardFlowServiceBase;\r\n protected mortgageApplicationService: MortgageApplicationService;\r\n protected utilsService: UtilsService;\r\n protected router: Router;\r\n protected dataService: DataService;\r\n protected spinner: NgxSpinnerService;\r\n\r\n public step!: TStep;\r\n public contextBoundStepProperties!: ContextBoundStepProperties;\r\n\r\n public nextButtonText: string = \"Continue\";\r\n\r\n public alert: Alert | undefined;\r\n\r\n protected saveMortgageApplicationBeforeNextStep: boolean = false;\r\n\r\n protected cameHereWithBackNavigation: boolean | undefined | null = false;\r\n\r\n constructor(protected readonly injector: Injector) {\r\n this.wizardFlowService = this.injector.get(WizardFlowServiceBase);\r\n this.mortgageApplicationService = this.injector.get(MortgageApplicationService);\r\n this.router = this.injector.get(Router);\r\n this.dataService = this.injector.get(DataService);\r\n this.utilsService = this.injector.get(UtilsService);\r\n this.spinner = this.injector.get(NgxSpinnerService);\r\n this._location = this.injector.get(LocationStrategy);\r\n let path = this.router.url.split('?')[0].split('/').pop();\r\n\r\n let navigation: Navigation = this.router.getCurrentNavigation();\r\n\r\n this.cameHereWithBackNavigation = (navigation &&\r\n navigation.extras &&\r\n navigation.extras.state &&\r\n navigation.extras.state.backNavigation);\r\n\r\n const step = this.wizardFlowService.getStep(path);\r\n if (step) {\r\n this.step = step;\r\n }\r\n this._location.onPopState(() => {\r\n this.wizardFlowService.browserBackOrForwardClicked = true;\r\n return false;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.alert = undefined;\r\n }\r\n\r\n ngAfterViewInit() {\r\n KTMenu.createInstances();\r\n if (!this.template) {\r\n return;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n onWizardFlowSettingsChanged = (settings: WizardFlowSettings) => {\r\n this.wizardFlowSettingsChanged.emit(settings);\r\n }\r\n\r\n isHidden = (fieldName: string): boolean => {\r\n return this.step.isHidden(fieldName);\r\n }\r\n\r\n isRequired = (fieldName: string): boolean => {\r\n return this.step.isRequired(fieldName);\r\n }\r\n\r\n getLabel = (fieldName: string, defaultLabel: string): string => {\r\n return this.step.getLabel(fieldName, defaultLabel);\r\n }\r\n\r\n public borrowerSetting(borrower: Borrower): boolean {\r\n let result = this.wizardFlowService.context.borrowerSettings.get(borrower.borrowerId);\r\n if (result) {\r\n return true;\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n protected borrowersToApplyFor(): Borrower[] {\r\n let borrowersToApplyFor: Borrower[] = [];\r\n borrowersToApplyFor.push(this.currentBorrower);\r\n if (this.inCoApplyFlow) {\r\n return borrowersToApplyFor;\r\n }\r\n let coBorrowers = this.mortgageApplication.borrowers.filter(b => b.primaryEmail.toLocaleLowerCase() !==\r\n this.currentBorrower.primaryEmail.toLocaleLowerCase());\r\n for (let b of coBorrowers) {\r\n if (this.borrowerSetting(b)) {\r\n borrowersToApplyFor.push(b);\r\n }\r\n }\r\n return borrowersToApplyFor;\r\n }\r\n\r\n get inCoApplyFlow() {\r\n return this.wizardFlowService.inCoApplyFlow;\r\n }\r\n\r\n public get inEditMode() {\r\n return this.wizardFlowService.inEditMode;\r\n }\r\n\r\n public get isEditEnabled() {\r\n return this.wizardFlowService.isEditEnabled;\r\n }\r\n\r\n protected get mortgageApplication() {\r\n return this.wizardFlowService.context.mortgage;\r\n }\r\n\r\n protected get applicationInfo() {\r\n return this.wizardFlowService.context.applicationInfo;\r\n }\r\n\r\n protected get currentBorrower() {\r\n return this.wizardFlowService.context.currentBorrower;\r\n }\r\n\r\n onBackClicked() {\r\n this.wizardFlowService.navigateBackward();\r\n window.scroll(0, 0);\r\n }\r\n\r\n onNextClicked() {\r\n if (this.saveMortgageApplicationBeforeNextStep && !this.wizardFlowService.isEditEnabled) {\r\n this.startSpinner();\r\n this.wizardFlowService.saveMortgage().subscribe(() => {\r\n this.stopSpinner();\r\n this.wizardFlowService.navigateForward();\r\n window.scroll(0, 0);\r\n }, err => {\r\n this.stopSpinner();\r\n let errorMessage = new ErrorMessage(\"An error occurred while saving the mortgage\", err.error.message);\r\n this.showError(errorMessage);\r\n window.scroll(0, 0);\r\n });\r\n } else {\r\n this.wizardFlowService.navigateForward();\r\n window.scroll(0, 0);\r\n }\r\n }\r\n\r\n public stopSpinner = (): void => {\r\n if (this.template) {\r\n this.template.stopSpinner();\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n public startSpinner = (): void => {\r\n if (this.template) {\r\n this.template.startSpinner();\r\n } else {\r\n this.spinner.show();\r\n }\r\n }\r\n\r\n public showError = (error: ErrorMessage): void => {\r\n this.alert = new Alert(error.title, error.message, AlertType.Error);\r\n }\r\n\r\n public get canMoveToNextStep(): boolean {\r\n return true;\r\n }\r\n}\r\n","import { Component, HostListener, Input, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { isArray } from 'lodash';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ModalService } from 'projects/shared/modal/modal.service';\r\nimport { ErrorMessage } from '../../../models/error-message.model';\r\nimport { Originator } from '../../../models/originator.model';\r\nimport { ContextInjector } from '../../../models/wizard/config/context-injector';\r\nimport { FieldConfig } from '../../../models/wizard/config/field-config-model';\r\nimport { WizardFlowSettings } from '../../../models/wizard/config/flow-settings.model';\r\nimport { WizardFlowConfigs } from '../../../models/wizard/config/wizard-flow-config.model';\r\nimport { ContextBoundStepProperties } from '../../../models/wizard/context-bound-step-properties.model';\r\nimport { WizardStepBase } from '../../../models/wizard/wizard-step-base.model';\r\nimport { NavigationService } from '../../../services/navigation.service';\r\nimport { WizardFlowConfigServiceBase } from '../../../services/wizard/wizard-flow-config-service.base';\r\nimport { WizardFlowServiceBase } from '../../../services/wizard/wizard-flow-service.base';\r\nimport { WizardButtonGroupComponent } from '../../wizard-button-group/wizard-button-group.component';\r\nimport { FlowConfigSaveDialogComponent } from '../config/config-save-dialog/flow-config-save-dialog.component';\r\nimport { FlowListDialogComponent } from '../config/flow-list-dialog/flow-list-dialog.component';\r\nimport { WizardStepComponentBase } from '../wizard-step-base.component';\r\nimport { NavigationType } from '../../../models/wizard/config/nav-type.enum';\r\n\r\ndeclare const Swal: any;\r\n\r\ndeclare const KTMenu: any;\r\n\r\n@Component({\r\n selector: 'wizard-step-template',\r\n templateUrl: 'wizard-step-template.component.html',\r\n styleUrls: ['wizard-step-template.component.scss']\r\n})\r\nexport class WizardStepTemplateComponent implements OnInit {\r\n\r\n @ViewChild(WizardButtonGroupComponent) buttonGroup: WizardButtonGroupComponent | undefined;\r\n\r\n private _step!: WizardStepBase;\r\n\r\n @Input()\r\n stepMainTemplate!: TemplateRef;\r\n\r\n @Input()\r\n stepComponent!: WizardStepComponentBase;\r\n\r\n @Input()\r\n get step(): WizardStepBase {\r\n return this._step;\r\n }\r\n\r\n @Input()\r\n showSpinnerOnMainContent: boolean = false;\r\n\r\n set step(value: WizardStepBase) {\r\n this._step = value;\r\n this.contextBoundStepProperties = ContextInjector.injectContextToStep(this._wizardFlowService.context, value);\r\n if (this._step && this.step.fieldConfig) {\r\n this.fieldsToConfig = this.step.getFieldsToConfig(this.step.fieldConfig);\r\n }\r\n }\r\n\r\n navType: NavigationType = NavigationType.Horizontal;\r\n\r\n hasProgressBar: boolean = true;\r\n\r\n isNavigationApplicable: boolean = false;\r\n\r\n error: ErrorMessage | undefined = undefined;\r\n\r\n fieldsToConfig: FieldConfig[] | undefined = undefined;\r\n\r\n contextBoundStepProperties!: ContextBoundStepProperties;\r\n\r\n isLoginLinkVisible: boolean = false;\r\n\r\n protected isMobile: boolean = false;\r\n\r\n onMenuTriggerClicked = () => {\r\n var menuElement = document.querySelector(\".menu\");\r\n var menu = KTMenu.getInstance(menuElement);\r\n var item = document.querySelector(\"#menu_item_1\");\r\n menu.show(item);\r\n }\r\n\r\n private _flowConfig!: WizardFlowConfigs;\r\n\r\n get flowTitle(): string {\r\n if (!this._flowConfig.title || this._flowConfig.title.length === 0)\r\n return \"Default Flow\"\r\n return this._flowConfig.title;\r\n }\r\n\r\n get flowGuid(): string {\r\n return this._flowConfig.guid;\r\n }\r\n\r\n private _subscriptionToConfigCreated: any;\r\n private _subscriptionToConfigEdited: any;\r\n\r\n private modalOptions: NgbModalOptions = {\r\n size: \"lg\",\r\n backdrop: \"static\",\r\n container: \"body\"\r\n };\r\n\r\n findAvailableContextKeywords(searchText: string) {\r\n return ContextInjector.availableKeys.filter(item =>\r\n item.toLowerCase().includes(searchText.toLowerCase())\r\n );\r\n }\r\n\r\n getSelectedKeyword(choice: string) {\r\n return `[${choice}]`;\r\n }\r\n\r\n get inEditMode() {\r\n return this._wizardFlowService.inEditMode;\r\n }\r\n\r\n get isNavigationHorizontal(): boolean {\r\n return !this.navType || this.navType == NavigationType.Horizontal;\r\n }\r\n\r\n get isNavigationVertical(): boolean {\r\n return this.navType == NavigationType.Vertical;\r\n }\r\n\r\n get isNavigationTurnedOff(): boolean {\r\n return this.navType == NavigationType.None;\r\n }\r\n\r\n get isEditEnabled() {\r\n return this._wizardFlowService.isEditEnabled;\r\n }\r\n\r\n get originator(): Originator | undefined {\r\n const originator = this._wizardFlowService.context.originator;\r\n return originator;\r\n }\r\n\r\n set inEditMode(value: boolean) {\r\n this._wizardFlowService.inEditMode = value;\r\n }\r\n\r\n get hasPreviousStep(): boolean {\r\n return this._wizardFlowService.hasPreviousStep();\r\n }\r\n\r\n get inPreviewMode(): boolean {\r\n return this._wizardFlowService.inPreviewMode;\r\n }\r\n\r\n get isFirstStepOfRegistrationFlow(): boolean {\r\n return this._wizardFlowService.isFirstStepOfRegistrationFlow;\r\n }\r\n\r\n get percentComplete(): string {\r\n return this._wizardFlowService.percentComplete + '%';\r\n }\r\n\r\n constructor(private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _wizardFlowConfigService: WizardFlowConfigServiceBase,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _modalService: ModalService,\r\n private readonly _spinner: NgxSpinnerService) {\r\n this._flowConfig = this._wizardFlowConfigService.flowConfigs;\r\n this.isNavigationApplicable = _wizardFlowService.isNavigationApplicable;\r\n if (this._flowConfig) {\r\n this.navType = this._flowConfig.navigationType;\r\n this.hasProgressBar = this._flowConfig.hasProgressBar;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n //KTMenu.createInstances();\r\n this.onWizardFlowSettingsChanged()\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.configureBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n startSpinner = (): void => {\r\n this._spinner.show();\r\n this.buttonGroup?.startSpinner();\r\n }\r\n\r\n stopSpinner = (): void => {\r\n this._spinner.hide();\r\n this.buttonGroup?.stopSpinner();\r\n }\r\n\r\n showError = (error: ErrorMessage): void => {\r\n this.error = error;\r\n }\r\n\r\n onLoginClicked = () => {\r\n this._wizardFlowService.resetFlows();\r\n this._navigationService.navigateToLogin(undefined, false);\r\n }\r\n\r\n onFlowsClicked = () => {\r\n const modal = this._modalService.show(FlowListDialogComponent, this.modalOptions);\r\n }\r\n\r\n onEditFlowClicked = () => {\r\n this._navigationService.navigateToFlowEditor(this._flowConfig.guid, this._wizardFlowService.activeFlowType);\r\n }\r\n\r\n onGotoFlowClicked = (flowEntryPath: string) => {\r\n this._navigationService.navigateToPath(flowEntryPath, true);\r\n }\r\n\r\n onEditModeToggled = () => {\r\n this.contextBoundStepProperties = ContextInjector.injectContextToStep(this._wizardFlowService.context, this.step);\r\n setTimeout(() => {\r\n KTMenu.createInstances();\r\n }, 200);\r\n }\r\n\r\n onNextClicked = () => {\r\n this.stepComponent.onNextClicked();\r\n }\r\n\r\n onBackClicked = () => {\r\n this.stepComponent.onBackClicked();\r\n }\r\n\r\n onWizardFlowSettingsChanged = () => {\r\n const settings = new WizardFlowSettings();\r\n settings.hasProgressBar = this.hasProgressBar;\r\n settings.navigationType = this.navType;\r\n this.stepComponent.onWizardFlowSettingsChanged(settings);\r\n }\r\n\r\n onSaveStepConfigClicked = () => {\r\n const modal = this._modalService.show(FlowConfigSaveDialogComponent, this.modalOptions);\r\n modal.componentInstance.title = this._flowConfig.title;\r\n modal.componentInstance.comment = this._flowConfig.comment;\r\n modal.componentInstance.guid = this._flowConfig.guid;\r\n this._flowConfig.navigationType = this.navType;\r\n this._flowConfig.hasProgressBar = this.hasProgressBar;\r\n this._subscriptionToConfigCreated = modal.componentInstance.saveClickedEmitterForCreate\r\n .subscribe((e: any) => this.onSaveClickedOnSaveModalForCreate(e.title, e.comment));\r\n this._subscriptionToConfigEdited = modal.componentInstance.saveClickedEmitterForEdit\r\n .subscribe((e: any) => this.onSaveClickedOnSaveModalForEdit(e.title, e.comment));\r\n }\r\n\r\n private configureBasedOnScreenSize(windowWidth: number) {\r\n this.isMobile = windowWidth < 768\r\n }\r\n\r\n private onSaveClickedOnSaveModalForCreate = (title: string, comment: string) => {\r\n let settings = new WizardFlowSettings();\r\n settings.title = title;\r\n settings.comment = comment;\r\n settings.navigationType = this.navType;\r\n settings.hasProgressBar = this.hasProgressBar;\r\n settings.navGroups = this._wizardFlowService.activeFlowConfig.stepGroups;\r\n this.startSpinner();\r\n const self = this;\r\n const activeFlowType = this._wizardFlowService.activeFlowType;\r\n this._wizardFlowService.createFlowConfig(activeFlowType, this.step, settings)?.subscribe(result => {\r\n this.stopSpinner();\r\n this.inEditMode = false;\r\n Swal.fire(\r\n 'Success!',\r\n 'Your flow config has been successfully created with a new Guid: ' + result.flowGuid,\r\n 'success'\r\n ).then(function (modalResult: any) {\r\n if (modalResult.value) {\r\n // Navigate to the new flow after creation\r\n self._wizardFlowService.navigateToFlow(result.flowGuid);\r\n }\r\n });\r\n }, err => {\r\n this.stopSpinner();\r\n this.showFlowSaveErrorHtmlMessage(err);\r\n });\r\n }\r\n\r\n private onSaveClickedOnSaveModalForEdit = (title: string, comment: string) => {\r\n let settings = new WizardFlowSettings();\r\n settings.title = title;\r\n settings.comment = comment;\r\n settings.navigationType = this.navType;\r\n settings.hasProgressBar = this.hasProgressBar;\r\n settings.navGroups = this._wizardFlowService.activeFlowConfig.stepGroups;\r\n this.startSpinner();\r\n const activeFlowType = this._wizardFlowService.activeFlowType;\r\n this._wizardFlowService.updateFlowConfig(activeFlowType, this.step, settings)?.subscribe(() => {\r\n this.stopSpinner();\r\n this.inEditMode = false;\r\n this.contextBoundStepProperties = ContextInjector.injectContextToStep(this._wizardFlowService.context, this.step);\r\n Swal.fire(\r\n 'Success!',\r\n 'Your flow config has been successfully saved.',\r\n 'success'\r\n );\r\n }, err => {\r\n this.stopSpinner();\r\n this.showFlowSaveErrorHtmlMessage(err);\r\n })\r\n }\r\n\r\n private showFlowSaveErrorHtmlMessage = (err: any) => {\r\n let errorHtml = \"
An error occurred while saving the flow.
\";\r\n if (err.error && err.error.errors && err.error.errors) {\r\n Object.keys(err.error.errors).forEach(key => {\r\n if (isArray(err.error.errors[key])) {\r\n err.error.errors[key].forEach(errorMessage => {\r\n errorHtml += `
${errorMessage}
`\r\n })\r\n }\r\n })\r\n }\r\n Swal.fire({\r\n title: 'Error!',\r\n html: errorHtml,\r\n icon: 'error'\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n

Editing Flow\r\n \r\n

\r\n
    \r\n
  • \r\n Flows\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • {{flowTitle}}/{{step.name}}
  • \r\n
  • \r\n {{flowGuid}}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Edit Mode
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Save\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Flows
\r\n
\r\n \r\n \r\n
\r\n Register Flow\r\n
\r\n \r\n \r\n
\r\n Apply Flow\r\n
\r\n \r\n \r\n
\r\n Co-Apply Flow\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Flow Actions
\r\n
\r\n \r\n \r\n
\r\n Edit Flow\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 \"image\"\r\n
\r\n \r\n \r\n {{originator.firstName + ' ' + originator.lastName}}\r\n \r\n \r\n
NMLS #{{originator.nmlsId}}
\r\n View Calendar\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 {{percentComplete}}\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

{{contextBoundStepProperties!.title}}\r\n \r\n

\r\n
\r\n {{contextBoundStepProperties!.explanation}}\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}\">\r\n {{contextBoundStepProperties!.heading}}\r\n \r\n
0}\" *ngIf=\"inEditMode\">\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\">\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 Already have an account? Please login\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ComponentFactoryResolver, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { SvgIconComponentFactory } from 'projects/shared/svg-icons/svg-icon-component-factory';\r\nimport { SvgIconHostDirective } from 'projects/shared/svg-icons/svg-icon-host.directive';\r\n\r\n@Component({\r\n selector: 'wizard-vertical-nav-step',\r\n template: `
\r\n
\r\n
\r\n \r\n \r\n 0\" class=\"{{iconClass}}\" style=\"font-size: 0.65em\">\r\n \r\n
\r\n
\r\n

{{index + 1}}. {{title}}

\r\n
\r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\n\r\nexport class WizardVerticalNavStepComponent implements OnInit {\r\n\r\n @Input() state: string = \"pending\";\r\n @Input() index: number = 0;\r\n @Input() title: string = \"\";\r\n @Input() iconClass: string = \"\";\r\n @Input() svgIconName: string = \"\";\r\n\r\n @ViewChild(SvgIconHostDirective, {static: true}) svgIconHost!: SvgIconHostDirective;\r\n\r\n constructor(private _svgIconFactory: SvgIconComponentFactory,\r\n private _componentFactoryResolver: ComponentFactoryResolver) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadIcon(this.svgIconName);\r\n }\r\n\r\n loadIcon = (svgIconName: string) => {\r\n if (!svgIconName || svgIconName.length === 0) {\r\n return;\r\n }\r\n const svgIconComponent = this._svgIconFactory.getSvIconComponent(svgIconName);\r\n if (!svgIconComponent) {\r\n return;\r\n }\r\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(svgIconComponent);\r\n\r\n const viewContainerRef = this.svgIconHost.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n viewContainerRef.createComponent(componentFactory);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { WizardNavigationComponentBase } from '../wizard-navigation/wizard-navigation-base.component';\r\n\r\n@Component({\r\n selector: 'wizard-vertical-nav',\r\n templateUrl: 'wizard-vertical-nav.component.html'\r\n})\r\n\r\nexport class WizardVerticalNavComponent extends WizardNavigationComponentBase {\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'wizard',\r\n templateUrl: 'wizard.component.html'\r\n})\r\n\r\nexport class WizardComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n console.log(\"wizard is hit\");\r\n }\r\n}\r\n","\r\n","/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\nimport { ApiInfo, IEnvironment } from 'projects/shared/services/environment.interface';\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n\r\n// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nconst apiInfo = new ApiInfo();\r\napiInfo.apiBaseUrl = \"https://prodapi.lodasoft.com\";\r\napiInfo.publicApiBaseUrl = 'https://publicapi.lodasoft.com';\r\n\r\nexport const environment: IEnvironment = {\r\n production: true,\r\n enableDebugTools: false,\r\n environment: 'Prod',\r\n logLevel: 'debug',\r\n apiInfo,\r\n clientRoot: \"\",\r\n companyLogoUrl: \"https://prodapi.lodasoft.com/company/br/logo/\",\r\n branchLogoUrl: \"https://prodapi.lodasoft.com/branch/br/logo/\",\r\n dnsBasedBranchLogoUrl: \"https://prodapi.lodasoft.com/company/br/logo\",\r\n faviconUrl: \"https://prodapi.lodasoft.com/company/br/favicon/\",\r\n borrowerPortalURI: \"https://prodclient.lodasoft.com/\",\r\n scope: \"Borrower\"\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport abstract class AbstractValueAccessor implements ControlValueAccessor {\r\n _value: any = '';\r\n get value(): any { return this._value; };\r\n set value(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n writeValue(value: any) {\r\n this._value = value;\r\n // warning: comment below if only want to emit on user intervention\r\n this.onChange(value);\r\n }\r\n\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }\r\n registerOnTouched(fn: () => void): void { this.onTouched = fn; }\r\n}\r\n\r\nexport function MakeProvider(type : any){\r\n return {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => type),\r\n multi: true\r\n };\r\n}\r\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { Address } from 'projects/borrower-app/src/app/models/address-model';\r\nimport { EnumsService } from 'projects/borrower-app/src/app/services/enums.service';\r\nimport { formViewProvider } from 'projects/borrower-app/src/app/services/form-view.provider';\r\n\r\n@Component({\r\n selector: 'address-autocomplete',\r\n templateUrl: 'address-autocomplete.component.html',\r\n viewProviders: [formViewProvider],\r\n})\r\nexport class AddressAutocompleteComponent {\r\n\r\n @Input() adressType: string = 'geocode';\r\n\r\n @Input() isItAForeignCountry: boolean = false;\r\n\r\n @Output() setGooglePickedAddress: EventEmitter
= new EventEmitter
();\r\n\r\n @Output() setManuallyEnteredAddress: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('addressText') addressText: any;\r\n\r\n @Input() autocompleteInput: string | undefined;\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n required: boolean = true;\r\n\r\n @Input()\r\n name: string;\r\n\r\n @Input()\r\n id: string;\r\n\r\n options: any = {\r\n types: ['geocode'],\r\n componentRestrictions: { country: 'us' },\r\n };\r\n\r\n private _map: any;\r\n protected autoCompleteDirectiveName: string;\r\n\r\n // Hack to mark the control as touched for general validation\r\n markAsTouched = () => {\r\n this.addressText.nativeElement.focus();\r\n this.addressText.nativeElement.blur();\r\n };\r\n\r\n constructor(private readonly _enumsService: EnumsService) { }\r\n\r\n onAddressChanged = () => {\r\n this.setManuallyEnteredAddress.emit(this.autocompleteInput);\r\n };\r\n\r\n handleAddressChange = (e: any) => {\r\n let address = new Address();\r\n address.address1 = \"\";\r\n setTimeout(() => {\r\n e.address_components.forEach((component: { types: any; long_name: any; short_name: any; }) => {\r\n let types = component.types;\r\n types.forEach((type: string) => {\r\n if (type === 'locality' || type === 'sublocality') {\r\n address.city = component.long_name;\r\n }\r\n if (type === 'administrative_area_level_1') {\r\n const state = this._enumsService.states.find(s => s.name === component.short_name);\r\n if (state) {\r\n address.state = state.value;\r\n }\r\n }\r\n if (type === 'administrative_area_level_2') {\r\n address.county = component.short_name;\r\n }\r\n if (type === 'postal_code') {\r\n address.zipCode = component.long_name;\r\n }\r\n if (type === 'street_number') {\r\n if (component.short_name) {\r\n address.address1 = component.short_name;\r\n }\r\n }\r\n if (type === 'route') {\r\n if (component.short_name) {\r\n address.address1 += \" \" + component.short_name;\r\n }\r\n }\r\n });\r\n });\r\n this.setGooglePickedAddress.emit(address);\r\n }, 200);\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Alert } from '../models/alert.model';\r\n\r\n\r\n@Component({\r\n selector: 'alert',\r\n templateUrl: 'alert.component.html'\r\n})\r\n\r\nexport class AlertComponent implements OnInit {\r\n\r\n @Input()\r\n alert: Alert | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{{alert.title}}
\r\n {{alert.message}}\r\n
\r\n
\r\n","import { Component, OnInit, Input, forwardRef, Output, EventEmitter } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'checkbox-flags',\r\n templateUrl: 'checkbox-flags.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CheckboxFlagsComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CheckboxFlagsComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() name: string | undefined;\r\n @Input() displayName: string | undefined;\r\n @Input() value: number | undefined = 0;\r\n\r\n @Output() checkStatusChanged: EventEmitter = new EventEmitter();\r\n\r\n private _modelValue: number = 0;\r\n\r\n checked: boolean = false;\r\n\r\n onChange: any = () => {};\r\n\r\n onTouch: any = () => {};\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n constructor() {\r\n this.value = 0;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n writeValue(modelValue: any) {\r\n this._modelValue = modelValue;\r\n const checked = modelValue & Number(this.value);\r\n this.checked = checked > 0;\r\n }\r\n\r\n onModelChange(checked: boolean) {\r\n this.checked = checked;\r\n\r\n if (this.value) {\r\n var flagSum = this._modelValue ^ this.value;\r\n this._modelValue = flagSum;\r\n this.onChange(flagSum);\r\n this.checkStatusChanged.emit(this.checked);\r\n }\r\n }\r\n}\r\n","\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { CurrencyPipe } from '@angular/common';\r\nimport { NgModel } from '@angular/forms';\r\nimport { AbstractValueAccessor, MakeProvider } from '../abstract-value-accessor';\r\nimport { formViewProvider } from 'projects/borrower-app/src/app/services/form-view.provider';\r\n\r\n@Component({\r\n selector: 'currency-input',\r\n templateUrl: 'currency-input.component.html',\r\n styleUrls: ['currency-input.component.scss'],\r\n providers: [MakeProvider(CurrencyInputComponent)],\r\n viewProviders: [formViewProvider]\r\n})\r\nexport class CurrencyInputComponent extends AbstractValueAccessor implements OnInit {\r\n\r\n @ViewChild('model') model: NgModel;\r\n\r\n @ViewChild('control') input: ElementRef;\r\n\r\n @Input()\r\n readonly: boolean;\r\n\r\n @Input()\r\n min: number;\r\n\r\n @Input()\r\n max: number;\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n highlightAsInvalid: boolean = false;\r\n\r\n @Input()\r\n name: string;\r\n\r\n @Input()\r\n required: boolean;\r\n\r\n @Input()\r\n isZeroValid: boolean = true;\r\n\r\n @Input()\r\n placeholder: string = \"$\";\r\n\r\n id: string;\r\n\r\n @Output()\r\n change: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n blur: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n set allowNegative(allowNegative: boolean) {\r\n this._allowNegative = allowNegative;\r\n this.setRegexForValidation();\r\n }\r\n\r\n get allowNegative(): boolean {\r\n return this._allowNegative;\r\n }\r\n\r\n @Input()\r\n set allowDecimals(allowDecimals: boolean) {\r\n this._allowDecimals = allowDecimals;\r\n this.setRegexForValidation();\r\n }\r\n\r\n get allowDecimals(): boolean {\r\n return this._allowDecimals;\r\n }\r\n\r\n @Input()\r\n allowEmpty: boolean = true;\r\n\r\n isEditActive: boolean = false;\r\n\r\n private _isFocused: boolean = false;\r\n\r\n private _caretPositionToMoveToInEditMode: number = 0;\r\n\r\n private _negativeOrPositiveIntegersRegex = /^-?[0-9]\\d*$/;\r\n\r\n private _negativeOrPositiveDecimalsRegex = /^[-]?[0-9]{1,9}(?:\\.[0-9]{1,2})?$/;\r\n\r\n private _positiveDecimalsRegex = /^[0-9]{1,9}(?:\\.[0-9]{1,2})?$/;\r\n\r\n private _positiveIntegersRegex = /^[0-9]\\d*$/;\r\n\r\n private _regexForSanitation = /[^\\d|\\-+|\\.+]/;\r\n\r\n private _regexForValidation: RegExp = null;\r\n\r\n private _allowNegative = true;\r\n\r\n private _allowDecimals = true;\r\n\r\n private _minValue = -99999999;\r\n\r\n private _maxValue = Number.MAX_SAFE_INTEGER;\r\n\r\n private _originalValue: any;\r\n\r\n constructor(private readonly _renderer2: Renderer2,\r\n private readonly _currencyPipe: CurrencyPipe) {\r\n super();\r\n this._regexForValidation = this._negativeOrPositiveDecimalsRegex;\r\n }\r\n\r\n override writeValue(value: any) {\r\n if (!this.isZeroValid && !isNaN(value)) {\r\n if (value === 0) {\r\n setTimeout(() => this.model.control.setErrors({ 'required': true }), 500);\r\n } else {\r\n setTimeout(() => this.model.control.setErrors(null), 500);\r\n }\r\n }\r\n if (this.min && value != null && !isNaN(value) && value < this.min) {\r\n setTimeout(() => this.model.control.setErrors({ 'min': true }), 500);\r\n }\r\n if (this.max && value != null && !isNaN(value) && value > this.max) {\r\n setTimeout(() => this.model.control.setErrors({ 'max': true }), 500);\r\n }\r\n this._value = value;\r\n this.onChange(value);\r\n this._originalValue = value;\r\n if (this.input && !this._isFocused) {\r\n const formattedValue = this._currencyPipe.transform(this._value, 'USD', 'symbol', '1.2-2');\r\n setTimeout(() => {\r\n this._renderer2.setProperty(this.input.nativeElement, 'value', formattedValue);\r\n })\r\n }\r\n }\r\n\r\n override registerOnChange(fn: (_: number | null) => void): void {\r\n this.onChange = (value) => {\r\n let numericValue: number | null = null;\r\n if (!value && value !== 0) {\r\n if (!this.allowEmpty) {\r\n numericValue = 0;\r\n }\r\n } else {\r\n numericValue = parseFloat(value);\r\n }\r\n fn(numericValue != 0 ? numericValue : value);\r\n };\r\n }\r\n\r\n onEditModeToggledOn = () => {\r\n this._originalValue = this._value;\r\n setTimeout(() => {\r\n this.input.nativeElement.focus();\r\n });\r\n this.isEditActive = true;\r\n }\r\n\r\n onKeyDown = (event: any) => {\r\n if (event.key === 'Tab' || event.key === 'Backspace' || event.key === 'Delete' || event.key === 'F12') {\r\n return;\r\n }\r\n const enteredValue = event.key ? event.key : \"\";\r\n let valueToTest = this._value != null ? this._value.toString() : '';\r\n if (document.activeElement) {\r\n const activeelement: any = document.activeElement;\r\n valueToTest = valueToTest.substr(0, activeelement.selectionStart) + valueToTest.substr(activeelement.selectionEnd);\r\n valueToTest = [valueToTest.slice(0, activeelement.selectionStart), enteredValue, valueToTest.slice(activeelement.selectionStart)].join('');\r\n }\r\n if (valueToTest === '-' || valueToTest === '0' || valueToTest.charAt(valueToTest.length - 1) === '.') {\r\n valueToTest += '1';\r\n }\r\n let passes = this._regexForValidation.test(Number(valueToTest).toString());\r\n if (!passes) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n onFocused = (event: any) => {\r\n this._isFocused = true;\r\n let currentvalue = this._value != null ? this._value.toString() : '';\r\n\r\n if (!currentvalue && this.allowEmpty) {\r\n return;\r\n }\r\n\r\n let sanitized = currentvalue.replace(this._regexForSanitation, '');\r\n sanitized = currentvalue != 0 ? Number(sanitized).toFixed(2) : null;\r\n\r\n const formattedValue = this.input.nativeElement.value;\r\n\r\n setTimeout(() => {\r\n const activeelement: any = document.activeElement;\r\n if (activeelement) {\r\n const caretPositionWhenClicked = activeelement.selectionStart;\r\n this._caretPositionToMoveToInEditMode = caretPositionWhenClicked;\r\n for (let i = 0; i <= caretPositionWhenClicked - 1; i++) {\r\n if (['$', ','].includes(formattedValue.charAt(i))) {\r\n this._caretPositionToMoveToInEditMode -= 1;\r\n }\r\n }\r\n }\r\n\r\n this._renderer2.setProperty(this.input.nativeElement, 'value', sanitized);\r\n setTimeout(() => {\r\n this.moveCaret();\r\n })\r\n })\r\n }\r\n\r\n onBlurred = (event: any) => {\r\n if (Number(this._value) < this.min) {\r\n setTimeout(() => this.model.control.setErrors({ 'min': true }), 0);\r\n }\r\n if (Number(this._value) > this.max) {\r\n setTimeout(() => this.model.control.setErrors({ 'max': true }), 0);\r\n }\r\n this._isFocused = false;\r\n if (this.input) {\r\n let currentvalue = this._value != null ? this._value.toString() : '';\r\n let sanitized = currentvalue.replace(this._regexForSanitation, '');\r\n if (sanitized) {\r\n sanitized = Number(sanitized).toFixed(2);\r\n this._value = Number(sanitized);\r\n }\r\n setTimeout(() => {\r\n const formattedValue = this._currencyPipe.transform(this._value, 'USD', 'symbol', '1.2-2');\r\n this._renderer2.setProperty(this.input.nativeElement, 'value', formattedValue);\r\n })\r\n }\r\n this.blur.emit(event);\r\n this.apply();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.name = this.name + Math.floor(Math.random() * Date.now());\r\n this.id = this.name;\r\n this.setRegexForValidation();\r\n }\r\n\r\n private moveCaret = () => {\r\n if (this.input.nativeElement.setSelectionRange) {\r\n this.input.nativeElement.setSelectionRange(this._caretPositionToMoveToInEditMode,\r\n this._caretPositionToMoveToInEditMode);\r\n }\r\n }\r\n\r\n private apply = () => {\r\n if (this.model.valid) {\r\n this._originalValue = this.value;\r\n this.isEditActive = false;\r\n }\r\n }\r\n\r\n private setRegexForValidation = () => {\r\n if (this._allowNegative) {\r\n if (this._allowDecimals) {\r\n this._regexForValidation = this._negativeOrPositiveDecimalsRegex;\r\n } else {\r\n this._regexForValidation = this._negativeOrPositiveIntegersRegex;\r\n }\r\n } else {\r\n if (this._allowDecimals) {\r\n this._regexForValidation = this._positiveDecimalsRegex;\r\n } else {\r\n this._regexForValidation = this._positiveIntegersRegex;\r\n }\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n This field is required\r\n\r\n
\r\n Value cannot be less than {{ min | currency }}\r\n
\r\n
\r\n Value cannot be greater than {{ max | currency }}\r\n
\r\n","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { NgModel } from '@angular/forms';\r\n\r\ndeclare const $: any;\r\n\r\n@Directive({\r\n selector: '[ngModel][datePicker]',\r\n providers: [NgModel]\r\n})\r\nexport class DatePickerDirective {\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2, private model: NgModel) { }\r\n\r\n ngOnInit() {\r\n this.applyDirectiveBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize(event: Event) {\r\n this.applyDirectiveBasedOnScreenSize(window.innerWidth);\r\n }\r\n\r\n private enableFlatpickr = () => {\r\n const id = this.elRef.nativeElement.id;\r\n var dateField = $(\"#\" + id);\r\n\r\n const dateValue = dateField.val();\r\n const isValid = !isNaN(new Date(dateValue.toString()) as any);\r\n\r\n if (dateValue && !isValid) {\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n try {\r\n dateField.flatpickr({\r\n enableTime: false,\r\n dateFormat: \"m/d/Y\",\r\n static: true,\r\n allowInput: true,\r\n errorHandler: (error) => {\r\n // swallow\r\n }\r\n //disableMobile: true\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n })\r\n }\r\n\r\n private disableFlatpckr = () => {\r\n const id = this.elRef.nativeElement.id;\r\n var dateField = $(\"#\" + id);\r\n var flatpickrInstance = dateField.data(\"flatpickr\");\r\n\r\n // Destroy the Flatpickr instance to disable it\r\n if (flatpickrInstance) {\r\n flatpickrInstance.destroy();\r\n }\r\n }\r\n\r\n private applyDirectiveBasedOnScreenSize(windowWidth: number) {\r\n if (windowWidth >= 768) {\r\n this.enableFlatpickr();\r\n } else {\r\n this.disableFlatpckr();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[numeric]'\r\n})\r\n\r\nexport class NumericDirective {\r\n\r\n @Input()\r\n decimals: number | null = 0;\r\n\r\n @Input()\r\n allowNegative: boolean = true;\r\n\r\n @Input()\r\n max: number | null = null;\r\n\r\n @Input()\r\n min: number | null = null;\r\n\r\n private _specialKeys = [\r\n 'Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'\r\n ];\r\n\r\n private _ctrlDown: boolean = false;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: any) {\r\n let pastedValue = (event.clipboardData || window.Clipboard).getData('text');\r\n if (!this.checkIfValid(pastedValue)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this._specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n } else if (event.which === 17) {\r\n // ctrl key or command key on a Mac\r\n this._ctrlDown = true;\r\n } else if (this._ctrlDown && [86, 67].indexOf(event.which) > -1) {\r\n // ctrl+c or ctrl+v\r\n return;\r\n } else {\r\n let current: string = this.el.nativeElement.value;\r\n // console.log(current);\r\n let next: string = current.concat(event.key);\r\n\r\n const selection = document.getSelection().toString();\r\n if (selection && selection === current) {\r\n next = event.key;\r\n }\r\n // console.log(next);\r\n if (!this.checkIfValid(next)) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n private checkIfValid = (value: any): boolean => {\r\n if (value) {\r\n if (!this.check(value, this.decimals)) {\r\n return false;\r\n } else {\r\n if (!this.allowNegative) {\r\n if (value.includes('-')) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n private check(value: string, decimals: number) {\r\n if (decimals === null || decimals === undefined) {\r\n return \"\";\r\n }\r\n if (this.max !== null && Number(value) > this.max) {\r\n return false;\r\n }\r\n if (this.min !== null && Number(value) < this.min) {\r\n return false;\r\n }\r\n if (this.allowNegative && value === '-') {\r\n return String(value).match(new RegExp(/-/));\r\n }\r\n if (decimals <= 0) {\r\n return String(value).match(new RegExp(/^[-]?[0-9]{1,9}?$/)); //^-?\\d+$ ^-?\\d+$\r\n } else {\r\n var regExpString = \"^[-]?\\\\s*((\\\\d+(\\\\.\\\\d{0,\" + decimals + \"})?)|((\\\\d*(\\\\.\\\\d{1,\" + decimals + \"}))))\\\\s*$\"\r\n return String(value).match(new RegExp(regExpString));\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Inject,\r\n Input,\r\n Optional,\r\n Renderer2\r\n} from \"@angular/core\";\r\nimport {\r\n COMPOSITION_BUFFER_MODE,\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR\r\n} from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: \"input[trim], textarea[trim]\",\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputTrimDirective, multi: true }]\r\n})\r\nexport class InputTrimDirective implements ControlValueAccessor {\r\n\r\n private get _type(): string {\r\n return this._sourceElementRef.nativeElement.type || \"text\";\r\n }\r\n\r\n // Get a value of the trim attribute if it was set.\r\n @Input() trim: string | undefined;\r\n\r\n @Input()\r\n allowEmpty: boolean = true;\r\n\r\n /**\r\n * Keep the value of input element in a cache.\r\n *\r\n * @type {string}\r\n * @private\r\n */\r\n private _value: string | undefined;\r\n\r\n // Source services to modify elements.\r\n private _sourceRenderer: Renderer2;\r\n private _sourceElementRef: ElementRef;\r\n\r\n /**\r\n * Updates the value on the blur event.\r\n */\r\n @HostListener(\"blur\", [\"$event.type\", \"$event.target.value\"])\r\n onBlur(event: string, value: string): void {\r\n this.updateValue(event, value.trim());\r\n this.onTouched();\r\n }\r\n\r\n /**\r\n * Updates the value on the input event.\r\n */\r\n @HostListener(\"input\", [\"$event.type\", \"$event.target.value\"])\r\n onInput(event: string, value: string): void {\r\n this.updateValue(event, value);\r\n }\r\n\r\n onChange = (_: any) => {};\r\n\r\n onTouched = () => {};\r\n\r\n constructor(\r\n @Inject(Renderer2) renderer: Renderer2,\r\n @Inject(ElementRef) elementRef: ElementRef,\r\n @Optional() @Inject(COMPOSITION_BUFFER_MODE) compositionMode: boolean\r\n ) {\r\n this._sourceRenderer = renderer;\r\n this._sourceElementRef = elementRef;\r\n }\r\n\r\n registerOnChange(fn: (_: any) => void): void { this.onChange = fn; }\r\n\r\n registerOnTouched(fn: () => void): void { this.onTouched = fn; }\r\n\r\n /**\r\n * Writes a new value to the element based on the type of input element.\r\n *\r\n * @param {any} value - new value\r\n */\r\n public writeValue(value: any): void {\r\n //\r\n // The Template Driven Form doesn't automatically convert undefined values to null. We will do,\r\n // keeping an empty string as string because the condition `'' || null` returns null what\r\n // could change the initial state of a model.\r\n // The Reactive Form does it automatically during initialization.\r\n //\r\n // SEE: https://github.com/anein/angular2-trim-directive/issues/18\r\n //\r\n this._value = value === \"\" ? \"\" : value || null;\r\n\r\n this._sourceRenderer.setProperty(this._sourceElementRef.nativeElement, \"value\", this._value);\r\n\r\n // a dirty trick (or magic) goes here:\r\n // it updates the element value if `setProperty` doesn't set a new value for some reason.\r\n //\r\n // SEE: https://github.com/anein/angular2-trim-directive/issues/9\r\n //\r\n if (this._type !== \"text\") {\r\n this._sourceRenderer.setAttribute(this._sourceElementRef.nativeElement, \"value\", this._value as string);\r\n }\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this._sourceRenderer.setProperty(this._sourceElementRef.nativeElement, 'disabled', isDisabled);\r\n }\r\n\r\n /**\r\n * Writes the cursor position in safari\r\n *\r\n * @param cursorPosition - the cursor current position\r\n * @param hasTypedSymbol\r\n */\r\n private setCursorPointer(cursorPosition: any, hasTypedSymbol: boolean): void {\r\n // move the cursor to the stored position (Safari usually moves the cursor to the end)\r\n // setSelectionRange method apply only to inputs of types text, search, URL, tel and password\r\n if (hasTypedSymbol && [\"text\", \"search\", \"url\", \"tel\", \"password\"].indexOf(this._type) >= 0) {\r\n // Ok, for some reason in the tests the type changed is not being catch and because of that\r\n // this line is executed and causes an error of DOMException, it pass the text without problem\r\n // But it should be a better way to validate that type change\r\n this._sourceElementRef.nativeElement.setSelectionRange(cursorPosition, cursorPosition);\r\n }\r\n }\r\n\r\n /**\r\n * Trims an input value, and sets it to the model and element.\r\n *\r\n * @param {string} value - input value\r\n * @param {string} event - input event\r\n */\r\n private updateValue(event: string, value: string): void {\r\n // check if the user has set an optional attribute, and Trimmmm!!! Uhahahaha!\r\n value = this.trim !== \"\" && event !== this.trim ? value : value.trim();\r\n\r\n const previous = this._value;\r\n\r\n // store the cursor position\r\n const cursorPosition = this._sourceElementRef.nativeElement.selectionStart;\r\n\r\n // write value to the element.\r\n this.writeValue(value);\r\n\r\n // Update the model only on getting new value, and prevent firing\r\n // the `dirty` state when click on empty fields.\r\n //\r\n // SEE:\r\n // https://github.com/anein/angular2-trim-directive/issues/17\r\n // https://github.com/anein/angular2-trim-directive/issues/35\r\n // https://github.com/anein/angular2-trim-directive/issues/39\r\n //\r\n if (this._value || previous) {\r\n if ((this._value || this.allowEmpty) && this._value.trim() !== previous) {\r\n this.onChange(this._value);\r\n }\r\n }\r\n\r\n // check that non-null value is being changed\r\n const hasTypedSymbol = value && previous && value !== previous;\r\n\r\n // write the cursor position\r\n this.setCursorPointer(cursorPosition, hasTypedSymbol as boolean);\r\n }\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n NG_VALIDATORS,\r\n ValidationErrors,\r\n Validator,\r\n ValidatorFn,\r\n} from '@angular/forms';\r\nimport { Utils } from 'projects/borrower-app/src/app/services/utils';\r\n\r\ntype CaseType = 'upper' | 'lower' | 'both';\r\nexport function caseSizeValidator(type: CaseType): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (type === 'upper') {\r\n const isValid = !control.value || Utils.containsUppercase(control.value);\r\n return isValid ? null : { uppercase: { value: control.value } };\r\n }\r\n\r\n if (type === 'lower') {\r\n const isValid = !control.value || Utils.containsLowercase(control.value);\r\n return isValid ? null : { lowercase: { value: control.value } };\r\n }\r\n\r\n if (type === 'both') {\r\n const isLowercaseValid = !control.value || Utils.containsLowercase(control.value);\r\n const isUppercaseValid = !control.value || Utils.containsUppercase(control.value);\r\n\r\n if (isLowercaseValid && isUppercaseValid) {\r\n return null;\r\n }\r\n\r\n const result = {}\r\n if (!isLowercaseValid) {\r\n result['lowercase'] = { value: control.value }\r\n }\r\n if (!isUppercaseValid) {\r\n result['uppercase'] = { value: control.value }\r\n }\r\n return result;\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[caseSize]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: CaseSizeValidatorDirective,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class CaseSizeValidatorDirective implements Validator {\r\n @Input('caseSize')\r\n caseSize: CaseType;\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.caseSize ? caseSizeValidator(this.caseSize)(control) : null;\r\n }\r\n}\r\n","export * from './case-validator.directive';\r\nexport * from './min-value-validator.directive';\r\nexport * from './require-digit-validator.directive';\r\nexport * from './require-non-alphanumeric-validator.directive';\r\nexport * from './min-time-validator.directive';\r\nexport * from './max-time-validator.directive';\r\n","import { Directive, Input } from \"@angular/core\";\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from \"@angular/forms\";\r\n\r\nexport function maxTimeValidator(maxTime: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = control.value && Date.parse('1/1/2023 ' + control.value) > Date.parse('1/1/2023 ' + maxTime);\r\n return invalid ? { maxTime: { value: control.value } } : null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[maxTime]',\r\n providers: [{provide: NG_VALIDATORS, useExisting: MaxTimeValidatorDirective, multi: true}]\r\n})\r\nexport class MaxTimeValidatorDirective implements Validator {\r\n\r\n private _maxTime: string = \"23:59\";\r\n private _onChange?: () => void;\r\n\r\n get maxTime(): string {\r\n return this._maxTime;\r\n }\r\n\r\n @Input()\r\n set minTime(value: string) {\r\n this._maxTime = value ? value : \"23:59\";\r\n if (this._onChange) this._onChange();\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.maxTime != null ? maxTimeValidator(this.maxTime)(control) : null;\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n}\r\n","import { Directive, Input } from \"@angular/core\";\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from \"@angular/forms\";\r\n\r\nexport function minTimeValidator(minTime: string): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = control.value && Date.parse('1/1/2023 ' + control.value) < Date.parse('1/1/2023 ' + minTime);\r\n return invalid ? { minTime: { value: control.value } } : null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[minTime]',\r\n providers: [{provide: NG_VALIDATORS, useExisting: MinTimeValidatorDirective, multi: true}]\r\n})\r\nexport class MinTimeValidatorDirective implements Validator {\r\n\r\n private _minTime: string = \"00:00\";\r\n private _onChange?: () => void;\r\n\r\n get minTime(): string {\r\n return this._minTime;\r\n }\r\n\r\n @Input()\r\n set minTime(value: string) {\r\n this._minTime = value ? value : \"00:00\";\r\n if (this._onChange) this._onChange();\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.minTime != null ? minTimeValidator(this.minTime)(control) : null;\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n}\r\n","import { Directive, Input } from \"@angular/core\";\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn } from \"@angular/forms\";\r\n\r\nexport function minValueValidator(minValue: number): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const invalid = control.value < minValue;\r\n return invalid ? { minValue: { value: control.value } } : null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[minValue]',\r\n providers: [{provide: NG_VALIDATORS, useExisting: MinValueValidatorDirective, multi: true}]\r\n})\r\nexport class MinValueValidatorDirective implements Validator {\r\n\r\n @Input('minValue') minValue = -9999999;\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.minValue != null ? minValueValidator(this.minValue)(control) : null;\r\n }\r\n}\r\n","import { Directive } from \"@angular/core\";\r\nimport { AbstractControl, ValidationErrors, NG_VALIDATORS } from \"@angular/forms\";\r\n\r\nexport function requireDigitValidator() {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const regexp = /[0-9]/g;\r\n const isValid = !control.value || regexp.test(control.value);\r\n return isValid ? null : { requiresDigit: { value: control.value } };\r\n }\r\n}\r\n@Directive({\r\n selector: '[requiresDigit]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: RequireDigitValidatorDirective,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RequireDigitValidatorDirective {\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return requireDigitValidator()(control);\r\n }\r\n}","import { Directive } from \"@angular/core\";\r\nimport { AbstractControl, ValidationErrors, NG_VALIDATORS } from \"@angular/forms\";\r\nimport { Utils } from \"projects/borrower-app/src/app/services/utils\";\r\n\r\nexport function requireNonAlphaNumericValidator() {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const isValid = !control.value || Utils.containsSpecialCharacter(control.value);\r\n return isValid ? null : { requiresNonAplhaNumeric: { value: control.value } };\r\n }\r\n}\r\n@Directive({\r\n selector: '[requiresNonAlphaNumeric]',\r\n providers: [\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: RequireNonAlphaNumericValidatorDirective,\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class RequireNonAlphaNumericValidatorDirective {\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return requireNonAlphaNumericValidator()(control);\r\n }\r\n}\r\n","import { Component, ComponentRef, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { Drawer, DrawerAction, DrawerOptions, DrawerService, DrawerSize, DynamicComponentInfo } from 'projects/borrower-app/src/app/services/drawer.service';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'drawer',\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss']\r\n})\r\nexport class DrawerComponent implements OnInit, OnDestroy {\r\n\r\n @ViewChild('dynamicComponentContainer', { read: ViewContainerRef }) componentContainer: ViewContainerRef;\r\n\r\n ngUnsubscribe = new Subject();\r\n\r\n @Input()\r\n title: string;\r\n\r\n @Input()\r\n isOpen: boolean = false;\r\n\r\n @Input()\r\n set options(options: DrawerOptions) {\r\n this._drawer.options = options;\r\n if (options) {\r\n this.setSizeDependentConfigValue(options.size);\r\n }\r\n }\r\n\r\n @Input()\r\n templateRef: TemplateRef;\r\n\r\n @Output()\r\n opened: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n closed: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n componentLoaded: EventEmitter = new EventEmitter();\r\n\r\n componentInstance: any;\r\n\r\n @Input()\r\n name: string;\r\n\r\n id: string;\r\n\r\n private _rightPosition: string = \"-580px\";\r\n\r\n private _windowWidth: number = 480;\r\n\r\n private _drawer: Drawer;\r\n\r\n constructor(private readonly _drawerService: DrawerService) {\r\n this.id = uuidv4();\r\n this._drawer = new Drawer();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n ngOnInit(): void {\r\n this._drawer.name = this.name;\r\n this._drawerService.getDrawer(this._drawer)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe)\r\n )\r\n .subscribe((action: DrawerAction) => {\r\n if (action.show) {\r\n if (action.title) {\r\n this.title = action.title;\r\n }\r\n if (action.options) {\r\n this.setSizeDependentConfigValue(action.options.size);\r\n }\r\n this.open(action.dynamicComponentInfo);\r\n return;\r\n } else if (this.isOpen) {\r\n this.close();\r\n }\r\n });\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n private contentWidth() {\r\n const element = document.getElementById(this.id);\r\n const screenWidth = window.innerWidth;\r\n if (element.clientWidth >= screenWidth) {\r\n element.classList.add(\"full-screen-drawer\");\r\n } else {\r\n element.classList.remove(\"full-screen-drawer\");\r\n }\r\n }\r\n\r\n onCloseClicked = () => {\r\n this._drawerService.hide(this.name, 10);\r\n }\r\n\r\n private open = (dynamicComponentInfo?: DynamicComponentInfo) => {\r\n if (dynamicComponentInfo) {\r\n this.loadDynamicComponent(dynamicComponentInfo);\r\n }\r\n this.doOpen();\r\n }\r\n\r\n private doOpen = () => {\r\n this.isOpen = true;\r\n this.opened.emit();\r\n const element = document.getElementById(this.id);\r\n if (element) {\r\n element.style.right = \"0px\";\r\n element.style.width = this._windowWidth + \"px\";\r\n setTimeout(() => {\r\n const screenWidth = window.innerWidth;\r\n if (this._windowWidth >= screenWidth) {\r\n element.classList.add(\"full-screen-drawer\");\r\n } else {\r\n element.classList.remove(\"full-screen-drawer\");\r\n }\r\n })\r\n }\r\n }\r\n\r\n private close = () => {\r\n this.isOpen = false;\r\n this.closed.emit();\r\n const element = document.getElementById(this.id);\r\n if (element) {\r\n element.style.right = this._rightPosition;\r\n }\r\n }\r\n\r\n private loadDynamicComponent = (dynamicComponentInfo: DynamicComponentInfo): ComponentRef => {\r\n this.componentContainer.clear();\r\n if (dynamicComponentInfo && dynamicComponentInfo.componentType) {\r\n const componentRef = this.componentContainer.createComponent(dynamicComponentInfo.componentType);\r\n this.componentInstance = componentRef.instance;\r\n componentRef.instance.config = dynamicComponentInfo.data;\r\n\r\n for (const [key, value] of dynamicComponentInfo.parameters) {\r\n componentRef.instance[key] = value;\r\n }\r\n this.componentLoaded.emit(componentRef.instance);\r\n return componentRef;\r\n }\r\n return null;\r\n }\r\n\r\n private setSizeDependentConfigValue = (size: DrawerSize) => {\r\n switch (size) {\r\n case DrawerSize.Small:\r\n this._windowWidth = 320;\r\n this._rightPosition = \"-320px\";\r\n break;\r\n case DrawerSize.Medium:\r\n this._windowWidth = 480;\r\n this._rightPosition = \"-480px\";\r\n break;\r\n case DrawerSize.Large:\r\n this._windowWidth = 640;\r\n this._rightPosition = \"-640px\";\r\n break;\r\n case DrawerSize.XLarge:\r\n this._windowWidth = 780;\r\n this._rightPosition = \"-780px\";\r\n break;\r\n case DrawerSize.XXLarge:\r\n this._windowWidth = 1180;\r\n this._rightPosition = \"-1180px\";\r\n break;\r\n case DrawerSize.XXXLarge:\r\n this._windowWidth = 1600;\r\n this._rightPosition = \"-1600px\";\r\n break;\r\n case DrawerSize.XXXXLarge:\r\n this._windowWidth = 1880;\r\n this._rightPosition = \"-1880px\";\r\n break;\r\n }\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n ×\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Component, ComponentFactoryResolver, EventEmitter, Input, OnDestroy, OnInit, Output, ViewContainerRef } from \"@angular/core\";\r\nimport { WizardFlowSettings } from \"projects/borrower-app/src/app/models/wizard/config/flow-settings.model\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'dynamically-rendered-content',\r\n template: ''\r\n})\r\nexport class DynamicallyRenderedContentComponent implements OnInit, OnDestroy {\r\n\r\n private _component: any;\r\n\r\n @Input()\r\n set component(component: any) {\r\n this._component = component;\r\n if (this._component) {\r\n this.render();\r\n }\r\n }\r\n\r\n @Input() data: any;\r\n\r\n @Output()\r\n wizardFlowSettingsChanged: EventEmitter = new EventEmitter();\r\n\r\n private _wizardFlowSettingsChangedSubscription: Subscription;\r\n\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private componentFactoryResolver: ComponentFactoryResolver) { }\r\n ngOnInit() {\r\n if (!this._component) {\r\n return;\r\n }\r\n this.render();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._wizardFlowSettingsChangedSubscription) {\r\n this._wizardFlowSettingsChangedSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n private render = () => {\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this._component);\r\n this.viewContainerRef.clear();\r\n\r\n const componentRef = this.viewContainerRef.createComponent(componentFactory);\r\n if ((componentRef.instance as any).wizardFlowSettingsChanged) {\r\n this._wizardFlowSettingsChangedSubscription = (componentRef.instance as any).wizardFlowSettingsChanged.subscribe(e => {\r\n this.wizardFlowSettingsChanged.emit(e);\r\n })\r\n }\r\n }\r\n}\r\n","import { Directive, forwardRef, Attribute } from '@angular/core';\r\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true }\r\n ]\r\n})\r\nexport class EqualValidator implements Validator {\r\n constructor(@Attribute('validateEqual') public validateEqual: string,\r\n @Attribute('reverse') public reverse: string) {\r\n }\r\n\r\n private get isReverse() {\r\n if (!this.reverse) return false;\r\n return this.reverse === \"true\";\r\n }\r\n\r\n validate(c: AbstractControl): { [key: string]: any } | null {\r\n // self value\r\n let v = c.value;\r\n\r\n // control value\r\n let e = c.root.get(this.validateEqual);\r\n\r\n // value not equal\r\n if (e && v !== e.value && !this.isReverse) {\r\n return {\r\n validateEqual: true\r\n }\r\n }\r\n\r\n // value equal and reverse\r\n if (e && v === e.value && this.isReverse) {\r\n if (e.errors) {\r\n delete e.errors['validateEqual'];\r\n if (!Object.keys(e.errors).length) e.setErrors(null);\r\n }\r\n }\r\n\r\n // value not equal and reverse\r\n if (e && v !== e.value && this.isReverse) {\r\n e.setErrors({ validateEqual: true });\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\r\nimport { PageUtils } from '../utils/page.utils';\r\n\r\n@Component({\r\n selector: 'favicon-loader',\r\n templateUrl: 'favicon-loader.component.html'\r\n})\r\nexport class FaviconLoaderComponent {\r\n\r\n @Input()\r\n faviconUrl: string = '/assets/images/favicon.ico';\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n onImageLoaded() {\r\n PageUtils.addFavicon(this.faviconUrl);\r\n this.detach();\r\n }\r\n\r\n onImageError() {\r\n }\r\n\r\n private detach() {\r\n this.cdr.detach();\r\n }\r\n}\r\n","\"FaviconLoader\"\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n})\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean | undefined;\r\n @Output() fileDropped = new EventEmitter();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt: { preventDefault: () => void; stopPropagation: () => void; }) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: { preventDefault: () => void; stopPropagation: () => void; }) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt: any) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'file-list',\r\n templateUrl: './file-list.component.html',\r\n styleUrls: ['../file-upload.component.scss'],\r\n})\r\nexport class FileListComponent implements OnInit {\r\n @Input() files: any[] = [];\r\n @Input() isUploading: boolean = false;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n deleteFile(index: number) {\r\n if (this.isUploading) {\r\n console.log(\"Upload in progress.\");\r\n return;\r\n }\r\n this.files.splice(index, 1);\r\n }\r\n\r\n formatBytes(bytes: number, decimals = 2)\r\n {\r\n if (bytes === 0) {\r\n return \"0 Bytes\";\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals;\r\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\r\n }\r\n}\r\n","
\r\n
\r\n \"file\"\r\n
\r\n

\r\n {{ file?.name }}\r\n

\r\n

\r\n {{ formatBytes(file?.size) }}\r\n

\r\n \r\n
\r\n \"file\"\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.scss']\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n\r\n @Output()\r\n uploadClicked = new EventEmitter();\r\n\r\n @Input()\r\n isUploading : boolean;\r\n\r\n public files: File[] = [];\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n protected onFilesSelected($event: any) {\r\n let selectedFiles = $event.target.files;\r\n this.onAfterFilesSelected(selectedFiles);\r\n }\r\n\r\n protected onFilesDropped($event: any) {\r\n let selectedFiles = $event;\r\n this.onAfterFilesSelected(selectedFiles);\r\n }\r\n\r\n protected onUploadClicked = () => {\r\n this.uploadClicked.emit(this.files);\r\n }\r\n\r\n private onAfterFilesSelected = (selectedFiles: any[]) => {\r\n for (const item of selectedFiles) {\r\n item.progress = 0;\r\n this.files.push(item);\r\n }\r\n }\r\n}\r\n\r\n","
\r\n \r\n \"\"\r\n

Drag and drop file here

\r\n

or

\r\n \r\n

\r\n
(.txt, .pdf, .doc, .docx, .jpg, .jpeg, .png)
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-progress',\r\n templateUrl: './progress.component.html',\r\n styleUrls: ['./progress.component.scss']\r\n})\r\nexport class ProgressComponent implements OnInit {\r\n @Input() progress = 0;\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'footer',\r\n templateUrl: 'footer.component.html'\r\n})\r\n\r\nexport class FooterComponent implements OnInit {\r\n\r\n @Input()\r\n isDefaultFlow: boolean = false;\r\n\r\n @Input()\r\n industryAffiliations: string[] = [];\r\n\r\n currentYear: number = new Date().getFullYear();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\t\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {{currentYear}}©\r\n Lodasoft\r\n Privacy Policy\r\n
\r\n
\r\n \r\n \"logo\"\r\n \"logo\"\r\n \"logo\"\r\n \"logo\"\r\n \"logo\"\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","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AuthService } from 'projects/borrower-app/src/app/services/auth.service';\r\nimport { NavigationService } from 'projects/borrower-app/src/app/services/navigation.service';\r\nimport { WizardFlowServiceBase } from 'projects/borrower-app/src/app/services/wizard/wizard-flow-service.base';\r\nimport { UserInfo } from '../models/user-info.model';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { ApplicationContextService } from 'projects/borrower-app/src/app/services/application-context.service';\r\n\r\n@Component({\r\n selector: 'header',\r\n templateUrl: 'header.component.html'\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n @Input() userInfo: UserInfo | undefined;\r\n\r\n possibleLogoUrls: string[] = [];\r\n\r\n constructor(\r\n private readonly _authService: AuthService,\r\n private readonly _environment: EnvironmentService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _wizardFlowService: WizardFlowServiceBase,\r\n private readonly _applicationContextService: ApplicationContextService) {\r\n this.possibleLogoUrls = this._navigationService.possibleLogoUrls;\r\n if (this._wizardFlowService.companyId) {\r\n this.possibleLogoUrls.push(this._environment.companyLogoUrl + this._wizardFlowService.companyId);\r\n }\r\n }\r\n\r\n public get isLoggedIn(): boolean {\r\n const isLoggedIn = this._authService.isLoggedIn();\r\n return isLoggedIn;\r\n }\r\n\r\n logout = () => {\r\n this._authService.logout();\r\n this._wizardFlowService.resetFlows();\r\n this._navigationService.navigateToLogin(undefined, false);\r\n this._applicationContextService.reset();\r\n }\r\n\r\n redirectToBorrowerPortal = () => {\r\n this._navigationService.navigateToPath('borrower-portal', true);\r\n }\r\n\r\n ngOnInit() {\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
{{userInfo!.name}}\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 Sign Out\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","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'html-viewer-dialog',\r\n templateUrl: 'html-viewer-dialog.component.html'\r\n})\r\nexport class HtmlViewerDialogComponent implements OnInit {\r\n\r\n @Input()\r\n htmlContent: string;\r\n\r\n @Input()\r\n title: string;\r\n\r\n constructor(public activeModal: NgbActiveModal) { }\r\n\r\n ngOnInit() {\r\n if (this.htmlContent) {\r\n this.loadEmailTemplatePreview();\r\n }\r\n }\r\n\r\n private loadEmailTemplatePreview = () => {\r\n setTimeout(() => {\r\n let iframe = document.getElementById(`htmlPreviewPanel`) as HTMLIFrameElement;\r\n if (!iframe) {\r\n return;\r\n }\r\n let doc = iframe.contentDocument;\r\n setTimeout(() => {\r\n doc.open();\r\n doc.write(this.htmlContent);\r\n doc.close();\r\n }, 100)\r\n });\r\n }\r\n}\r\n","
\r\n
{{title}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loan-image',\r\n templateUrl: 'loan-image.component.html',\r\n styleUrls: ['./loan-image.component.scss']\r\n})\r\nexport class LoanImageComponent{\r\n\r\n @Input() imageUrls: string[] = [];\r\n @Input() isSrcAllowed: boolean = false;\r\n @Input() size: number = 200;\r\n\r\n get imageUrl() {\r\n if (this._imageRetries > this.imageUrls.length - 1 || !this.isSrcAllowed) {\r\n return 'assets/images/street-view-fallback-img.png';\r\n }\r\n return this.imageUrls[this._imageRetries];\r\n }\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n onImageLoaded() {\r\n this.detach();\r\n }\r\n\r\n onImageError() {\r\n this._imageRetries++;\r\n }\r\n\r\n private _imageRetries: number = 0;\r\n\r\n private detach() {\r\n this.cdr.detach();\r\n }\r\n\r\n\r\n}\r\n"," \r\n \r\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'logo',\r\n templateUrl: 'logo.component.html'\r\n})\r\nexport class LogoComponent {\r\n\r\n @Input()\r\n logoUrlsToTry: string[] = [];\r\n\r\n @Input()\r\n height: number | undefined;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n\r\n private imageRetries: number = 0;\r\n\r\n private detach() {\r\n this.cdr.detach();\r\n }\r\n\r\n getImageUrl() {\r\n if (this.imageRetries > this.logoUrlsToTry.length - 1) {\r\n return '/assets/images/logo.png';\r\n }\r\n return this.logoUrlsToTry[this.imageRetries];\r\n }\r\n\r\n onImageLoaded() {\r\n this.detach();\r\n }\r\n\r\n onImageError() {\r\n this.imageRetries++;\r\n }\r\n}\r\n","\r\n \"Logo\"\r\n","import { ChannelRole } from \"projects/borrower-app/src/app/models/channel-role.model\";\r\nimport { ExternalContact } from \"projects/borrower-app/src/app/models/external-contact.model\";\r\nimport { InternalContact } from \"projects/borrower-app/src/app/models/internal-contact.model\";\r\nimport { Role } from \"projects/borrower-app/src/app/models/role.model\";\r\nimport { User } from \"projects/borrower-app/src/app/models/user.model\";\r\nimport { UserProfile } from \"projects/borrower-app/src/app/models/user/user-profile.model\";\r\nimport { Mentionable } from \"./message-editor-with-mentions/mentionable.model\";\r\nimport { EnumerationItem } from \"./models/enumeration-item.model\";\r\n\r\nexport class MentionsUtils {\r\n\r\n public static generateDisplayTextWithMentions = (displayText: string): string => {\r\n const regexp = new RegExp(\r\n /@\\{(?([\\w ]|[^a-zA-Z0-9\\:])+):(?([\\w ]|[^a-zA-Z0-9\\:])+)(?::(?[\\w-])+)?\\}/g\r\n );\r\n let results = regexp.exec(displayText);\r\n if (!results || results.length < 2) {\r\n return displayText;\r\n }\r\n\r\n const textToDisplay = displayText.replace(\r\n results[0],\r\n results[1]\r\n );\r\n return MentionsUtils.generateDisplayTextWithMentions(textToDisplay);\r\n };\r\n\r\n public static generateDisplayHtmlWithMentions = (displayText: string): string => {\r\n const regexp = new RegExp(\r\n /@\\{(?([\\w ]|[^a-zA-Z0-9\\:])+):(?([\\w ]|[^a-zA-Z0-9\\:])+)(?::(?[\\w-])+)?\\}/g\r\n );\r\n let results = regexp.exec(displayText);\r\n if (!results || results.length < 2) {\r\n return displayText;\r\n }\r\n\r\n const displayHtml = displayText.replace(\r\n results[0],\r\n `@${results[1]}`\r\n );\r\n return MentionsUtils.generateDisplayHtmlWithMentions(displayHtml);\r\n };\r\n\r\n public static prepareUserMentionables = (apiBaseUrl: string, users: User[]) => {\r\n const usersThatCanBeMentioned = users.map((u) => {\r\n return MentionsUtils.toMentionable(apiBaseUrl, u);\r\n });\r\n return usersThatCanBeMentioned;\r\n };\r\n\r\n public static prepareInternalContactsMentionable = (): Mentionable => {\r\n const mentionable = {\r\n id: '@InternalContacts',\r\n name: 'Internal Contacts',\r\n avatarUrl: 'assets/images/male.png',\r\n isOnline: true,\r\n mentionCode: '@{Internal Contacts:InternalContacts}'\r\n };\r\n return mentionable;\r\n }\r\n\r\n public static prepareHereMentionable = (): Mentionable => {\r\n const mentionable = {\r\n id: '@Here',\r\n name: 'Here',\r\n avatarUrl: 'assets/images/male.png',\r\n isOnline: true,\r\n mentionCode: '@{Here:Here}'\r\n };\r\n return mentionable;\r\n }\r\n\r\n public static toMentionable = (apiBaseUrl: string, user: User | UserProfile): Mentionable => {\r\n const fullName = user.firstName + ' ' + user.lastName;\r\n const mentionable: Mentionable = {\r\n id: '@' + fullName,\r\n name: fullName,\r\n avatarUrl: user.avatarId\r\n ? apiBaseUrl + '/avatars/' + user.avatarId\r\n : 'assets/images/male.png',\r\n isOnline: true,\r\n mentionCode: `@{${fullName}:User:${user.userCompanyGuid}}`,\r\n };\r\n return mentionable;\r\n };\r\n\r\n public static convertToMentionable = (contact: ExternalContact): Mentionable => {\r\n const fullName = contact.firstName + ' ' + contact.lastName;\r\n const mentionable: Mentionable = {\r\n id: '@' + fullName,\r\n name: fullName,\r\n avatarUrl: 'assets/images/male.png',\r\n isOnline: true,\r\n mentionCode: `@{${fullName}:User:${contact.userId}}`,\r\n };\r\n return mentionable;\r\n };\r\n\r\n public static prepareMergeFieldsMentionables = (fields: EnumerationItem[]): Mentionable[] => {\r\n let mentionables: Mentionable[] = [];\r\n\r\n fields.forEach(f => {\r\n let mentionable = {\r\n id: '%' + f.value + '%',\r\n name: f.name,\r\n avatarUrl: 'assets/images/key.svg',\r\n isOnline: true,\r\n mentionCode: `%{${f.name}:Field:${f.value}}`,\r\n } as Mentionable;\r\n\r\n mentionables.push(mentionable)\r\n })\r\n\r\n return mentionables;\r\n };\r\n\r\n public static prepareContactRoleMentionables = (\r\n enabledChannel: string,\r\n channelRoles: any,\r\n internalContacts: InternalContact[],\r\n allUsers: User[]\r\n ): Mentionable[] => {\r\n let mentionables: Mentionable[] = [];\r\n\r\n let rolesAsMentionables: Role[] = [];\r\n if (enabledChannel) {\r\n rolesAsMentionables = channelRoles[enabledChannel.toLowerCase()];\r\n }\r\n\r\n rolesAsMentionables.forEach((role: ChannelRole) => {\r\n if (role.isLoanContact) {\r\n const mentionable = MentionsUtils.convertContactRoleToMentionable(role, allUsers, internalContacts);\r\n if (mentionable) {\r\n mentionables.push(mentionable);\r\n }\r\n }\r\n });\r\n return mentionables;\r\n };\r\n\r\n public static convertContactRoleToMentionable = (contactRole: Role, allUsers: User[], internalContacts: InternalContact[]): Mentionable => {\r\n const internalContactWithRole = internalContacts.find((c) => c.roleId === contactRole.roleId);\r\n if (internalContactWithRole) {\r\n const userAsInternalContact = allUsers.find((u) => u.userCompanyGuid === internalContactWithRole.userId);\r\n if (userAsInternalContact) {\r\n const fullName = (userAsInternalContact.firstName + ' ' + userAsInternalContact.lastName).trim();\r\n const mentionable: Mentionable = {\r\n id: '@' + fullName,\r\n name: contactRole.roleName,\r\n avatarUrl: 'assets/images/male.png',\r\n isOnline: true,\r\n mentionCode: `@{${fullName}:User:${userAsInternalContact.userCompanyGuid}}`,\r\n };\r\n return mentionable;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport * as ClassicEditor from 'projects/shared/ckeditor5/classic/build/ckeditor';\r\nimport { Mentionable } from './mentionable.model';\r\n\r\n@Component({\r\n selector: 'message-editor-with-mentions',\r\n templateUrl: 'message-editor-with-mentions.component.html',\r\n styleUrls: ['message-editor-with-mentions.component.scss']\r\n})\r\n\r\nexport class MessageEditorWithMentionsComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('messageEditorComponent')\r\n messageEditorComponent: any;\r\n\r\n @Output()\r\n messageChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n enterHit: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n mentionables: Mentionable[] = [];\r\n\r\n @Input()\r\n placeholder: string = 'To notify a user, simply type @ and select them from the list.';\r\n\r\n messageToSend: string = \"\";\r\n\r\n messageEditor = ClassicEditor;\r\n\r\n messageEditorConfig: any = {};\r\n\r\n constructor(private readonly _elementRef: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit() {\r\n this.messageEditorConfig = {\r\n placeholder: this.placeholder,\r\n mention: {\r\n feeds: [\r\n {\r\n marker: '@',\r\n itemRenderer: this.customItemRenderer,\r\n feed: this.getFeedItems\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n\r\n reset = () => {\r\n this.messageToSend = \"\";\r\n }\r\n\r\n private customizeMessageEditor = (editor: ClassicEditor) => {\r\n editor.conversion.for('upcast').elementToAttribute({\r\n view: {\r\n name: 'a',\r\n key: 'data-mention',\r\n classes: 'mention',\r\n attributes: {\r\n 'data-user-id': true,\r\n },\r\n },\r\n model: {\r\n key: 'mention',\r\n value: (viewItem) => editor.plugins.get('Mention').toMentionAttribute(viewItem),\r\n },\r\n converterPriority: 'high',\r\n });\r\n\r\n editor.conversion.for('downcast').attributeToElement({\r\n model: 'mention',\r\n view: (modelAttributeValue, { writer }) => {\r\n\r\n if (!modelAttributeValue) {\r\n return;\r\n }\r\n\r\n //eslint-disable-next-line consistent-return\r\n let anchor = writer.createAttributeElement('a', {\r\n class: 'mention',\r\n 'data-user-id': modelAttributeValue.mentionCode\r\n }, {\r\n priority: 20,\r\n id: modelAttributeValue.name,\r\n });\r\n return anchor;\r\n },\r\n converterPriority: 'high',\r\n });\r\n }\r\n\r\n onEditorReady(editor: ClassicEditor) {\r\n const dom: HTMLElement = this._elementRef.nativeElement;\r\n const ckToolbar = dom.querySelector('.ck-toolbar') as HTMLElement;\r\n ckToolbar.style.display = \"none\";\r\n this.customizeMessageEditor(editor);\r\n if (this.disabled) {\r\n editor.enableReadOnlyMode('message-editor');\r\n } else {\r\n editor.disableReadOnlyMode('message-editor');\r\n }\r\n const self = this;\r\n editor.editing.view.document.on('keydown', (e, data) => {\r\n if ( data.keyCode === 13 ) {\r\n self.enterHit.emit();\r\n }\r\n })\r\n }\r\n\r\n onMessageToSendChanged = () => {\r\n if (this.messageEditorComponent && this.messageEditorComponent.editorInstance) {\r\n const { convert } = require('html-to-text');\r\n let plainTextMessage: string = convert(this.messageEditorComponent.editorInstance.getData());\r\n this.mentionables.forEach(m => {\r\n plainTextMessage = plainTextMessage.replace(m.id, m.mentionCode);\r\n });\r\n this.messageChanged.emit(plainTextMessage);\r\n }\r\n }\r\n\r\n private getFeedItems = (queryText: string): Mentionable[] => {\r\n const itemsToDisplay = this.mentionables\r\n // Filter out the full list of all items to only those matching the query text.\r\n .filter(isItemMatching)\r\n // Return 10 items max - needed for generic queries when the list may contain hundreds of elements.\r\n .slice(0, 10);\r\n return itemsToDisplay;\r\n\r\n function isItemMatching(item: Mentionable) {\r\n // Make the search case-insensitive.\r\n const searchString = queryText.toLowerCase();\r\n\r\n return (\r\n item.name.toLowerCase().includes(searchString) ||\r\n item.id.toLowerCase().includes(searchString)\r\n );\r\n }\r\n }\r\n\r\n private customItemRenderer = (mentionable: Mentionable) => {\r\n const itemElement = document.createElement( 'span' );\r\n const avatar = document.createElement( 'img' );\r\n const userNameElement = document.createElement( 'span' );\r\n const fullNameElement = document.createElement( 'span' );\r\n\r\n itemElement.classList.add( 'mention__item' );\r\n\r\n avatar.src = mentionable.avatarUrl;\r\n avatar.classList.add('rounded-circle');\r\n avatar.classList.add('thumb-sm');\r\n\r\n userNameElement.classList.add( 'mention__item__user-name' );\r\n userNameElement.textContent = mentionable.name;\r\n\r\n fullNameElement.classList.add( 'mention__item__full-name' );\r\n fullNameElement.textContent = mentionable.id;\r\n\r\n itemElement.appendChild( avatar );\r\n itemElement.appendChild( userNameElement );\r\n itemElement.appendChild( fullNameElement );\r\n\r\n return itemElement;\r\n }\r\n}\r\n","\r\n\r\n","import { Injectable } from \"@angular/core\";\r\nimport { NgbModal, NgbModalOptions, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\ndeclare const Swal: any;\r\n\r\n@Injectable()\r\nexport class ModalService {\r\n\r\n container: string;\r\n\r\n constructor(private readonly _modal: NgbModal) {\r\n this.container = 'body';\r\n }\r\n\r\n show = (content: any, options?: NgbModalOptions): NgbModalRef => {\r\n if (!options) {\r\n const modalOptions: NgbModalOptions = {\r\n //size: \"sm\",\r\n backdrop: \"static\",\r\n container: \"body\"\r\n };\r\n options = modalOptions;\r\n }\r\n const modalRef = this._modal.open(content, {\r\n container: this.container,\r\n ...(options ? options : {})\r\n });\r\n return modalRef;\r\n }\r\n\r\n showErrorMessage = (header?: string, message?: string) => {\r\n const headerToShow = header ? header : \"Error!\";\r\n const messageToShow = message ? message : \"An error has occurred, please contact your system administrator.\"\r\n Swal.fire(\r\n headerToShow,\r\n messageToShow,\r\n 'error'\r\n );\r\n }\r\n}\r\n","export enum AlertType {\r\n Info = 0,\r\n Warning = 1,\r\n Error = 2,\r\n Success = 3\r\n}\r\n","import { AlertType } from \"./alert-type.enum\";\r\n\r\nexport class Alert {\r\n title: string;\r\n message: string;\r\n type: AlertType = AlertType.Info;\r\n\r\n constructor(title: string, message: string, type: AlertType) {\r\n this.title = title;\r\n this.message = message;\r\n this.type = type;\r\n }\r\n}\r\n","export class EnumerationItem {\r\n name: string;\r\n value: any;\r\n alternateValue?: any;\r\n id?: number;\r\n groupName?: string | null;\r\n\r\n constructor(name: string, value: any) {\r\n this.name = name;\r\n this.value = value;\r\n }\r\n}\r\n","export class UserInfo {\r\n name: string = \"\";\r\n borrowerId: number;\r\n email: string = \"\";\r\n\r\n constructor(name: string, borrowerId: number, email: string) {\r\n this.name = name;\r\n this.borrowerId = borrowerId;\r\n this.email = email;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { EnumerationItem } from '../models/enumeration-item.model';\r\n\r\n@Component({\r\n selector: 'multi-checkbox-picker',\r\n templateUrl: 'multi-checkbox-picker.component.html'\r\n})\r\n\r\nexport class MultiCheckboxPickerComponent implements OnInit {\r\n constructor() { }\r\n\r\n private _selectedItems: EnumerationItem[] = [];\r\n\r\n @Input() possibleChoices: EnumerationItem[] = [];\r\n\r\n @Output() itemSelected = new EventEmitter();\r\n @Output() itemDeselected = new EventEmitter();\r\n\r\n @Input() get selectedItems(): EnumerationItem[] {\r\n return this._selectedItems;\r\n }\r\n\r\n set selectedItems(items: EnumerationItem[]) {\r\n const x = 10;\r\n setTimeout(()=> {\r\n this._selectedItems = items;\r\n })\r\n }\r\n\r\n @Input() disabledChoices: EnumerationItem[] = [];\r\n\r\n colWidth: number = 12;\r\n\r\n public selectionChanged = (target: any, choice: EnumerationItem): void => {\r\n setTimeout(() => {\r\n if (target.checked) {\r\n if (!this._selectedItems.find(i => i.value === choice.value)) {\r\n this._selectedItems.push(choice);\r\n }\r\n } else {\r\n const item = this._selectedItems.find(i => i.value == choice.value);\r\n if (item) {\r\n var index = this._selectedItems.indexOf(item);\r\n if (index >= 0) {\r\n this._selectedItems.splice(index, 1);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public isSelected = (choice: EnumerationItem): boolean => {\r\n var item = this._selectedItems.find(i => i.value === choice.value);\r\n return item !== undefined;\r\n }\r\n\r\n public isDisabled = (choice: EnumerationItem): boolean => {\r\n var item = this.disabledChoices.find(i => i.value === choice.value);\r\n return item !== undefined;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.possibleChoices.length > 0) {\r\n this.colWidth = Math.floor(12 / this.possibleChoices.length);\r\n //this.lastColWidth = 12 % this.step?.question?.options.length;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, forwardRef, Input, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { EnumerationItem } from '../models/enumeration-item.model';\r\n\r\n@Component({\r\n selector: 'multi-checkbox',\r\n templateUrl: 'multi-checkbox.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MultiCheckboxComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\n\r\nexport class MultiCheckboxComponent implements ControlValueAccessor {\r\n\r\n @Input()\r\n options: EnumerationItem[] = [];\r\n\r\n @Input()\r\n name: string = '';\r\n\r\n checkedStatuses: boolean[] = [];\r\n\r\n onChange: any = () => {};\r\n\r\n onTouch: any = () => {};\r\n\r\n private _selectedValues: string[] = [];\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n writeValue(selectedValues: string[]) {\r\n if (!selectedValues) {\r\n selectedValues = [];\r\n }\r\n this._selectedValues = selectedValues;\r\n this.checkedStatuses = [];\r\n this.options.forEach(o => {\r\n const optionSelected = this._selectedValues.find(v => o.value == v);\r\n this.checkedStatuses.push(optionSelected != undefined);\r\n });\r\n this.onChange(this._selectedValues);\r\n }\r\n\r\n onOptionSelectionChanged(checked: boolean, optionValue: string) {\r\n const index = this._selectedValues.findIndex(v => v == optionValue);\r\n if (checked) {\r\n if (index < 0) {\r\n this._selectedValues.push(optionValue);\r\n }\r\n } else {\r\n if (index >= 0) {\r\n this._selectedValues.splice(index, 1);\r\n }\r\n }\r\n this.onChange(this._selectedValues);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'person-circle-image',\r\n templateUrl: 'person-circle-image.component.html'\r\n})\r\n\r\nexport class PersonCircleImageComponent implements OnInit{\r\n\r\n @Input() url: string;\r\n @Input() size: number = 40;\r\n\r\n showingUrl: string | string[] = null;\r\n\r\n placeHolderUrl = \"/assets/images/placeholder.png\";\r\n\r\n constructor(private cdr: ChangeDetectorRef) {\r\n }\r\n ngOnInit(): void {\r\n if(!this.url){\r\n this.url = this.placeHolderUrl;\r\n }\r\n }\r\n\r\n private detach() {\r\n this.cdr.detach();\r\n }\r\n\r\n onImageLoaded() {\r\n this.detach();\r\n }\r\n\r\n onImageError() {\r\n this.url = this.placeHolderUrl;\r\n }\r\n}\r\n","\"Person\"\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dateAgo',\r\n pure: true\r\n})\r\nexport class DateAgoPipe implements PipeTransform {\r\n\r\n transform(value: any, args?: any): any {\r\n if (value) {\r\n const seconds = Math.floor((+new Date() - +new Date(value)) / 1000);\r\n if (seconds < 29) // less than 30 seconds ago will show as 'Just now'\r\n return 'Just now';\r\n\r\n const intervalNames = [\r\n 'year',\r\n 'month',\r\n 'week',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second'\r\n ];\r\n const intervalAsSecond = [\r\n 31536000,\r\n 2592000,\r\n 604800,\r\n 86400,\r\n 3600,\r\n 60,\r\n 1\r\n ];\r\n let counter;\r\n for (let i=0; i< intervalAsSecond.length; i++) {\r\n counter = Math.floor(seconds / intervalAsSecond[i]);\r\n if (counter > 0)\r\n if (counter === 1) {\r\n return counter + ' ' + intervalNames[i] + ' ago'; // singular (1 day ago)\r\n } else {\r\n return counter + ' ' + intervalNames[i] + 's ago'; // plural (2 days ago)\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter',\r\n pure: false,\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], args: any): any {\r\n if (items === undefined || items === null) return [];\r\n\r\n if (typeof args === 'string') {\r\n return items.filter((el) => el[args]);\r\n }\r\n\r\n // for array of objects e.g\r\n // | filter: { name: \"Sean\", lastName: \"DeJulia\" }\r\n if (typeof args === 'object') {\r\n Object.keys(args).forEach((argKey) => {\r\n items = items.filter((item) => {\r\n if (\r\n typeof item[args] === 'string' &&\r\n typeof args[argKey] === 'string'\r\n ) {\r\n return item[argKey].toLowerCase() === args[argKey].toLowerCase();\r\n } else {\r\n return item[argKey] == args[argKey];\r\n }\r\n });\r\n });\r\n return items;\r\n }\r\n\r\n return items;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'groupBy'\r\n})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(collection: any[], property: string): any[] | null {\r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n if (!collection) {\r\n return null;\r\n }\r\n\r\n const groupedCollection = collection.reduce((previous, current)=> {\r\n if(!previous[current[property]]) {\r\n previous[current[property]] = [current];\r\n } else {\r\n previous[current[property]].push(current);\r\n }\r\n\r\n return previous;\r\n }, {});\r\n\r\n // this will return an array of objects, each object containing a group of objects\r\n return Object.keys(groupedCollection).map(key => ({ key, value: groupedCollection[key] }));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"monthsToYearsAndMonths\"\r\n})\r\nexport class MonthsToYearsAndMonthsPipe implements PipeTransform {\r\n transform(value: number) {\r\n if (!value) return \"0 year(s) 0 month(s)\";\r\n const numberOfYears = Math.floor(value / 12);\r\n const numberOfMonths = value - numberOfYears * 12;\r\n return `${numberOfYears} year(s) ${numberOfMonths} month(s)`;\r\n }\r\n}\r\n","import { Pipe } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"phone\"\r\n})\r\nexport class PhonePipe {\r\n\r\n transform(number: string) {\r\n return this.formatPhoneNumber(number);\r\n }\r\n\r\n private formatPhoneNumber = (number: string): string => {\r\n let cleaned = ('' + number).replace(/\\D/g, ''),\r\n match = cleaned.match(/^(1|)?(\\d{3})(\\d{3})(\\d{3}|\\d{4})$/);\r\n if (match) {\r\n let intlCode = (match[1] ? '+1 ' : '')\r\n return ['(', match[2], ') ', match[3], '-', match[4]].join('')\r\n }\r\n return number;\r\n }\r\n}\r\n","import { Pipe } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({name: 'safeUrl'})\r\nexport class SafeUrlPipe {\r\n constructor(private sanitizer: DomSanitizer){}\r\n\r\n transform(value: any, args?: any): any {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n }\r\n}\r\n\r\n","import { Pipe } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({name: 'safeHtml'})\r\nexport class SafeHtml {\r\n constructor(private sanitizer: DomSanitizer){}\r\n\r\n transform(value: any, args?: any): any {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n // return this.sanitizer.bypassSecurityTrustStyle(style);\r\n // return this.sanitizer.bypassSecurityTrustXxx(style); - see docs\r\n }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport type SortOrder = 'asc' | 'desc';\r\n\r\n@Injectable()\r\n@Pipe({\r\n name: 'sort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n transform(\r\n value: any[],\r\n sortOrder: SortOrder | string = 'asc',\r\n sortKey?: string\r\n ): any {\r\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n let numberArray = [];\r\n let stringArray = [];\r\n\r\n if (!sortKey) {\r\n numberArray = value.filter((item) => typeof item === 'number').sort();\r\n stringArray = value.filter((item) => typeof item === 'string').sort();\r\n } else {\r\n numberArray = value\r\n .filter((item) => typeof item[sortKey] === 'number')\r\n .sort((a, b) => a[sortKey] - b[sortKey]);\r\n stringArray = value\r\n .filter((item) => typeof item[sortKey] === 'string')\r\n .sort((a, b) => {\r\n const aV = a[sortKey] ? a[sortKey].toLowerCase() : \"\";\r\n const bV = b[sortKey] ? b[sortKey].toLowerCase() : \"\";\r\n if (aV < bV) return -1;\r\n else if (aV > bV) return 1;\r\n else return 0;\r\n });\r\n }\r\n const sorted = [\r\n ...numberArray,\r\n ...stringArray,\r\n ...value.filter(\r\n (item) =>\r\n typeof (sortKey ? item[sortKey] : item) !== 'number' &&\r\n typeof (sortKey ? item[sortKey] : item) !== 'string'\r\n ),\r\n ];\r\n return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'progress-indicator',\r\n templateUrl: 'progress-indicator.component.html',\r\n styleUrls: ['progress-indicator.component.scss']\r\n})\r\nexport class ProgressIndicatorComponent implements OnInit {\r\n\r\n @Input()\r\n loadingMessage: string = \"Loading, please wait...\";\r\n\r\n @Input()\r\n customClass: string = \"\";\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{loadingMessage}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Directive, ElementRef, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[remove-wrapper]'\r\n})\r\nexport class RemoveWrapperDirective implements AfterViewInit {\r\n\r\n constructor(private elRef: ElementRef, private renderer: Renderer2) {}\r\n\r\n ngAfterViewInit(): void {\r\n\r\n // access the DOM. get the element to unwrap\r\n const el = this.elRef.nativeElement;\r\n const parent = this.renderer.parentNode(this.elRef.nativeElement);\r\n\r\n // move all children out of the element\r\n while (el.firstChild) { // this line doesn't work with server-rendering\r\n this.renderer.appendChild(parent, el.firstChild);\r\n }\r\n\r\n // remove the empty element from parent\r\n this.renderer.removeChild(parent, el);\r\n }\r\n}\r\n","import { EventEmitter, Injectable, Output } from \"@angular/core\";\r\nimport { AlertType } from \"../models/alert-type.enum\";\r\nimport { Alert } from \"../models/alert.model\";\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n\r\n @Output()\r\n alertHappened: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n alertCleared: EventEmitter = new EventEmitter();\r\n\r\n alert = (alert:Alert) => {\r\n this.alertHappened.emit(alert);\r\n }\r\n\r\n error = (title: string, message: string) => {\r\n this.doAlert(title, message, AlertType.Error);\r\n }\r\n\r\n warning = (title: string, message: string) => {\r\n this.doAlert(title, message, AlertType.Warning);\r\n }\r\n\r\n info = (title: string, message: string) => {\r\n this.doAlert(title, message, AlertType.Info);\r\n }\r\n\r\n success = (title: string, message: string) => {\r\n this.doAlert(title, message, AlertType.Success);\r\n }\r\n\r\n clear = () => {\r\n this.alertCleared.emit();\r\n }\r\n\r\n private doAlert = (title: string, message: string, type: AlertType) => {\r\n const alert = new Alert(title, message, type);\r\n this.alertHappened.emit(alert);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\n\r\nimport { DateTime } from \"luxon\";\r\nimport { NavigationService } from 'projects/borrower-app/src/app/services/navigation.service';\r\nimport { LocalStorageService } from 'projects/borrower-app/src/app/services/local-storage.service';\r\nimport { AuthService } from 'projects/borrower-app/src/app/services/auth.service';\r\nimport { AuthData } from 'projects/borrower-app/src/app/models/auth/auth-data.model';\r\nimport { LoginStatus } from 'projects/borrower-app/src/app/models/auth/login-status.enum';\r\nimport { AuthenticationResponse } from 'projects/borrower-app/src/app/models/auth/auth-response.model';\r\nimport { UtilsService } from 'projects/borrower-app/src/app/services/utils.service';\r\nimport { catchError, filter, switchMap, take } from 'rxjs/operators';\r\nimport { Constants } from 'projects/borrower-app/src/app/services/constants';\r\n\r\nconst TOKEN_HEADER_KEY = \"Bearer\";\r\n\r\nconst TOKEN_EXPIRATION_TOLERANCE_IN_SECS = 900;\r\n\r\nconst TOKEN_EXPIRATION_ERROR = 'Token Expiration';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n private _isRefreshing = false;\r\n private _refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(\r\n private readonly _localStorage: LocalStorageService,\r\n private readonly _navigationService: NavigationService,\r\n private readonly _utilsService: UtilsService,\r\n private readonly _authService: AuthService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const authData = this._localStorage.authorizationData;\r\n const clientIp: {ip: string} = this._localStorage.getItem(Constants.clientIpKey);\r\n request = this.addClientIpHeader(request, clientIp?.ip);\r\n if (!request.url.includes('refreshToken')) {\r\n if (this.isTokenAboutToExpire(authData)) {\r\n return this.refreshToken(request, next);\r\n }\r\n }\r\n\r\n if (authData && authData.token) {\r\n request = this.addTokenHeader(request, authData.token);\r\n }\r\n\r\n return next.handle(request).pipe(\r\n catchError(error => {\r\n if (error instanceof HttpErrorResponse && error.error === TOKEN_EXPIRATION_ERROR) {\r\n return this.refreshToken(request, next);\r\n } else if (error.status === 401) {\r\n this._navigationService.navigateToLogin();\r\n }\r\n error.currentPath = location.pathname;\r\n error.message = error?.error?.message || null;\r\n throw error;\r\n })\r\n );\r\n }\r\n\r\n private isTokenAboutToExpire = (authData: AuthData) => {\r\n if (authData && authData.expiresAt) {\r\n const expiresAt = DateTime.fromISO(authData.expiresAt.toString());\r\n const now = DateTime.fromJSDate(new Date());\r\n const secondsToExpiration = expiresAt.diff(now, 'seconds');\r\n return secondsToExpiration.seconds <= TOKEN_EXPIRATION_TOLERANCE_IN_SECS;\r\n }\r\n return false;\r\n }\r\n\r\n private addTokenHeader = (request: HttpRequest, token: string) => {\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `${TOKEN_HEADER_KEY} ${token}`\r\n }\r\n });\r\n }\r\n\r\n private addClientIpHeader = (request: HttpRequest, ipAddress: string) => {\r\n if (!ipAddress) {\r\n return request;\r\n }\r\n return request.clone({\r\n setHeaders: {\r\n 'LE-ClientIP': ipAddress\r\n }\r\n });\r\n }\r\n\r\n private refreshToken = (request: HttpRequest, next: HttpHandler) => {\r\n if (!this._isRefreshing) {\r\n this._isRefreshing = true;\r\n this._refreshTokenSubject.next(null);\r\n\r\n const refreshToken = this._localStorage.authorizationData.refreshToken;\r\n\r\n if (refreshToken) {\r\n return this._authService.refreshToken(refreshToken).pipe(\r\n switchMap((authResponse: any) => {\r\n if (authResponse?.loginStatus === LoginStatus.Error) {\r\n if (this._localStorage.authorizationData) {\r\n this._localStorage.authorizationData = null;\r\n }\r\n this._navigationService.navigateToLogin();\r\n return throwError(authResponse?.errorMessage);\r\n }\r\n this.persistAuthData(authResponse);\r\n this._isRefreshing = false;\r\n this._refreshTokenSubject.next(authResponse.jwtToken);\r\n\r\n return next.handle(this.addTokenHeader(request, authResponse.jwtToken));\r\n }), catchError(error => {\r\n if (error.error !== TOKEN_EXPIRATION_ERROR && error.status === 401) {\r\n if (this._localStorage.authorizationData) {\r\n this._localStorage.authorizationData = null;\r\n }\r\n this._navigationService.navigateToLogin();\r\n return throwError(error);\r\n }\r\n return next.handle(request);\r\n })\r\n );\r\n } else {\r\n this._navigationService.navigateToLogin();\r\n }\r\n }\r\n return this._refreshTokenSubject.pipe(\r\n filter(token => token !== null),\r\n take(1),\r\n switchMap((token) => next.handle(this.addTokenHeader(request, token)))\r\n );\r\n }\r\n\r\n private persistAuthData = (authResponse: AuthenticationResponse): void => {\r\n let jwtPayload = this._utilsService.parseJwt(authResponse.jwtToken);\r\n const authData: AuthData = {\r\n companyGuid: this._localStorage.authorizationData.companyGuid,\r\n userCompanyGuid: authResponse.userCompanyGuid,\r\n token: authResponse.jwtToken,\r\n userName: authResponse.userName,\r\n refreshToken: authResponse.refreshToken,\r\n companies: authResponse.availableCompanies,\r\n rememberMe: this._localStorage.authorizationData.rememberMe,\r\n scope: this._localStorage.authorizationData.scope,\r\n expiresAt: this._utilsService.getTokenExpireDate(jwtPayload.exp)\r\n };\r\n this._localStorage.authorizationData = authData;\r\n }\r\n}\r\n","export type LogLevel = 'debug' | 'info' | 'warn' | 'error';\r\n\r\nexport interface IEnvironment {\r\n production: boolean;\r\n environment: string;\r\n\r\n // Enables use of ng.profiler.timeChangeDetection(); in browser console\r\n enableDebugTools: boolean;\r\n logLevel: LogLevel;\r\n apiInfo: ApiInfo;\r\n clientRoot: string;\r\n companyLogoUrl: string;\r\n branchLogoUrl: string;\r\n dnsBasedBranchLogoUrl: string;\r\n faviconUrl: string;\r\n borrowerPortalURI: string;\r\n scope?: string;\r\n}\r\n\r\nexport class ApiInfo {\r\n apiBaseUrl: string | undefined;\r\n publicApiBaseUrl: string | undefined;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from 'projects/borrower-app/src/environments/environment';\r\nimport { ApiInfo, IEnvironment, LogLevel } from './environment.interface';\r\n\r\n@Injectable()\r\nexport class EnvironmentService implements IEnvironment {\r\n\r\n get production(): boolean {\r\n return environment.production;\r\n }\r\n\r\n get enableDebugTools(): boolean {\r\n return environment.enableDebugTools;\r\n }\r\n\r\n get logLevel(): LogLevel {\r\n return environment.logLevel;\r\n }\r\n\r\n get apiInfo(): ApiInfo {\r\n return environment.apiInfo;\r\n }\r\n\r\n get companyLogoUrl(): string {\r\n return environment.companyLogoUrl;\r\n }\r\n\r\n get branchLogoUrl(): string {\r\n return environment.branchLogoUrl;\r\n }\r\n\r\n get dnsBasedBranchLogoUrl(): string {\r\n return environment.dnsBasedBranchLogoUrl;\r\n }\r\n\r\n get faviconUrl(): string {\r\n return environment.faviconUrl;\r\n }\r\n\r\n get environment(): string {\r\n return environment.environment;\r\n }\r\n\r\n get clientRoot(): string {\r\n return environment.clientRoot;\r\n }\r\n\r\n get borrowerPortalURI(): string {\r\n return environment.borrowerPortalURI;\r\n }\r\n\r\n get scope(): string {\r\n return environment.scope;\r\n }\r\n\r\n constructor() { }\r\n}\r\n\r\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthInterceptor } from './auth-interceptor';\r\n\r\n/** Http interceptor providers in outside-in order */\r\nexport const httpInterceptorProviders = [\r\n { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport Swal, { SweetAlertIcon, SweetAlertOptions } from 'sweetalert2';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationService {\r\n constructor() { }\r\n\r\n showSuccess(message: string, title: string): void {\r\n this.toast('success', message, title);\r\n }\r\n\r\n showError(message: string, title: string): void {\r\n this.toast('error', message, title);\r\n }\r\n\r\n showInfo(message: string, title: string, options?: Partial): void {\r\n this.toast('info', message, title, options);\r\n }\r\n\r\n showWarning(message: string, title: string): void {\r\n this.toast('warning', message, title);\r\n }\r\n\r\n toast(icon: SweetAlertIcon, message: string, title: string, options?: any): void {\r\n const toast = Swal.mixin({\r\n toast: true,\r\n position: 'bottom-end',\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n timer: 4000,\r\n didOpen: () => {\r\n const swalToasts = document.getElementsByClassName(\"swal2-toast\");\r\n if (swalToasts && swalToasts.length) {\r\n const swalToast = swalToasts[0];\r\n swalToast.addEventListener('mouseenter', () => {\r\n Swal.stopTimer();\r\n });\r\n swalToast.addEventListener('mouseleave', () => {\r\n Swal.resumeTimer();\r\n })\r\n }\r\n },\r\n willClose: () => {\r\n const swalToasts = document.getElementsByClassName(\"swal2-toast\");\r\n if (swalToasts && swalToasts.length) {\r\n const swalToast = swalToasts[0];\r\n swalToast.removeAllListeners();\r\n }\r\n }\r\n });\r\n\r\n toast.fire({\r\n icon: icon,\r\n title: title,\r\n // text: message, // includes only text\r\n html: message, // includes normal text and html\r\n ...options\r\n });\r\n }\r\n}\r\n","import { CommonModule, CurrencyPipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { MentionModule } from 'angular-mentions';\r\nimport { UserAccountTemplateComponent } from '../borrower-app/src/app/user-account-template/user-account-template.component';\r\nimport { AddressAutocompleteComponent } from './address-autocomplete/address-autocomplete.component';\r\nimport { AlertComponent } from './alert/alert.component';\r\nimport { CheckboxFlagsComponent } from './checkbox-flags/checkbox-flags.component';\r\nimport { DatePickerDirective } from './date-picker/date-picker.directive';\r\nimport { NumericDirective } from './directives/numeric.directive';\r\nimport { InputTrimDirective } from './directives/trim-input.directive';\r\nimport { DrawerComponent } from './drawer/drawer.component';\r\nimport { DynamicallyRenderedContentComponent } from './dynamically-rendered-component/dynamically-rendered.component';\r\nimport { EqualValidator } from './equal-validator.directive';\r\nimport { LoanImageComponent } from './loan-image/loan-image.component';\r\nimport { LogoComponent } from './logo/logo.component';\r\nimport { MessageEditorWithMentionsComponent } from './message-editor-with-mentions/message-editor-with-mentions.component';\r\nimport { MultiCheckboxPickerComponent } from './multi-checkbox-picker/multi-checkbox-picker.component';\r\nimport { MultiCheckboxComponent } from './multi-checkbox/multi-checkbox.component';\r\nimport { PersonCircleImageComponent } from './person-circle-image/person-circle-image.component';\r\nimport { DateAgoPipe } from './pipes/date-ago.pipe';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { PhonePipe } from './pipes/phone.pipe';\r\nimport { SafeUrlPipe } from './pipes/safe-url.pipe';\r\nimport { SafeHtml } from './pipes/shared-html.pipe';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { ProgressIndicatorComponent } from './progress-indicator/progress-indicator.component';\r\nimport { RemoveWrapperDirective } from './remove-wrapper.directive';\r\nimport { AlertService } from './services/alert.service';\r\nimport { SvgIconsModule } from './svg-icons.module';\r\nimport { MonthsToYearsAndMonthsPipe } from './pipes/months-to-years-and-months.pipe';\r\nimport { CurrencyInputComponent } from './currency-input/currency-input.component';\r\nimport { GooglePlaceModule } from \"ngx-google-places-autocomplete\";\r\nimport { LoadingIndicatorComponent } from 'projects/borrower-app/src/app/wizard/loading-indicator/loading-indicator.component';\r\nimport { CaseSizeValidatorDirective, RequireDigitValidatorDirective, RequireNonAlphaNumericValidatorDirective } from './directives/validators';\r\nimport { HtmlViewerDialogComponent } from './html-viewer-dialog/html-viewer-dialog.component';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { DndDirective } from \"./file-upload/directives/dnd.directive\";\r\nimport { FileListComponent } from \"./file-upload/file-list/file-list.component\";\r\nimport { ProgressComponent } from \"./file-upload/progress/progress.component\";\r\nconst Validators = [RequireDigitValidatorDirective, CaseSizeValidatorDirective, RequireNonAlphaNumericValidatorDirective];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule,\r\n CommonModule,\r\n FormsModule,\r\n SvgIconsModule,\r\n CKEditorModule,\r\n MentionModule,\r\n GooglePlaceModule\r\n ],\r\n declarations: [\r\n AddressAutocompleteComponent,\r\n DatePickerDirective,\r\n RemoveWrapperDirective,\r\n CheckboxFlagsComponent,\r\n MultiCheckboxPickerComponent,\r\n DynamicallyRenderedContentComponent,\r\n EqualValidator,\r\n UserAccountTemplateComponent,\r\n AlertComponent,\r\n LogoComponent,\r\n SafeHtml,\r\n MultiCheckboxComponent,\r\n InputTrimDirective,\r\n NumericDirective,\r\n PersonCircleImageComponent,\r\n DrawerComponent,\r\n PhonePipe,\r\n LoanImageComponent,\r\n MessageEditorWithMentionsComponent,\r\n ProgressIndicatorComponent,\r\n FilterPipe,\r\n MonthsToYearsAndMonthsPipe,\r\n SortPipe,\r\n DateAgoPipe,\r\n SafeUrlPipe,\r\n CurrencyInputComponent,\r\n LoadingIndicatorComponent,\r\n HtmlViewerDialogComponent,\r\n FileUploadComponent,\r\n DndDirective,\r\n ProgressComponent,\r\n FileListComponent,\r\n ...Validators\r\n ],\r\n exports: [\r\n GooglePlaceModule,\r\n AddressAutocompleteComponent,\r\n DatePickerDirective,\r\n RemoveWrapperDirective,\r\n CheckboxFlagsComponent,\r\n MultiCheckboxPickerComponent,\r\n DynamicallyRenderedContentComponent,\r\n EqualValidator,\r\n UserAccountTemplateComponent,\r\n AlertComponent,\r\n LogoComponent,\r\n SafeHtml,\r\n MultiCheckboxComponent,\r\n InputTrimDirective,\r\n NumericDirective,\r\n PersonCircleImageComponent,\r\n DrawerComponent,\r\n PhonePipe,\r\n LoanImageComponent,\r\n MessageEditorWithMentionsComponent,\r\n CKEditorModule,\r\n MentionModule,\r\n LoanImageComponent,\r\n ProgressIndicatorComponent,\r\n FilterPipe,\r\n MonthsToYearsAndMonthsPipe,\r\n SortPipe,\r\n DateAgoPipe,\r\n SafeUrlPipe,\r\n CurrencyInputComponent,\r\n SvgIconsModule,\r\n LoadingIndicatorComponent,\r\n HtmlViewerDialogComponent,\r\n FileUploadComponent,\r\n DndDirective,\r\n ProgressComponent,\r\n FileListComponent,\r\n ...Validators\r\n ],\r\n providers: [AlertService, CurrencyPipe],\r\n})\r\nexport class SharedModule {\r\n constructor() { }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { DuotoneBankSvgIconComponent } from \"./svg-icons/duotone/bank/duotone-bank-svg-icon.component\";\r\nimport { DuotoneBuilding2SvgIconComponent } from \"./svg-icons/duotone/building_/duotone-building2-svg-icon.component\";\r\nimport { DuotoneBriefcaseSvgIconComponent } from \"./svg-icons/duotone/business/briefcase/duotone-briefcase-svg-icon.component\";\r\nimport { DuotoneCoinsSvgIconComponent } from \"./svg-icons/duotone/coins/duotone-coins-svg-icon.component\";\r\nimport { DuotoneDollarSvgIconComponent } from \"./svg-icons/duotone/dollar/duotone-dollar-svg-icon.component\";\r\nimport { DuotoneDoneCircleSvgIconComponent } from \"./svg-icons/duotone/done-circle/duotone-done-circle-svg-icon.component\";\r\nimport { DuotoneEnvelopeSvgIconComponent } from \"./svg-icons/duotone/envelope/duotone-envelope-svg-icon.component\";\r\nimport { DuotoneHomeSvgIconComponent } from \"./svg-icons/duotone/home/duotone-home-svg-icon.component\";\r\nimport { DuotoneMailSvgIconComponent } from \"./svg-icons/duotone/mail/duotone-mail-svg-icon.component\";\r\nimport { DuotoneMapMarkerSvgIconComponent } from \"./svg-icons/duotone/map-marker/duotone-map-marker-svg-icon.component\";\r\nimport { DuotoneNavigationLeftSvgIconComponent } from \"./svg-icons/duotone/navigation-left/duotone-navigation-left-svg-icon.component\";\r\nimport { DuotoneNavigationRightSvgIconComponent } from \"./svg-icons/duotone/navigation-right/duotone-navigation-right-svg-icon.component\";\r\nimport { DuotoneNavigationUpSvgIconComponent } from \"./svg-icons/duotone/navigation-up/duotone-navigation-up-svg-icon.component\";\r\nimport { DuotoneNavAngleRightComponent } from \"./svg-icons/duotone/navigation/duotone-angle-right-svg-icon.component\";\r\nimport { DuotonePencilSvgIconComponent } from \"./svg-icons/duotone/pencil_/duotone-pencil-svg-icon.component\";\r\nimport { DuotoneSafeSvgIconComponent } from \"./svg-icons/duotone/safe/duotone-safe-svg-icon.component\";\r\nimport { DuotoneShieldCheckSvgIconComponent } from \"./svg-icons/duotone/shield-check/duotone-shield-check-svg-icon.component\";\r\nimport { DuotoneShirtSvgIconComponent } from \"./svg-icons/duotone/shirt/duotone-shirt-svg-icon.component\";\r\nimport { DuotoneStarSvgIconComponent } from \"./svg-icons/duotone/star/duotone-star-svg-icon.component\";\r\nimport { DuotoneToolsSvgIconComponent } from \"./svg-icons/duotone/tools/duotone-tools-svg-icon.component\";\r\nimport { DuotoneTrashSvgIconComponent } from \"./svg-icons/duotone/trash/duotone-trash-svg-icon.component\";\r\nimport { DuotoneWalletSvgIconComponent } from \"./svg-icons/duotone/wallet/duotone-wallet-svg-icon.component\";\r\nimport { DuotoneWarningCircleSvgIconComponent } from \"./svg-icons/duotone/warning-circle/duotone-warning-circle-svg-icon.component\";\r\nimport { DuotoneWriteSvgIconComponent } from \"./svg-icons/duotone/write/duotone-write-svg-icon.component\";\r\nimport { ClipboardSvgIconComponent } from \"./svg-icons/general/clipboard-svg-icon-component\";\r\nimport { CloseXSvgiconComponent } from \"./svg-icons/general/close-x-svg-icon.component\";\r\nimport { CompassSvgIconComponent } from \"./svg-icons/general/compass.svg-icon.component\";\r\nimport { LaptopSvgIconComponent } from \"./svg-icons/general/laptop-svg-icon.component\";\r\nimport { NavigationArrowRightSvgIconComponent } from \"./svg-icons/general/navigation-arrow-right-svg-icon.component\";\r\nimport { UserSvgIconComponent } from \"./svg-icons/general/user-svg-icon.component\";\r\nimport { StockholmCheckSvgIconComponent } from \"./svg-icons/stockholm/check/stockholm-check-svg-icon.component\";\r\nimport { StockholmCloseSvgIconComponent } from \"./svg-icons/stockholm/close/stockholm-close-svg-icon.component\";\r\nimport { StockholmShieldDisabledSvgIconComponent } from \"./svg-icons/stockholm/shield-disabled/stockholm-shield-disabled-svg-icon.component\";\r\n\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [\r\n DuotoneCoinsSvgIconComponent,\r\n DuotoneStarSvgIconComponent,\r\n DuotoneSafeSvgIconComponent,\r\n DuotoneShirtSvgIconComponent,\r\n DuotoneWalletSvgIconComponent,\r\n DuotoneToolsSvgIconComponent,\r\n DuotoneHomeSvgIconComponent,\r\n DuotoneBankSvgIconComponent,\r\n DuotoneDollarSvgIconComponent,\r\n DuotoneTrashSvgIconComponent,\r\n DuotoneWriteSvgIconComponent,\r\n DuotoneNavigationRightSvgIconComponent,\r\n DuotoneNavigationLeftSvgIconComponent,\r\n DuotoneWarningCircleSvgIconComponent,\r\n DuotoneShieldCheckSvgIconComponent,\r\n DuotoneMailSvgIconComponent,\r\n DuotoneEnvelopeSvgIconComponent,\r\n DuotoneMapMarkerSvgIconComponent,\r\n DuotoneNavAngleRightComponent,\r\n DuotonePencilSvgIconComponent,\r\n DuotoneNavigationUpSvgIconComponent,\r\n DuotoneBriefcaseSvgIconComponent,\r\n DuotoneBuilding2SvgIconComponent,\r\n StockholmShieldDisabledSvgIconComponent,\r\n UserSvgIconComponent,\r\n CompassSvgIconComponent,\r\n LaptopSvgIconComponent,\r\n ClipboardSvgIconComponent,\r\n NavigationArrowRightSvgIconComponent,\r\n CloseXSvgiconComponent,\r\n StockholmCloseSvgIconComponent,\r\n StockholmCheckSvgIconComponent,\r\n DuotoneDoneCircleSvgIconComponent\r\n ],\r\n exports: [\r\n DuotoneCoinsSvgIconComponent,\r\n DuotoneStarSvgIconComponent,\r\n DuotoneSafeSvgIconComponent,\r\n DuotoneShirtSvgIconComponent,\r\n DuotoneWalletSvgIconComponent,\r\n DuotoneToolsSvgIconComponent,\r\n DuotoneHomeSvgIconComponent,\r\n DuotoneBankSvgIconComponent,\r\n DuotoneDollarSvgIconComponent,\r\n DuotoneTrashSvgIconComponent,\r\n DuotoneWriteSvgIconComponent,\r\n DuotoneNavigationRightSvgIconComponent,\r\n DuotoneNavigationLeftSvgIconComponent,\r\n DuotoneWarningCircleSvgIconComponent,\r\n DuotoneShieldCheckSvgIconComponent,\r\n DuotoneMailSvgIconComponent,\r\n DuotoneEnvelopeSvgIconComponent,\r\n DuotoneMapMarkerSvgIconComponent,\r\n DuotoneNavAngleRightComponent,\r\n DuotonePencilSvgIconComponent,\r\n DuotoneNavigationUpSvgIconComponent,\r\n DuotoneBriefcaseSvgIconComponent,\r\n DuotoneBuilding2SvgIconComponent,\r\n StockholmShieldDisabledSvgIconComponent,\r\n UserSvgIconComponent,\r\n CompassSvgIconComponent,\r\n LaptopSvgIconComponent,\r\n ClipboardSvgIconComponent,\r\n NavigationArrowRightSvgIconComponent,\r\n CloseXSvgiconComponent,\r\n StockholmCloseSvgIconComponent,\r\n StockholmCheckSvgIconComponent,\r\n DuotoneDoneCircleSvgIconComponent\r\n ],\r\n providers: []\r\n})\r\nexport class SvgIconsModule {\r\n constructor() {\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-bank-svg-icon',\r\n templateUrl: 'duotone-bank-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneBankSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-building-svg-icon',\r\n templateUrl: 'duotone-building-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneBuildingSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\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';\r\n\r\n@Component({\r\n selector: 'duotone-building2-svg-icon',\r\n templateUrl: 'duotone-building2-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneBuilding2SvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\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';\r\n\r\n@Component({\r\n selector: 'duotone-briefcase-svg-icon',\r\n template: ``\r\n})\r\n\r\nexport class DuotoneBriefcaseSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-clipboard-check-svg-icon',\r\n templateUrl: 'duotone-clipboard-check-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneClipboardCheckSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-coins-svg-icon',\r\n templateUrl: 'duotone-coins-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneCoinsSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-discount-coupon-svg-icon',\r\n templateUrl: 'duotone-coupon-discount-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneCouponDiscountSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-dollar-svg-icon',\r\n templateUrl: 'duotone-dollar-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneDollarSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\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';\r\n\r\n@Component({\r\n selector: 'duotone-done-circle-svg-icon',\r\n template: `\r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneDoneCircleSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'duotone-envelope-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneEnvelopeSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-home-svg-icon',\r\n templateUrl: 'duotone-home-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneHomeSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-mail-svg-icon',\r\n template: `\r\n \r\n `\r\n})\r\n\r\nexport class DuotoneMailSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-map-marker-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneMapMarkerSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-navigation-left-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneNavigationLeftSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-navigation-right-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneNavigationRightSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-navigation-up-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneNavigationUpSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-nav-angle-right',\r\n template: `\r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneNavAngleRightComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-pencil-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotonePencilSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-safe-svg-icon',\r\n templateUrl: 'duotone-safe-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneSafeSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-shield-check-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneShieldCheckSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-shirt-svg-icon',\r\n templateUrl: 'duotone-shirt-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneShirtSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-star-svg-icon',\r\n templateUrl: 'duotone-star-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneStarSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-tools-svg-icon',\r\n templateUrl: 'duotone-tools-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneToolsSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-trash-svg-icon',\r\n templateUrl: 'duotone-trash-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneTrashSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-wallet-svg-icon',\r\n templateUrl: 'duotone-wallet-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneWalletSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\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';\r\n\r\n@Component({\r\n selector: 'duotone-warning-circle-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class DuotoneWarningCircleSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'duotone-write-svg-icon',\r\n templateUrl: 'duotone-write-svg-icon.component.html'\r\n})\r\n\r\nexport class DuotoneWriteSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'clipboard-svg-icon',\r\n template: `\r\n \r\n Stockholm-icons / General / Clipboard\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class ClipboardSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'close-x-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class CloseXSvgiconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'compass-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class CompassSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'laptop-svg-icon',\r\n template: `\r\n \r\n Stockholm-icons / Devices / Laptop\r\n Created with Sketch.\r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class LaptopSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'navigation-right-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class NavigationArrowRightSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'user-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class UserSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-bank-svg-icon',\r\n templateUrl: 'stockholm-bank-svg-icon.component.html'\r\n})\r\n\r\nexport class StockholmBankSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-check-svg-icon',\r\n templateUrl: 'stockholm-check-svg-icon.component.html'\r\n})\r\n\r\nexport class StockholmCheckSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-close-svg-icon',\r\n templateUrl: 'stockholm-close-svg-icon.component.html'\r\n})\r\n\r\nexport class StockholmCloseSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-home-heart-svg-icon',\r\n templateUrl: 'stockholm-home-heart-svg-icon.component.html'\r\n})\r\n\r\nexport class StockholmHomeHeartSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-shield-disabled-svg-icon',\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n})\r\n\r\nexport class StockholmShieldDisabledSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'stockholm-sun-svg-icon',\r\n templateUrl: 'stockholm-sun-svg-icon.component.html'\r\n})\r\n\r\nexport class StockholmSunSvgIconComponent implements OnInit {\r\n constructor() { }\r\n\r\n ngOnInit() { }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Injectable, Type } from \"@angular/core\";\r\nimport { DuotoneBankSvgIconComponent } from \"./duotone/bank/duotone-bank-svg-icon.component\";\r\nimport { DuotoneBuildingSvgIconComponent } from \"./duotone/building/duotone-building-svg-icon.component\";\r\nimport { DuotoneBuilding2SvgIconComponent } from \"./duotone/building_/duotone-building2-svg-icon.component\";\r\nimport { DuotoneClipboardCheckSvgIconComponent } from \"./duotone/clipboard-check/duotone-clipboard-check-svg-icon.component\";\r\nimport { DuotoneCoinsSvgIconComponent } from \"./duotone/coins/duotone-coins-svg-icon.component\";\r\nimport { DuotoneCouponDiscountSvgIconComponent } from \"./duotone/coupon-discount/duotone-coupon-discount-svg-icon.component\";\r\nimport { DuotoneDollarSvgIconComponent } from \"./duotone/dollar/duotone-dollar-svg-icon.component\";\r\nimport { DuotoneHomeSvgIconComponent } from \"./duotone/home/duotone-home-svg-icon.component\";\r\nimport { DuotoneSafeSvgIconComponent } from \"./duotone/safe/duotone-safe-svg-icon.component\";\r\nimport { DuotoneShirtSvgIconComponent } from \"./duotone/shirt/duotone-shirt-svg-icon.component\";\r\nimport { DuotoneStarSvgIconComponent } from \"./duotone/star/duotone-star-svg-icon.component\";\r\nimport { DuotoneToolsSvgIconComponent } from \"./duotone/tools/duotone-tools-svg-icon.component\";\r\nimport { DuotoneWalletSvgIconComponent } from \"./duotone/wallet/duotone-wallet-svg-icon.component\";\r\nimport { ClipboardSvgIconComponent } from \"./general/clipboard-svg-icon-component\";\r\nimport { LaptopSvgIconComponent } from \"./general/laptop-svg-icon.component\";\r\nimport { UserSvgIconComponent } from \"./general/user-svg-icon.component\";\r\nimport { StockholmBankSvgIconComponent } from \"./stockholm/bank/stockholm-bank-svg-icon.component\";\r\nimport { StockholmHomeHeartSvgIconComponent } from \"./stockholm/home-heart/stockholm-home-heart-svg-icon.component\";\r\nimport { StockholmSunSvgIconComponent } from \"./stockholm/sun/stockholm-sun-svg-icon.component\";\r\n\r\n@Injectable()\r\nexport class SvgIconComponentFactory {\r\n\r\n getSvIconComponent(name: string): Type | undefined {\r\n if (name === \"duotone-home\") {\r\n return DuotoneHomeSvgIconComponent;\r\n } else if (name === \"duotone-coins\") {\r\n return DuotoneCoinsSvgIconComponent;\r\n } else if (name === \"duotone-clipboard-check\") {\r\n return DuotoneClipboardCheckSvgIconComponent;\r\n } else if (name === \"duotone-coupon-discount\") {\r\n return DuotoneCouponDiscountSvgIconComponent;\r\n } else if (name === \"duotone-building\") {\r\n return DuotoneBuildingSvgIconComponent;\r\n } else if (name === \"duotone-building2\") {\r\n return DuotoneBuilding2SvgIconComponent;\r\n } else if (name === \"stockholm-home-heart\") {\r\n return StockholmHomeHeartSvgIconComponent;\r\n } else if (name === \"stockholm-sun\") {\r\n return StockholmSunSvgIconComponent;\r\n } else if (name === \"stockholm-bank\") {\r\n return StockholmBankSvgIconComponent;\r\n } else if (name === \"duotone-shirt\") {\r\n return DuotoneShirtSvgIconComponent;\r\n } else if (name === \"duotone-dollar\") {\r\n return DuotoneDollarSvgIconComponent;\r\n } else if (name === \"duotone-safe\") {\r\n return DuotoneSafeSvgIconComponent;\r\n } else if (name === \"duotone-bank\") {\r\n return DuotoneBankSvgIconComponent;\r\n } else if (name === \"duotone-tools\") {\r\n return DuotoneToolsSvgIconComponent;\r\n } else if (name === \"duotone-star\") {\r\n return DuotoneStarSvgIconComponent;\r\n } else if (name === \"duotone-wallet\") {\r\n return DuotoneWalletSvgIconComponent;\r\n } else if (name === \"laptop-svg-icon\") {\r\n return LaptopSvgIconComponent;\r\n } else if (name === \"clipboard-svg-icon\") {\r\n return ClipboardSvgIconComponent;\r\n } else if (name === \"user-svg-icon\") {\r\n return UserSvgIconComponent;\r\n }\r\n return undefined;\r\n }\r\n\r\n}\r\n","import { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[svgIconHost]',\r\n})\r\nexport class SvgIconHostDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) { }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { rgb } from \"d3\";\r\n\r\n@Injectable()\r\nexport class SvgUtilsService {\r\n\r\n createSVG = (): any => {\r\n let svg: any | null = document.getElementById(\"flow-editor-svg\");\r\n if (null == svg) {\r\n svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n svg.setAttribute('id', 'svg-canvas');\r\n //svg.setAttribute('style', 'position:absolute;top:0px;left:0px');\r\n //svg.setAttribute('width', 100);\r\n //svg.setAttribute('height', 100);\r\n svg.setAttribute(\"class\", \"connector\");\r\n svg.setAttribute(\"preserveAspectRatio\", \"xMinYMin meet\");\r\n //svg.setAttribute(\"class\", \"svg-content-responsive\");\r\n svg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\",\r\n \"xmlns:xlink\",\r\n \"http://www.w3.org/1999/xlink\");\r\n document.body.appendChild(svg);\r\n }\r\n return svg;\r\n }\r\n\r\n drawCircle = (x: number, y: number, radius: number, color: string) => {\r\n var svg = this.createSVG();\r\n var shape = document.createElementNS(\"http://www.w3.org/2000/svg\", \"circle\");\r\n shape.setAttributeNS(null, \"cx\", x.toString());\r\n shape.setAttributeNS(null, \"cy\", y.toString());\r\n shape.setAttributeNS(null, \"r\", radius.toString());\r\n shape.setAttributeNS(null, \"fill\", color);\r\n svg.appendChild(shape);\r\n }\r\n\r\n private findPosX = (obj: any) => {\r\n var curleft = 0;\r\n if (obj.offsetParent) {\r\n while (1) {\r\n curleft+=obj.offsetLeft;\r\n if (!obj.offsetParent) {\r\n break;\r\n }\r\n obj=obj.offsetParent;\r\n }\r\n } else if (obj.x) {\r\n curleft+=obj.x;\r\n }\r\n return curleft;\r\n }\r\n\r\nprivate findPosY = (obj: any) => {\r\n var curtop = 0;\r\n if (obj.offsetParent) {\r\n while (1) {\r\n curtop+=obj.offsetTop;\r\n if (!obj.offsetParent) {\r\n break;\r\n }\r\n obj=obj.offsetParent;\r\n }\r\n } else if (obj.y) {\r\n curtop+=obj.y;\r\n }\r\n return curtop;\r\n}\r\n\r\n findAbsolutePosition = (htmlElement: any) => {\r\n var x = this.findPosX(htmlElement);\r\n var y = this.findPosY(htmlElement);\r\n // var y = htmlElement.offsetTop;\r\n // for (let x = 0, y = 0, el = htmlElement;\r\n // el != null;\r\n // el = el.offsetParent) {\r\n // x += el.offsetLeft;\r\n // y += el.offsetTop;\r\n // }\r\n return {\r\n \"x\": x,\r\n \"y\": y\r\n };\r\n }\r\n\r\n connectDivs = (leftId: string, rightId: string, color: string, tension: number) => {\r\n var left = document.getElementById(leftId);\r\n var right = document.getElementById(rightId);\r\n\r\n if (left == null || right == null) {\r\n return;\r\n }\r\n\r\n var leftPos = this.findAbsolutePosition(left);\r\n var x1 = leftPos.x;\r\n var y1 = leftPos.y;\r\n\r\n x1 += left.offsetWidth;\r\n y1 += (left.offsetHeight / 2);\r\n\r\n var rightPos = this.findAbsolutePosition(right);\r\n var x2 = rightPos.x + 10;\r\n var y2 = rightPos.y;\r\n y2 += (right.offsetHeight / 2);\r\n\r\n var width = x2 - x1;\r\n var height = y2 - y1;\r\n\r\n this.drawCircle(x1, y1, 3, color);\r\n this.drawCircle(x2, y2, 3, color);\r\n this.drawCurvedLine(x1, y1, x2, y2, color, tension, rightId);\r\n }\r\n\r\n drawCurvedLine = (x1: any, y1: any, x2: any, y2: any, color: string, tension: number, id?: string, dashed?: boolean) => {\r\n var svg = this.createSVG();\r\n var shape = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"); {\r\n var delta = (x2 - x1) * tension;\r\n var hx1 = x1 + delta;\r\n var hy1 = y1;\r\n var hx2 = x2 - delta;\r\n var hy2 = y2;\r\n var path = \"M \" + x1 + \" \" + y1 +\r\n \" C \" + hx1 + \" \" + hy1\r\n + \" \" + hx2 + \" \" + hy2\r\n + \" \" + x2 + \" \" + y2;\r\n shape.setAttributeNS(null, \"d\", path);\r\n shape.setAttributeNS(null, \"fill\", \"none\");\r\n shape.setAttributeNS(null, \"stroke\", color);\r\n if (dashed) {\r\n shape.setAttribute('stroke-dasharray', '5, 5');\r\n }\r\n svg.appendChild(shape);\r\n }\r\n var shape = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\"); {\r\n var delta = (x2 - x1) * tension;\r\n var hx1 = x1 + delta;\r\n var hy1 = y1;\r\n var hx2 = x2 - delta;\r\n var hy2 = y2;\r\n var path = \"M \" + x1 + \" \" + y1 +\r\n \" C \" + hx1 + \" \" + hy1\r\n + \" \" + hx2 + \" \" + hy2\r\n + \" \" + x2 + \" \" + y2;\r\n shape.setAttributeNS(null, \"d\", path);\r\n shape.setAttribute(\"fill\", \"rgb(0, 0, 0, 1.0)\");\r\n shape.setAttribute('stroke-width', '4');\r\n if (id)\r\n shape.setAttribute(\"id\", id);\r\n svg.appendChild(shape);\r\n }\r\n }\r\n}\r\n","import { ApplicationTaskModel, BorrowerTaskStatus, BorrowerTaskType } from \"projects/borrower-app/src/app/models/borrower-portal/application-task-model\"\r\n\r\nexport class TasksUtils {\r\n\r\n public static shouldShowEsignDocument = (task: ApplicationTaskModel, isBorrowerPortal: boolean): boolean => {\r\n return (task.borrowerTaskType === BorrowerTaskType.LosEsign\r\n || task.borrowerTaskType === BorrowerTaskType.EsignDocument)\r\n && task.borrowerTaskStatus !== BorrowerTaskStatus.Completed\r\n && task.borrowerTaskStatus !== BorrowerTaskStatus.Submitted\r\n && !task.signingLinkSentInEmail\r\n && ((isBorrowerPortal && !task.isAgentTask) || (!isBorrowerPortal && task.isAgentTask))\r\n }\r\n\r\n}\r\n","import * as _ from 'lodash';\r\nimport { Constants } from 'projects/borrower-app/src/app/services/constants';\r\n\r\nexport class DiffChecker {\r\n get diff(): { [k: string]: any } | undefined {\r\n return this._diff;\r\n }\r\n\r\n private _diff: { [k: string]: any } | undefined;\r\n\r\n constructor(\r\n public readonly previous: any,\r\n public readonly current: any,\r\n public readonly name: string,\r\n public readonly options?: DiffCheckerOptions,\r\n ) {\r\n const floatPrecision = options?.floatPrecision;\r\n if (floatPrecision && !_.isNumber(floatPrecision)) {\r\n throw new Error('floatPrecision must be a number');\r\n }\r\n if (floatPrecision && !_.isInteger(floatPrecision) || floatPrecision <= 0) {\r\n throw new Error('floatPrecision must be a positive integer');\r\n }\r\n }\r\n\r\n private _filterOutNullish(obj) {\r\n if (_.isObject(obj)) {\r\n const fieldsToIgnoreWhileDiffChecking = obj[Constants.dirtyCheckIgnoreFieldsMetaDataField];\r\n const filteredOne = Object.entries(obj)\r\n .filter(([, v]) => v != null)\r\n .reduce((r, [key, value]) => ({ ...r, [key]: this._filterOutNullish(value) }), {});\r\n if (fieldsToIgnoreWhileDiffChecking) {\r\n filteredOne[Constants.dirtyCheckIgnoreFieldsMetaDataField] = fieldsToIgnoreWhileDiffChecking;\r\n }\r\n return filteredOne;\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n /**\r\n * Customizer for _.isEqualWith to compare numbers with precision.\r\n * @param objValue\r\n * @param srcValue\r\n */\r\n private customizer = (objValue, srcValue) => {\r\n const precision = this.options?.floatPrecision;\r\n let value1 = objValue;\r\n let value2 = srcValue;\r\n if (precision && _.isNumber(value1) && _.isNumber(value2)) {\r\n value1 = value1.toFixed(precision);\r\n value2 = value2.toFixed(precision);\r\n }\r\n\r\n return _.isEqual(value1, value2);\r\n }\r\n\r\n /**\r\n * Calculates the difference between two objects recursively.\r\n * @param previous The original object to compare against.\r\n * @param current The current object to compare.\r\n * @param prefix The key prefix used to store the path.\r\n * @returns An object containing the differences between the two objects.\r\n */\r\n private _calculateDiff(previous: any, current: any, prefix = ''): any {\r\n const diff: any = {};\r\n\r\n const stack: { key: string, previous: any, current: any }[] = [{ key: prefix, previous, current }];\r\n\r\n while (stack.length > 0) {\r\n const { key, previous, current } = stack.pop()!;\r\n\r\n if (!_.isEqual(previous, current)) {\r\n if (_.isObject(previous) && _.isObject(current)) {\r\n const keys = _.union(Object.keys(previous), Object.keys(current));\r\n\r\n for (const k of keys) {\r\n if (k === Constants.dirtyCheckIgnoreFieldsMetaDataField || (current[Constants.dirtyCheckIgnoreFieldsMetaDataField] &&\r\n current[Constants.dirtyCheckIgnoreFieldsMetaDataField].includes(k))) {\r\n continue;\r\n }\r\n const newKey = key ? `${key}.${k}` : k;\r\n const prevValue = previous?.[k];\r\n const currValue = current?.[k];\r\n if (_.isObject(prevValue) || _.isObject(currValue)) {\r\n stack.push({ key: newKey, previous: prevValue, current: currValue });\r\n } else if (!_.isEqualWith(prevValue, currValue, this.customizer)) {\r\n diff[newKey] = {\r\n previous: prevValue,\r\n current: currValue,\r\n };\r\n }\r\n }\r\n } else {\r\n diff[key] = {\r\n previous: previous,\r\n current: current,\r\n };\r\n }\r\n }\r\n }\r\n\r\n return diff;\r\n }\r\n\r\n calculateDiff = (logDiff = false): { [k: string]: any } | undefined => {\r\n const previous = this._filterOutNullish(this.previous);\r\n const current = this._filterOutNullish(this.current);\r\n\r\n const diff = this._calculateDiff(previous, current, this.name);\r\n if (Object.keys(diff).length < 1) {\r\n this._diff = undefined;\r\n return undefined;\r\n }\r\n\r\n this._diff = Object.freeze(diff);\r\n if (logDiff) {\r\n this.logDiff();\r\n }\r\n\r\n return diff;\r\n };\r\n\r\n logDiff() {\r\n const { _diff } = this;\r\n if (_diff == null) {\r\n console.log(String(_diff));\r\n return;\r\n }\r\n\r\n Object.entries(_diff)\r\n .map(([key, { previous, current }]) => {\r\n const output = [\r\n key,\r\n // The String constructor is used in case the value is nullish\r\n this.valueToString(previous),\r\n '\\u2192',\r\n this.valueToString(current),\r\n ].join(' ');\r\n\r\n return _.isObject(current) ? [output, current] : [output];\r\n })\r\n .forEach((e) => console.log(...e));\r\n }\r\n\r\n private valueToString = (value: any) => {\r\n if (_.isString(value)) {\r\n return `\"${value}\"`;\r\n }\r\n\r\n return String(value);\r\n }\r\n}\r\n\r\ntype DiffCheckerOptions = {\r\n // The number of decimal places to use when comparing floating point numbers.\r\n floatPrecision?: number;\r\n}\r\n","export function tryGetErrorMessage(error: unknown): string | undefined {\r\n if (typeof error === 'string') {\r\n return error;\r\n }\r\n\r\n if (error instanceof Error) {\r\n return error.message;\r\n }\r\n\r\n if (typeof error === 'object' && error !== null) {\r\n if ('error' in error) {\r\n // @ts-ignore\r\n return tryGetErrorMessage(error.error);\r\n }\r\n if ('message' in error) {\r\n // @ts-ignore\r\n return tryGetErrorMessage(error.message);\r\n }\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nexport function getErrorMessageOrDefault(\r\n error: unknown,\r\n options?: {defaultMessage?: string},\r\n): string {\r\n return (\r\n tryGetErrorMessage(error) ??\r\n options?.defaultMessage ??\r\n 'An unknown error has occurred'\r\n );\r\n}\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { PortalScope } from \"projects/borrower-app/src/app/login/login.component\";\r\n\r\nexport class PageUtils {\r\n\r\n static addFavicon(faviconUrl: string, companyGuid?: string): void {\r\n const favicon: HTMLLinkElement | null = document.querySelector('#customerFavicon');\r\n if (favicon) {\r\n const links = Array.from(document.getElementsByClassName('dynamic-favicon'));\r\n links.forEach(link => link.remove());\r\n favicon.href = faviconUrl + (companyGuid || \"\");\r\n }\r\n }\r\n\r\n static fixLayoutMarkerBasedOnScope = (userScope: PortalScope) => {\r\n if (userScope) {\r\n let layoutPrefix = userScope == PortalScope.Borrower ? 'bp-' : 'ap-';\r\n let body: HTMLElement | null = document.querySelector('body');\r\n if (body) {\r\n body.classList.remove(\"ap-layout\");\r\n body.classList.remove(\"bp-layout\");\r\n body.classList.add(layoutPrefix + 'layout');\r\n }\r\n }\r\n }\r\n\r\n static sendHeadersToIFrame = (iframeUrl: string, headers: HttpHeaders, onReadyCallback: any) => {\r\n var xhr = new XMLHttpRequest();\r\n\r\n xhr.open('GET', iframeUrl);\r\n xhr.onreadystatechange = handler;\r\n xhr.responseType = 'blob';\r\n headers.keys().forEach(key => {\r\n xhr.setRequestHeader(key, headers.get(key));\r\n });\r\n\r\n xhr.send();\r\n\r\n function handler() {\r\n if (this.readyState === this.DONE) {\r\n if (this.status === 200) {\r\n // this.response is a Blob, because we set responseType above\r\n var data_url = URL.createObjectURL(this.response);\r\n onReadyCallback(data_url);\r\n } else {\r\n console.error('no pdf :(');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClassicEditor\"] = factory();\n\telse\n\t\troot[\"ClassicEditor\"] = factory();\n})(self, () => {\nreturn "],"names":["ViewContainerRef","Constants","PageUtils","i0","ctx_r1","AppComponent","constructor","_viewContainerRef","_activatedRoute","_configService","_utilsService","_environment","_timerService","_authService","_navigationService","_notifyService","undefined","userScope","document","title","companyGuid","getThirPartTrackingCodes","subscribe","codes","facebookTrackingCode","injectTrackingCodeScripts","thirdPartyTrackingScripts","facebook","googleTrackingCode","google","hubspotTrackingCode","hubSpot","error","scope","authData","JSON","parse","localStorage","getItem","authorization","authorizationDataKey","trackingCode","trackingScripts","scriptLinks","forEach","scriptLink","source","replace","key","injectJavaScriptAsLink","async","defer","id","codeScripts","codeScript","code","injectJavaScriptAsCode","noscriptPixelTrackers","noscriptToInject","injectNoScriptPixelTracker","autoLogoutTimerName","timer","createTimer","_timerSubscription","expired","logout","navigateToLogin","remove","showInfo","ngOnInit","createEmbeddedView","_template","getClientIp","res","setItem","clientIpKey","stringify","_activatedRouteSubscription","queryParams","production","injectThirdPartyTrackingScripts","getUserScope","fixLayoutMarkerBasedOnScope","faviconUrl","setPageTitle","ngOnDestroy","_contextSubscription","unsubscribe","selectors","viewQuery","firstValueFrom","ctx_r5","ForgotPasswordComponent","_spinner","availableCompanies","userCompanyGuid","forgotPasswordForm","form","markAllAsTouched","valid","toggleProgress","getAvailableCompanies","email","length","errorMessage","sentPasswordResetLink","result","navigateToCheckEmailForPasswordResetNotice","add","value","show","hide","spinnerVisible","sendResetLinkButtonText","possibleLogoUrls","userScopeFromPath","routeConfig","data","forkJoin","formatDate","ctx_r0","EConsentComponent","_borrowerPortalService","_creditService","_mortgageApplicationService","_applicationContextService","isLoading","applications","getApplicationsForUser","_applications","filter","app","companyId","_userPermissions","configuration","getConfig","applicationId","configureUIBasedOnFeatureFlags","mortgage","getMortgage","_mortgages","push","config","creditCheckConsentVerbiage","creditAuthText","eBusinessConsentVerbiage","eConsentText","_eConsentGenerationEnabled","eConsentGenerationEnabled","showEConsentVerbiage","showCreditAuthVerbiage","_creditAuthGenerationEnabled","creditAuthGenerationEnabled","context","userPermissions","initialize","onOkClicked","navigateToPath","apiCalls","today","Date","myDetails","contactId","borrowerId","relatedMortgage","find","m","mortgageBorrower","borrowers","b","dateAuthorizedCreditCheck","authorizationMethod","authorizedCreditCheck","saveMortgage","createConsentReport","acceptedEConsentDate","generateEConsentDocument","observer","next","err","complete","Object","keys","decls","vars","consts","template","ElementRef","DateTime","Interval","AuthenticationRequest","LoginStatus","finalize","Swal","getErrorMessageOrDefault","ctx_r15","ctx_r28","ctx_r9","ctx_r50","PortalScope","LoginComponent","_wizardFlowService","_enumsService","_router","loginRequest","companyThatIsPicked","company","userType","isExternalAuth","redirectToExtternalAuthProvider","username","passwordRequired","slider","select","e","current","_twoFactorCodeInput","nativeElement","focus","window","location","href","getDefaultOnlineAppUrl","loginForm","AgentAndBorrower","usernameValidationOnly","password","signIn","response","loginStatus","Error","onLoginErrored","CompanySelectionRequired","onCompanySelectionRequired","UsernameValidationComplete","onUserNameValidationComplete","ProperScopeSelectionRequired","onRoleSelectionRequired","TwoFactorAuthenticationSetupRequired","onMfaSetupRequired","TwoFactorAuthenticationRequired","onTwoFactorCodeRequired","expireDate","expiresAt","endDate","fromISO","now","toISOString","diff","fromDateTimes","diffMinutes","start","Math","ceil","_returnUrl","returnUrl","path","Borrower","navigateToApplicationFlow","twoFactorCode","mfaSetupRequired","needToConfirmPhone","mfaCodeEntryRequired","phone","areaCode","verificationCode","controls","markAsUntouched","sendTwoFactorPhoneCode","fire","confirmUpdatePhoneAnonymous","pipe","onLoginClicked","description","userName","protocol","host","_queryParams","challengeUrl","apiInfo","apiBaseUrl","encodeURIComponent","includes","getCompanyInfo","companyInfo","externalAuthEnabled","onAvailableCompanyPickedForLogin","availableRoles","map","c","loginButtonText","canCreateAccount","indexOf","params","navigation","getCurrentNavigation","extras","state","countries","onSaveNumberClicked","updatePhoneAnonymous","defaultMessage","EventEmitter","TruvBridge","DigitalAssetsVerificationComponent","_assetService","_borrowerVerificationService","_notificationService","htmlWidgetSrc","thirdPartyEnrollmentWidget","getElementById","innerHTML","addEventListener","messageListener","setTimeout","_truvBridge","init","bridgeToken","position","type","container","querySelector","onLoad","console","log","onSuccess","public_token","metadata","onEvent","event_type","payload","_linkCreated","markVerificationAsComplete","error_type","onClose","_componentIsBeingDestroyed","close","emit","open","taskId","markBorrowerVerificationTaskComplete","markFormFreeForBorrowerComplete","showError","message","msg","_verificationMarkedAsComplete","removeEventListener","provider","initializeFormFree","initializeTruvBridge","inputs","outputs","DigitalIncomeEmploymentVerificationComponent","_incomeService","iframe","Alert","AlertType","OpenSignerViewRequest","_","ctx_r23","ctx_r7","ctx_r11","ESignViaTokenComponent","_portalServiceFactory","_domSanitizer","needEconsent","readyToSign","confirmEsignToken","initialToken","token","loadingMessage","_portalService","needToValidateLoan","requiresSsnLastFourDigits","requiresSubjectPropertyZip","isLast4DigitsOfSsnRequired","isPropertyZipRequired","alert","esignOrderPackage","ordersToSign","eSignOrderDetail","o","publicToken","privateToken","_ordersToSign","orderBy","borrowerHasConsented","startEsignProcess","loadEconsentText","last4DigitsOfSsn","borrowerSsn","slice","validateLoanForAnonymousEsign","subjectPropertyZipCode","gotoEsignView","order","documentSigningVendor","signerViewUrl","bypassSecurityTrustResourceUrl","event","shouldCloseEsignDocIframe","orderIdThatIsJustSigned","orderId","_finishedOrderIds","_indexOfCurrentOrder","indexOfOrderJustSigned","findIndex","signingOrder","indexOfNextOrder","status","startOverTheProcess","portalUrlSegment","request","loanDocTaskId","openEsignerViewForAnonymousEsign","loanValidationForm","invalid","econsentText","doc","contentDocument","write","snapshot","url","s","Agent","createByScope","paramMap","onSubmitClicked","isFormValid","validateLoan","onEconsentSubmitClicked","orderThatHasPrivateTokenMatchingInitialOne","toLowerCase","acceptEsignConsentForAnonymousEsign","mortgageBorrowerId","ApplicationForUser","PortalBaseComponent","HttpEventType","HttpResponse","AddDocumentsToLoanDialogComponent","activeModal","portalServiceFactory","_notifsService","files","taskToAttachFilesTo","portalService","getTaskForFileUpload","application","selectedBorrowerId","notes","file","index","uploadDocument","UploadProgress","isUploading","progress","round","loaded","total","features","ctx","MortgageCalculatorDialogComponent","GeneratePrequalLetterDialogComponent","LoanActionsComponent","_modalService","_spinnerService","isVisible","paymentLink","buttonText","modalRef","modalOptions","xlarge","componentInstance","details","prequalDetails","then","req","generatePrequalLetter","openAssetVerificationClicked","openIncomeVerificationClicked","loanAmount","purchasePrice","downPayment","generatePrequalLetterForApp","downloadFileGuid","docFileGuid","downloadFile","blob","Blob","downloadLink","createElement","URL","createObjectURL","fileName","setAttribute","body","appendChild","click","appId","getPrequalDetailsForAppId","hasPrequalDetails","downPaymentPercent","maxPurchasePrice","interestRate","paymentLinkConfig","getPaymentLinkConfig","x","loadPaymentLinkConfig","actionsApplicable","hasPreApprovalLetter","loadPrequalDetail","openMortgageCalculatorModal","modal","size","backdrop","onAddAdditionalDocumentsClicked","large","additionalDocumentsAddedToLoan","LoanActions","hasAssetVerificationTasks","hasIncomeVerificationTasks","isMortgageCalculatorEnabled","DrawerSize","BorrowerTaskType","ctx_r2","PortalLoanDetailsComponent","_route","_localStorage","Large","containerWrapperId","tasksView","openDigitalVerificationDialog","DigitalAssetVerification","DigitalIncomeEmploymentVerification","pendingTasks","setupActionsAppropriateForLoan","reloadTasks","getLoanDataForAppId","getContactInfoForApplication","borrowerContactInfo","borrowerContact","navigate","isAgent","loanId","actionsAppropriateForLoan","some","task","borrowerTaskType","actionsApplicableToLoan","isAssetVerificationLoanActionEnabled","isEmploymentIncomeVerificationLoanActionEnabled","isMortgageCalculatorLoanActionEnabled","isUploadingAdditionalDocsEnabled","isUploadingAdditionalDocumentsLoanActionEnabled","isPreApprovalLetterGenerationLoanActionEnabled","values","every","userScopeFromLocalStorage","authorizationData","get","loadApplicationDetails","loadBorrowerContactInfo","shouldShowLoanActions","AssetVerificationOptions","IncomeVerificationOptions","FlowEndpoints","Authorization","StepPaths","ModalOptions","centered","scrollable","windowClass","ThirdPartyTrackingScriptConfig","scriptAsCode","noScript","ThirdPartyTrackingScripts","MimeTypes","EnumerationValueNames","VA","FHA","Conventional","USDA","OtherMortgage","ARM","OtherAmortization","Purchase","Refinance","ConstructionToPermanent","FeeSimple","Leasehold","Rent","Asian","AmericanIndianOrAlaskaNative","NativeHawaiianOrOtherPacificIslander","BlackOrAfricanAmerican","White","InformationNotProvided","NotApplicable","HispanicOrLatino","NotHispanicOrLatino","Female","Male","Other","Mexican","PuertoRican","Cuban","CheckingAccount","SavingsAccount","Stock","StockOptions","Bond","LifeInsurance","RetirementFund","NetWorthOfBusinessOwned","Automobile","OtherLiquidAssets","OtherNonLiquidAssets","BridgeLoanNotDeposited","CertificateOfDepositTimeDeposit","IndividualDevelopmentAccount","MoneyMarketFund","MutualFund","TrustAccount","CashOnHand","PendingNetSaleProceedsFromRealEstateAssets","SaleOtherAssets","SecuredBorrowedFundsNotDeposited","ProceedsFromSecuredLoan","ProceedsFromUnsecuredLoan","CashGift","GiftOfEquity","Grant","ProceedsFromSaleOfNonRealEstateAsset","Annuity","Boat","BorrowerEstimatedTotalAssets","BorrowerPrimaryHome","EmployerAssistance","EarnestMoneyCashDepositTowardPurchase","RealEstateOwned","RecreationalVehicle","SavingsBond","SeverancePackage","GiftsNotDeposited","GiftsTotal","FaceToFace","PresentAddress","FormerAddress","MailingAddress","Alimony","ChildCare","SeparateMaintenanceExpense","JobRelatedExpenses","Revolving","HELOC","Installment","Taxes","CollectionsJudgementsAndLiens","LeasePayments","MortgageLoan","Open30DayChargeAccount","OtherLiability","OtherExpense","TaxLien","ChildSupport","CarMaintenance","CharitableContributions","Clothing","DryCleaning","Entertainment","GroceryToiletry","HealthInsurance","Medical","MiscellaneousLivingExpenses","NetRentalExpense","PayrollInsuranceDeduction","PayrollMiscellaneousDeductions","PayrollProfitSharingDeduction","PayrollRetirementDeduction","PayrollTaxDeduction","UnionDues","Base","Bonus","Commissions","Overtime","MilitaryCombatPay","MilitaryFlightPay","MilitaryHazardPay","MilitaryOverseasPay","MilitaryPropPay","MilitaryClothesAllowance","MilitaryRationsAllowance","MilitaryVariableHousingAllowance","MilitaryQuartersAllowance","OtherTypesOfIncome","ContractBasis","CurrentEmployer","FormerEmployer","ToBeDecidedInEscrow","None","Partial","Full","AsianIndian","Chinese","Filipino","GuamanianOrChamorro","Japanese","Korean","NativeHawaiian","Samoan","Vietnamese","OtherAsian","OtherPacificIslander","EarnestMoney","DepositOnSalesContract","EmployerAssistedHousing","LotEquity","RelocationFunds","LeasePurchaseFund","TradeEquity","LenderCredit","SweatEquity","SellerCredit","MIPremiumRefund","LoanAmount","TotalLoanAmount","Married","Separated","Single","isActiveDutyMilitary","onlyNonActivatedReserveOrNationalGuard","isRetiredDischargedSeparatedFromMilitary","Condominium","Cooperative","PlannedUnitDevelopment","NotInAProject","HFAPreferred","HFAPreferredRiskSharing","HomeReady","DeferredFullyForgiven","DeferredNotFullyForgiven","NonDeferred","NoNegativeAmortization","PotentialNegativeAmortization","ScheduledNegativeAmortization","FirstLien","SecondLien","EleventhDistrictCOF","ThirtyDayAverageSOFR","DailyCDRate","FannieMae60DayRequiredNetYield","FannieMaeLIBOR","FederalCostOfFunds","FreddieMac60DayRequiredNetYield","FreddieMacLIBOR","MonthlyAverageCMT","NationalAverageContractRate","NationalMonthlyMedianCostOfFunds","TBillDailyValue","WallStreetJournalLIBOR","WeeklyAvePrimeRate","WeeklyAverageCDRate","WeeklyAverageCMT","WeeklyFiveYearTreasurySecuritiesConstantMaturityFRBH15","WeeklyOneYearTreasurySecuritiesConstantMaturityFRBH15","WeeklyThreeYearTreasurySecuritiesConstantMaturityFRBH15","Appraised","Original","PrimaryResidence","SecondaryResidence","Investment","LessThan25Percent","GreaterOrEqualTo25Percent","CommonEnumerations","MilitaryStatuses","EnumItemNames","Enumerations","PricingEnumerations","FeeEnumerations","TitleEnumerations","DocumentSetEnumerations","MortgageEnumerations","MortgageInsuranceEnumerations","UtilsService","name","regex","RegExp","decodedUrl","decodeURIComponent","search","results","exec","uniqueId","urlWithoutQueryString","split","substring","lastIndexOf","parts","pathname","borrower","residencyAddresses","i","residencyType","_presentAddressType","address","currentAddress","address1","person","fullName","firstName","lastName","phoneNumberString","cleaned","match","zoom","el","transformOrigin","p","oString","style","script","scriptElement","head","noscriptElement","imgElement","width","height","display","src","base64Url","base64","jsonPayload","atob","charCodeAt","toString","join","exp","expiresDate","setUTCMilliseconds","dateString","date","month","getUTCMonth","day","getUTCDate","getUTCFullYear","dateToFormat","year","test","isAsync","scriptLinkElement","factory","Injector","PasswordResetSendCodeDialogComponent","ExistingUserActionSelectionDialogComponent","ResetPasswordDialogComponent","ErrorMessage","BorrowerInfoComponent","WizardStepComponentBase","HtmlViewerDialogComponent","ctx_r8","CreateAccountStepComponent","_injector","_wizardFlowConfigService","_http","privacyStatement","getPrivacyStatement","htmlContent","termsOfService","getTermsOfUse","companyName","companySpecificAdditionalDisclaimer","mortgageToSave","subjectProperty","mortgageApplication","extension","userGuid","createApplicationRequest","campaignId","leadId","leadGuid","leadSourceOverride","leadSource","referralSource","flowGuid","flowConfigs","guid","loanPurposeId","lead","base64String","btoa","borrowerInfo","smsOptIn","optInForReceivingSms","startSpinner","mortgageApplicationService","saveLoanApplication","loginAndGotoApplyFlow","step","primaryEmail","stopSpinner","navigateToCheckEmailNotice","isPasswordPolicyViolation","passwordPolicyErrors","passwordPolicyViolations","userForgotPassword","showSendCodeForResettingPasswordDialog","applyingForANewLoan","authToken","showResetPasswordDialog","newPassword","rememberMe","spinner","responseType","wizardFlowService","hasSuccessfullyPulledExistingApplication","userCreationAutoConfirmed","_activatedRouteQueryParamsSubscription","_activatedRouteParamsSubscription","routeParams","onNextClicked","isEditEnabled","isSubmittedInEditMode","validate","checkIfBorrowerExists","userExists","showRequestPasswordDialog","createUserAccountAndMortgageWhenNotAutoConfirmed","createUserAccountAndMortgageWhenAutoConfirmed","QueryList","Employment","TypeOfIncome","Income","BorrowerVerificationOrderStatus","borrower_r14","DigitalIncomeVerificationStepComponent","navigateToManualEmploymentAndIncomeStep","allFieldsFilled","allBorrowersDigitalIncomeChecked","setNextButtonText","nextButtonText","self","bridge","getElementsByClassName","processTruvEvents","_doneProcessing","_loanDocTaskId","interval","limit","elapsed","processEvents","_borrowerVerificationOrderId","AccountConnected","Promise","resolve","borrowerVerificationOrderId","initializeBorrowerIncomeAndEmploymentVerification","mainBorrower","vendorToUse","currentBorrower","coBorrowers","toLocaleLowerCase","saveMortgageApplicationBeforeNextStep","voeEnabled","getBorrowersForDigitalIncomeCheck","inCoApplyFlow","borrowerSetting","permissionToRunIncome","extractIncomeAndEmploymentData","incomeAndEmploymentData","transactions","transaction","digitallySourcedEmployment","extractEmploymentFromTransaction","extractEmploymentFromDigitallySourcedEmployment","employerCode","employer","employerName","years","floor","employee","monthsInService","months","employmentPositionTitle","incomes","annualCompensation","baseComp","baseCompensation","employerWithStatus","Number","originalHireDate","terminationDate","employmentStatus","employment","addressId","valueOf","employmentType","startDate","yearsOnJob","monthsOnJob","isDigitallyVerified","theWorkNumberEmployerCode","sort","a","income","base","incomeObj","monthlyIncome","typeOfIncome","employments","apiCall","verifyIncomeAndEmploymentData","borrowerResult","r","ngAfterViewInit","borrowerIncomeComponents","borrowerCredit","checkStatusChanged","onCheckClickedOnBorrowerCredit","getTokenAndInitializeTruv","_timerExpiredSubscription","_timerTickedSubscription","PriceOptionsDialogComponent","DiffChecker","ctx_r4","product_r11","ctx_r16","ctx_r18","PricingStepComponent","resizeLoanAmountInput","maxLoanAmount","minLoanAmount","productSearchRequest","loanInformation","baseLoanAmount","repriceLoan","loanTerms","loanTerm","liability","diffChecker","_originalLiabilities","liabilities","changes","calculateDiff","liabilityPayOffInformationChanged","liabilitiesToPayOff","l","payoffType","partialPayoffAmount","unpaidBalance","product","priceDetails","getProductPricingDetails","productIds","productId","thirdPartySearchId","productSearchResults","searchId","pricingVendor","quotes","priceOptionsForSelectedProduct","priceOptions","onPriceOptionSelected","quote","selectedPricingProduct","products","productSearchResult","apiToCall","searchProducts","searchProductsFake","cloneDeep","getTextWidth","loanAmountInput","widthTerm","loanTermInput","initializePayOffInfo","canMoveToNextStep","runPricingSearch","observerAssign","observerGet","navigateForward","assignPricingRequestModel","rate","adjustedRate","price","adjustedPrice","lockTerm","lockPeriod","assignProductToApplication","text","span","textContent","visibility","font","getBoundingClientRect","removeChild","TransactionDetail","PurchaseCredit","MortgageApplicationExtension","SubjectProperty","Address","BorrowerStepStatus","ctx_r33","ctx_r34","ctx_r35","ctx_r27","ctx_r29","ctx_r32","ctx_r69","ctx_r70","ctx_r6","PurchaseCreditsStepComponent","stateField","isTbd","isSubjectPropertyAddressTbd","autoSelectTbdForSubjectPropertyAddress","subjectPropertyAddressComponent","isTbdDisabled","relatedTarget","_userClickedNext","_isZipcodeSearchInProgress","hasPurchaseAgreement","subjectPropertyAddress","presentValue","haveSellerCredits","sellerCredits","earnestMoneyDeposit","purchaseAggreementDate","expectedCloseOfEscrowDate","newLabel","subjectPropertyAddressTbdLabel","borrowerStepStatus","borrowerAppStatus","borrowerStepStatuses","stepStatusValues","isZipKnownByTheBorrower","purchaseAgreementContractSignedDate","formatISODate","purchaseAgreementExpectedCOEDate","fromISOFormatToLocal","sellerCreditIndex","transactionDetail","purchaseCredits","pc","purchaseCreditType","purchaseCreditAmount","emdIndex","splice","removeSellerCreditsFromMortgage","sellerCredit","isRefinance","purposeOfLoan","cameHereWithBackNavigation","navigateBackward","occupancyTypes","usageTypes","city","zipCode","county","hasSignedPurchaseAgreement","initializeContractAndCloseOfEscrowDates","initializeSellerCreditsAndEarnestMoneyDepositValues","allStates","states","restrictStatesToLicenseStates","licenseStates","getLicenseStates","availableStates","ls","autoSelectLookingToGetPreApproved","onLookingForPreApprovalSelected","statusForStep","purchaseCreditsForm","isAddressvalid","persistTheChoiceForBorrowerKnowsTheZipCodeWhenSubjectPropertyAddressIsTbd","setContractAndCloseOfEscrowDatesOnMortgage","addSellerCreditsAndEarnestMoneyDepositToMortgage","removeSellerCreditsAndEarnestMoneyDepositFromMortgage","setSubjectProperty","n","Z","version","sources","names","mappings","sourcesContent","sourceRoot","t","css","media","sourceMap","identifier","updater","references","exports","enumerable","default","highest","high","normal","low","lowest","is","w","on","once","off","listenTo","E","emitter","callbacks","z","stopListening","P","N","u","delegate","to","stopDelegating","_addEventListener","S","callback","priority","_removeEventListener","v","childEvents","set","G","configurable","bind","property","toMany","_observable","_bindProperties","_to","_bindings","unbind","decorate","object","methodName","y","U","tt","J","X","observable","properties","forceDisabled","clearForceDisabled","destroy","refresh","execute","registerChildCommand","command","_checkEnabled","_getFirstEnabledCommand","Kt","oe","ln","hash","string","xn","Sn","Pn","writable","Rn","Vn","Hi","Xo","Sr","da","Nn","define","_setToTarget","_getFromSource","_setObjectToTarget","addMany","added","removed","has","getIndex","clear","bindTo","as","using","_setUpBindToBinding","_getItemIdBeforeAdding","_remove","plugin","f","g","k","missingPlugin","requiredBy","pluginItem","pluginName","_add","plugin1","plugin2","Ea","Da","global","quantity","_t","uiLanguage","contentLanguage","initPlugins","Plugin","_addEditor","_removeEditor","_getEditorConfig","isAttached","getPath","getAncestors","getCommonAncestor","isBefore","isAfter","_fireChange","toJSON","Wa","isSimilar","_clone","Ga","qa","element","pattern","matchAll","getElementName","h","fc","Zc","d","ll","ul","setTo","$c","getNormalized","getAsString","getStyleNames","_getStylesEntries","_cleanEmptyObjectsOnPath","toNormalizedForm","ql","getReducedForm","getRelatedStyles","setNormalizer","setExtractor","setReducer","setStyleRelation","_mapStyleNames","Vl","Kl","getChild","getChildIndex","getChildren","getAttribute","hasAttribute","hasClass","getClassNames","getStyle","getNormalizedStyle","hasStyle","findAncestor","getCustomProperty","getIdentity","shouldRenderUnsafeAttribute","_appendChild","_insertChild","_removeChildren","_setAttribute","_removeAttribute","_addClass","_removeClass","_setStyle","_removeStyle","_setCustomProperty","_removeCustomProperty","$l","Zl","Xl","ed","direction","skip","done","_next","_previous","_formatReturnValue","item","previousPosition","nextPosition","getShiftedBy","getLastMatchingPosition","includeSelf","isEqual","compareWith","getWalker","clone","root","boundaries","ignoreElementEnd","getEnlarged","getTrimmed","containsPosition","containsRange","getDifference","getIntersection","getContainedElement","isIntersecting","od","getFirstRange","getLastRange","getFirstPosition","getLastPosition","getSelectedElement","fake","label","setFocus","_setRanges","_setFakeOptions","_addRange","_pushRange","addedRange","intersectingRange","ad","_setTo","_setFocus","cd","hd","fd","ud","idProperty","getRoot","registerPostFixer","_callPostFixers","getElementsWithSameId","wd","Cd","isMac","isWindows","isGecko","isSafari","isiOS","isAndroid","isBlink","isRegExpUnicodePropertySupported","ctrl","cmd","alt","shift","arrowleft","arrowup","arrowright","arrowdown","backspace","delete","enter","space","esc","tab","render","toDomElement","Kd","Xd","eu","setSelection","setSelectionFocus","createDocumentFragment","createText","createAttributeElement","createContainerElement","createEditableElement","createEmptyElement","createUIElement","createRawElement","removeAttribute","addClass","removeClass","setStyle","removeStyle","setCustomProperty","removeCustomProperty","breakAttributes","breakContainer","mergeAttributes","mergeContainers","insert","uu","nodes","fu","end","move","wrap","unwrap","rename","clearClonedElementsGroup","createPositionAt","createPositionAfter","createPositionBefore","createRange","createRangeOn","createRangeIn","createSelection","createSlot","_registerSlotFactory","_clearSlotFactory","_insertNodes","_wrapChildren","_unwrapChildren","_wrapRange","_wrapPosition","_wrapAttributeElement","_unwrapAttributeElement","_breakAttributesRange","_breakAttributes","_addToClonedElementsGroup","_removeFromClonedElementsGroup","firstIndex","lastIndexOld","lastIndexNew","howMany","Bu","injectType","attributes","Fu","markToSync","inlineFillerPosition","_updateChildrenMappings","withChildren","equal","zu","_updateElementMappings","_getInlineFillerPosition","_isSelectionInInlineFiller","_removeInlineFiller","_needsInlineFillerAtSelection","_updateText","Ju","_updateAttrs","_updateChildren","Gu","replaceText","Nu","_diffNodeLists","_findReplaceActions","_markDescendantTextToSync","_updateSelection","_updateFakeSelection","_updateDomSelection","Ku","_domSelectionNeedsUpdate","_fakeSelectionNeedsUpdate","_removeDomSelection","_removeFakeSelection","_updateFocus","top","left","bindFakeSelection","fakeSelectionToView","bindElements","unbindDomElement","bindDocumentFragments","shouldRenderAttribute","setContentOf","uh","viewToDom","setDomElementAttribute","domElement","removeDomElementAttribute","viewElement","viewRangeToDom","viewPositionToDom","parent","offset","domToView","domSelectionToView","backward","domRangeToView","domPositionToView","mapDomToView","findCorrespondingViewText","mapViewToDom","findCorrespondingDomText","scrollX","scrollY","ch","scrollLeft","scrollTop","isElement","isDocumentFragment","isBlockFiller","isDomSelectionBackward","getHostViewElement","isDomSelectionCorrect","registerRawContentMatcher","_getBlockFiller","_isDomSelectionPositionCorrect","_processDataFromViewText","_nodeEndsWithSpace","_processDataFromDomText","_checkShouldLeftTrimDomText","_checkShouldRightTrimDomText","_getTouchingInlineViewNode","startPosition","_getTouchingInlineDomNode","_isBlockElement","_isInlineObjectElement","_createViewElement","_isViewElementWithRawContent","_shouldRenameElement","_createReplacementDomElement","capture","passive","_getProxyEmitter","_getAllProxyEmitters","fh","attach","detach","_createDomListener","enable","disable","checkShouldIgnoreEventFromTarget","Un","Ah","preventDefault","stopPropagation","observe","useCapture","onDomEvent","keyCode","altKey","ctrlKey","shiftKey","metaKey","clearTimeout","_handleSelectionMove","oldSelection","newSelection","domSelection","Qh","childList","characterData","subtree","flush","_onMutations","_isBogusBrMutation","clearInterval","_handleSelectionChange","_clearInfiniteLoop","getData","setData","inputType","targetRanges","dataTransfer","isComposing","newElement","restore","right","bottom","dm","innerWidth","innerHeight","moveTo","moveBy","getIntersectionArea","getArea","getVisible","contains","excludeScrollbarsAndBorders","fm","_focus","_blur","press","target","viewportOffset","vm","Cm","yu","Qd","attachDomRoot","detachDomRoot","Array","getDomRoot","addObserver","getObserver","disableObservers","enableObservers","scrollToTheSelection","Am","change","forceRender","_disableRendering","_render","getAttributes","getAttributeKeys","_setAttributesTo","_clearAttributes","Nm","getNode","getNodeIndex","getNodeStartOffset","indexToOffset","offsetToIndex","nodeList","_removeNodes","Rm","Om","getChildStartOffset","getNodeByPath","jm","getParentPath","getCommonPath","isTouching","hasSameParentAs","getTransformedByOperation","_getTransformedByInsertOperation","_getTransformedByMoveOperation","_getTransformedBySplitOperation","_getTransformedByMergeOperation","_getTransformedByDeletion","_getTransformedByInsertion","_getTransformedByMove","_getCombined","stickiness","rootName","Um","containsItem","getJoined","getMinimalFlatRanges","getTransformedByOperations","Qm","modelPosition","unbindViewElement","unbindModelElement","bindElementToMarker","unbindElementFromMarkerName","flushUnboundMarkerNames","flushDeferredBindings","clearBindings","toModelElement","toViewElement","toModelRange","toViewRange","toModelPosition","viewPosition","mapper","toViewPosition","isPhantom","markerNameToElements","registerViewToModelLength","findMappedViewAncestor","_toModelOffset","getModelLength","findPositionIn","_moveViewPositionToTextNode","consume","revert","verifyAllConsumed","items","_getSymbolForTextProxy","_addSymbolForTextProxy","dispatcher","convertChanges","convert","convertSelection","selection","markerName","markerRange","range","attributeKey","attributeOldValue","attributeNewValue","_convertInsert","shallow","_convertRemove","_convertAttribute","_convertReinsert","reconversion","_convertMarkerAdd","_convertMarkerRemove","_reduceChanges","_addConsumablesForInsert","_addConsumablesForRange","_addConsumablesForSelection","_testAndFire","_testAndFireAddAttributes","_createConversionApi","consumable","writer","options","convertItem","convertChildren","doNotAddConsumables","convertAttributes","canReuseView","directChange","attributeKeys","containsEntireContent","_checkRange","_replaceAllRanges","_removeAllRanges","_popRange","og","parentFirst","ug","toRange","dg","hg","deletionPosition","getRanges","getSelectedBlocks","observeMarkers","_getStoredAttributes","_overrideGravity","_restoreGravity","gg","bg","overrideGravity","restoreGravity","uid","_validateSelectionRanges","_prepareRange","updateMarkers","oldMarkers","_updateMarker","_updateAttributes","_getSurroundingAttributes","_fixGraveyardSelection","elementToElement","elementToStructure","attributeToElement","attributeToAttribute","markerToElement","markerToHighlight","markerToData","preflight","up","lp","dp","Og","jg","Fg","elementName","group","modeOrFilter","schema","elementToAttribute","elementToMarker","dataToMarker","modelRange","modelCursor","Mp","model","view","reconvertMarker","reconvertItem","commandName","classes","styles","_test","_consume","_revert","register","itemName","extend","getDefinitions","getDefinition","isRegistered","isBlock","isLimit","isObject","isInline","isSelectable","isContent","checkChild","checkAttribute","checkMerge","addChildCheck","addAttributeCheck","setAttributeProperties","getAttributeProperties","getLimitElement","checkAttributeInSelection","getNearestSelectionRange","findAllowedParent","setAllowedAttributes","removeDisallowedAttributes","ak","getAttributesWithProperty","createContext","_clearCache","_compile","Gp","qp","$p","Yp","Kp","Qp","Zp","Jp","_checkContextMatch","endsWith","startsWith","allowIn","allowContentOf","allowWhere","allowAttributes","allowAttributesOf","allowChildren","inheritTypesFrom","Xp","tk","ek","walker","store","safeInsert","updateConversionResult","splitToAllowedParent","getSplitParts","keepEmptyElement","_convertItem","viewItem","_convertChildren","_safeInsert","_updateConversionResult","_splitToAllowedParent","cursorParent","_registerSplitPair","_getSplitParts","_keepEmptyElement","_removeEmptyElements","getHtml","renderingMode","toData","toView","useFillerType","_toDom","W","isUndoable","trim","ignoreWhitespaces","toModel","addStyleProcessorRules","_checkIfRootsExists","dispatchers","isDowncast","addAlias","for","converterPriority","_createConversionHelpers","isLocal","isUndo","isTyping","addOperation","bufferOperation","bufferMarkerChange","newMarkerData","oldMarkerData","getMarkersToRemove","getMarkersToAdd","getChangedMarkers","oldRange","newRange","hasDataChanges","getChanges","getRefreshedItems","reset","_refreshItem","_markInsert","count","_markRemove","_markAttribute","_markChange","_getChangesForElement","_makeSnapshot","_handleChange","_getInsertDiff","changeCount","_getRemoveDiff","_getAttributesDiff","_isInInsertedElement","_removeAllNestedChanges","operation","historyVersion","getOperations","getOperation","setOperationAsUndone","isUndoingOperation","isUndoneOperation","getUndoneOperation","yk","createRoot","getRootNames","_handleChangeBlock","_hasDocumentChangedFromTheLastChangeBlock","_getDefaultRoot","_getDefaultRange","_validateSelectionRange","_set","_refresh","_destroyMarker","affectsData","managedUsingOperations","getStart","getEnd","getRange","_attachLiveRange","_detachLiveRange","Rk","_validate","Gk","Wk","getReversed","node","_execute","Hk","getMovedRangeStart","Vk","jk","ob","Fk","ab","cloneElement","usingOperation","insertText","insertElement","append","appendText","appendElement","db","ub","setAttributes","clearAttributes","fb","merge","createPositionFromPath","_mergeDetached","_merge","addMarker","hb","updateMarker","removeMarker","setSelectionAttribute","removeSelectionAttribute","overrideSelectionGravity","restoreSelectionGravity","_setSelectionAttribute","_removeSelectionAttribute","_assertWriterUsedCorrectly","_addOperationForAffectedMarkers","xb","toPosition","yb","Eb","jb","Sb","Vb","Ob","ignoreMarkers","Bb","Mb","Nb","Ub","Gb","isDirectHost","keepOnFocus","Yb","hostElement","Jb","iw","operationsA","operationsB","originalOperations","nextBaseVersionA","nextBaseVersionB","originalOperationsACount","originalOperationsBCount","uw","dw","setOriginalOperations","updateRelation","side","wasInLeftElement","wasStartBeforeMergedElement","wasEndBeforeMergedElement","wasInRightElement","getContext","aIsStrong","aWasUndone","bWasUndone","abRelation","baRelation","forceWeakRemove","_wasUndone","_getRelation","_setRelation","ow","insertChild","removeChildren","unwrapElement","color","doNotAutoparagraph","isCollapsed","collapsed","handleNodes","_updateLastNodeFromAutoParagraph","getSelectionRange","getAffectedRange","_handleNode","_insertPartialFragment","_handleObject","_handleDisallowedNode","_appendToFragment","_setAffectedBoundaries","_mergeOnLeft","_mergeOnRight","_canMergeLeft","_canMergeRight","_tryAutoparagraphing","_checkAndAutoParagraphToAllowedPosition","_checkAndSplitToAllowedPosition","_getAllowedIn","fA","singleCharacters","isForward","unit","treatEmojiAsSingleUnit","gb","batch","enqueueChange","applyOperation","insertContent","insertObject","deleteContent","Db","modifySelection","gA","getSelectedContent","hasContent","createBatch","createOperationFromJSON","_runPendingChanges","language","enableReadOnlyMode","lockId","disableReadOnlyMode","originalName","create","setParent","_renderViewIntoCollectionParent","intoFragment","apply","isApplying","revertData","eventNameOrFunction","attribute","if","valueIfTrue","KA","_renderNode","_renderElement","_renderText","_renderAttributes","_renderStyleAttribute","_renderElementChildren","_setUpListeners","_bindToObservable","LA","_revertTemplateFromNode","getValue","activateAttributeListener","activateDomEventListener","GA","HA","qA","YA","children","bindings","o_","createCollection","registerChild","deregisterChild","setTemplate","extendTemplate","SA","positions","limiter","fitInViewport","viewportOffsetConfig","targetRect","elementRect","positionedElementAncestor","viewportRect","limiterRect","limiterIntersectionArea","viewportIntersectionArea","h_","k_","tag","class","attachTo","withArrow","pin","unpin","_startPinning","_stopPinning","C_","sideOffset","heightOffset","stickyVerticalOffset","northWestArrowSouthWest","northWestArrowSouthMiddleWest","northWestArrowSouth","northWestArrowSouthMiddleEast","northWestArrowSouthEast","northArrowSouthWest","northArrowSouthMiddleWest","northArrowSouth","northArrowSouthMiddleEast","northArrowSouthEast","northEastArrowSouthWest","northEastArrowSouthMiddleWest","northEastArrowSouth","northEastArrowSouthMiddleEast","northEastArrowSouthEast","southWestArrowNorthWest","southWestArrowNorthMiddleWest","southWestArrowNorth","southWestArrowNorthMiddleEast","southWestArrowNorthEast","southArrowNorthWest","southArrowNorthMiddleWest","southArrowNorth","southArrowNorthMiddleEast","southArrowNorthEast","southEastArrowNorthWest","southEastArrowNorthMiddleWest","southEastArrowNorth","southEastArrowNorthMiddleEast","southEastArrowNorthEast","westArrowEast","eastArrowWest","viewportStickyNorth","E_","S_","sw","se","_onEnterOrFocus","_onLeaveOrBlur","_onScroll","_pinTooltip","cssClass","_unpinTooltip","_updateTooltipPosition","update","setEditableElement","getEditableElement","getEditableElementsNames","addToolbar","toolbarView","editorUI","_readViewportOffsetFromConfig","_initFocusTracking","_getFocusableCandidateToolbarDefinitions","_getCurrentFocusedToolbarDefinition","_focusFocusableCandidateToolbar","beforeFocus","R_","updateSourceElement","O_","j_","bold","cancel","caption","check","cog","eraser","image","lowVision","importExport","paragraph","plus","alignBottom","alignMiddle","alignTop","alignLeft","alignCenter","alignRight","alignJustify","objectLeft","objectCenter","objectRight","objectFullWidth","objectInline","objectBlockLeft","objectBlockRight","objectSizeFull","objectSizeLarge","objectSizeSmall","objectSizeMedium","pencil","pilcrow","threeVerticalDots","activator","contextElements","keystrokeHandler","focusTracker","gridItems","numberOfColumns","attachToDom","dir","detachFromDom","IC","ns","viewBox","_updateXMLContent","_colorFillPaths","BC","zC","tabindex","_createLabelView","_createKeystrokeView","_getTooltipString","jC","_createToggleView","Black","Grey","Red","Orange","Yellow","Green","Aquamarine","Turquoise","Blue","Purple","hasBorder","backgroundColor","KC","gridTemplateColumns","tooltip","focusLast","EC","_createArrowView","nv","_createActionView","selectstart","childView","dropdownPanel","cv","south","north","southEast","southWest","northEast","northWest","southMiddleEast","southMiddleWest","northMiddleEast","northMiddleWest","uv","focusFirst","focusNext","focusPrevious","_getFocusableItem","removeItems","wv","focusables","actions","role","maxWidth","mousedown","fillFromConfig","_cleanItemsConfiguration","_cleanSeparatorsAndLineBreaks","_createNestedToolbarDropdown","icon","withText","Wv","_updateGrouping","_enableGroupingOnResize","_enableGroupingOnMaxWidthChange","_groupLastItem","_ungroupFirstItem","_createGroupedItemsDropdown","tooltipPosition","_updateFocusCycleableItems","Iv","Lv","Fv","$v","qv","Yv","Kv","Qv","Zv","Jv","Xv","vC","ey","sy","lang","_createVoiceLabel","_updateIsFocusedClasses","my","wy","placeholder","readonly","inputmode","input","_updateIsEmpty","_setDomElementValue","min","max","sandbox","load","Ty","_createStatusView","ariaDescribedById","inputMode","showSuccess","namespace","showWarning","_showNotification","Fy","Wy","hasView","updatePosition","showStack","_getStackId","_showNextStack","_showPrevStack","_createRotatorView","_createFakePanelsView","_showView","balloonClassName","singleViewMode","_getBalloonPosition","showView","hideView","_createButtonView","_addPanels","_removePanels","Jy","marginLeft","_checkIfShouldBeSticky","afterBlur","isContextual","afterInit","_createToolbarView","shouldGroupWhenFull","isFloating","_getBalloonPositionData","_updatePosition","_getBalloonPositions","ax","clickOutsideHandler","_createPanelView","_updateButton","_hideButton","_showPanel","_hidePanel","_attachButtonToElement","_getToolbarMaxWidth","_initToolbar","_initPlaceholder","Kb","px","shouldToolbarGroupWhenFull","P_","Xf","lock","unlock","_reset","yx","domEvent","resultRange","Dx","doNotResetEntireContent","_shouldEntireContentBeReplacedWithParagraph","_replaceEntireContentWithParagraph","_shouldReplaceFirstBlockWithParagraph","deleteContentBackward","deleteWordBackward","deleteHardLineBackward","deleteSoftLineBackward","deleteContentForward","deleteWordForward","deleteHardLineForward","deleteSoftLineForward","sequence","Rx","selectionToRemove","requestUndoOnBackspace","_startListening","_evaluateTextBeforeSelection","registerAttribute","_handleForwardMovement","Gx","_handleBackwardMovement","Wx","nodeBefore","nodeAfter","copyright","from","registeredTrademark","trademark","oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight","horizontalEllipsis","enDash","emDash","quotesPrimary","quotesSecondary","quotesPrimaryEnGb","quotesSecondaryEnGb","quotesPrimaryPl","quotesSecondaryPl","symbols","mathematical","typography","transformations","include","_enableTransformationWatchers","normalizedTransformation","format","_addListAutoformats","uE","_addBasicStylesAutoformats","hE","_addHeadingAutoformats","_addBlockQuoteAutoformats","_addCodeBlockAutoformats","usePreviousLanguageChoice","_addHorizontalLineAutoformats","method","_setupPasteDrop","content","_setupCopyCut","EE","DE","leaveUnmerged","insertParagraph","isSoft","insertLineBreak","oldDescriptor","newDescriptor","_insertDescriptor","_removeDescriptor","UE","KE","HE","oD","_insertParagraph","_listenToIfEnabled","_insertParagraphAccordingToFakeCaretPosition","_enableTypeAroundUIInjection","before","after","uD","_enableTypeAroundFakeCaretActivationUsingKeyboardArrows","_handleArrowKeyPress","_handleArrowKeyPressOnSelectedWidget","_handleArrowKeyPressWhenSelectionNextToAWidget","_handleArrowKeyPressWhenNonCollapsedSelection","_enableInsertingParagraphsOnButtonClick","_enableInsertingParagraphsOnEnterKeypress","_enableInsertingParagraphsOnTypingKeystroke","_enableDeleteIntegration","_enableInsertContentIntegration","_enableInsertObjectIntegration","_enableDeleteContentIntegration","hD","fD","CD","_onMousedown","_handleSelectionChangeOnArrowKeyPress","_preventDefaultOnArrowKeyPress","_handleDelete","_setSelectionOverElement","_getObjectElementNextToSelection","_clearPreviouslySelectedWidgets","leading","maxWait","trailing","BD","_setupDragging","_setupClipboardInputIntegration","_setupContentInsertionIntegration","_setupDraggableAttributeHandling","_clearDraggableAttributes","_setupDropMarker","_updateDropMarker","_removeDropMarker","_finalizeDragging","addBatch","ranges","isBackward","clearStack","_restoreSelection","KD","_undo","useRelations","padWithNoOps","_addButton","keystroke","ariaLabel","getRelatedElement","toolbarId","_updateToolbarsVisibility","_hideToolbar","_showToolbar","rT","_isToolbarVisible","_isToolbarInBalloon","begin","_bindToState","_dismiss","updateSize","handleHostWidth","handleHostHeight","commit","redraw","containsHandle","_cleanup","_proposeNewSize","widthPercents","_getResizeHost","_getHandleHost","_appendHandles","_appendSizeUI","AT","redrawSelectedResizer","deselect","getResizerByViewElement","_getResizerByHandle","_mouseDownListener","_mouseMoveListener","_mouseUpListener","isImage","isInlineImageView","isBlockImageView","insertImage","findOptimalPosition","getClosestSelectedImageWidget","getClosestSelectedImageElement","isImageAllowed","toImageWidget","isImageWidget","isBlockImage","isInlineImage","findViewImgElement","_embedImageBetweenPositions","read","abort","getLoader","createLoader","destroyLoader","_updatePendingAction","upload","_destroy","_createFilePromiseWrapper","HT","UT","_getValue","_removeQuote","YT","_applyQuote","inheritAllFrom","JT","isToggleable","_getValueFromFirstAllowedNode","isFormatting","copyOnEnter","upcastAlso","autoRefresh","refreshToken","_validateTokenValue","_registerRefreshTokenTimeout","_getTokenRefreshTimeoutTime","onProgress","onError","send","_prepareRequest","_attachXHRListeners","uploaded","_sendRequest","createToken","createUploadGateway","registerTokenUrl","getTokenFor","SI","zI","yC","xC","_createFindFieldset","findPrevious","findNext","_onFindButtonExecute","searchText","matchCase","wholeWords","_injectFindResultsCounter","_createReplaceFieldset","replaceAll","_createOptionsDropdown","_isMatchCaseSwitch","Gv","_initFocusCycling","_initKeystrokeHandling","_createButton","_createInputField","_setupDropdownButton","_setupFormView","same","marker","editor","findCallback","JI","FI","stop","_defineCommands","_defineConverters","hasColor","cS","colors","columns","removeButtonLabel","documentColorsLabel","documentColorsCount","updateDocumentColors","updateSelectedColors","appendGrids","_createRemoveColorButton","_createStaticColorsGrid","colorDefinitions","_createDocumentColorsGrid","_addColorToDocumentColors","dropdownView","componentName","dropdownLabel","supportAllValues","_prepareAnyValueConverters","_prepareCompatibilityConverter","face","_getLocalizedOptions","commandParam","presets","eM","Default","Tiny","Small","Big","Huge","normalizeSizeOptions","block","modelSchema","paragraphLikeModel","inline","attributeProperties","coupledAttribute","registerBlockElement","registerInlineElement","extendBlockElement","extendInlineElement","getDefinitionsForView","_getMatchingViewDefinitions","_extendDefinition","mM","fM","widgetLabel","hM","zM","HM","loadAllowedConfig","loadDisallowedConfig","allowElement","disallowElement","disallowAttributes","processViewAttributes","qM","_registerElementsAfterInit","_registerElementHandlers","_registerModelPostFixer","_getCoupledAttributesMap","_fireRegisterEvent","_registerObjectElement","_registerBlockElement","_registerInlineElement","YM","FM","_hasBlockContent","_addAttributeConversion","attributeName","setAttributeOnDowncast","listNodes","previous","htmlElementName","getGhsAttributeNameForElement","addModelHtmlClass","IB","removeModelHtmlClass","setModelHtmlAttributes","removeModelHtmlAttributes","setModelHtmlStyles","removeModelHtmlStyles","NB","_addDefaultH1Conversion","Paragraph","VB","commandValue","isOn","QB","aN","_createLabeledInputView","_createForm","newValue","uN","_showForm","_hideForm","_fireEvents","oldElement","_setupConversion","_setupClipboardIntegration","EN","focusCaptionOnShow","_showImageCaption","_hideImageCaption","getCaptionFromImageModelElement","getCaptionFromModelSelection","matchImageCaptionViewElement","_setupImageTypeCommandsIntegration","_getSavedCaption","_saveCaption","_registerCaptionReconversion","ON","accept","multiple","logWarning","_initRequest","_initListeners","urls","fetch","acceptedType","allowMultipleFiles","tz","oz","cz","uploadStatusChange","hz","mz","gz","pz","vz","bz","kz","fz","Cz","_uploadImage","uploadId","types","promise","imageElement","includeChangesInGraveyard","_readAndUpload","_parseAndSetSrcsetAttributeOnImage","Sz","_role","_ariaLabelledBy","Pz","insertButtonView","cancelButtonView","getIntegration","_createActionButtons","isEnabled","insertImageViaUrl","_createDropdownView","_setUpDropdown","resizeUnit","resizeOptions","_registerSchema","_registerConverters","small","medium","original","_registerImageResizeButton","_registerImageResizeDropdown","_getOptionLabelValue","_getResizeDropdownListItemDefinitions","_setupResizerCreator","modelElement","getHandleHost","getResizeHost","isCentered","onCommit","tP","imageBlock","imageInline","shouldConvertImageType","modelElements","isDefault","className","full","center","inlineLeft","inlineRight","defaultItem","isBlockPluginLoaded","isInlinePluginLoaded","_P","missingPlugins","normalizeStyles","getDefaultStylesConfiguration","getDefaultDropdownDefinitions","warnInvalidStyle","DEFAULT_OPTIONS","DEFAULT_ICONS","DEFAULT_DROPDOWN_DEFINITIONS","configuredStyles","_setupPostFixer","TP","_createDropdown","CP","dropdown","enableActiveItemFocusOnDropdownOpen","_executeCommand","_defineButton","getDispatcher","getDispatcherForLinkedImage","Downloadable","restoreManualDecoratorStates","_getDecoratorStateFromModel","_isRangeToUpdate","defaultValue","_createPattern","oR","addTargetToExternalLinks","dE","_enableAutomaticDecorators","mode","rel","_enableManualDecorators","_enableLinkOpen","XL","_enableInsertContentSelectionAttributesFixer","hR","_enableClickingAfterLink","_enableTypingOverLink","_handleDeleteContentAfterLink","kR","getDecoratorSwitchesState","_createUrlInput","_createManualDecoratorSwitches","_createFormChildren","CR","_createPreviewButton","_createActionsView","_createFormView","_createToolbarLinkButton","_enableUserBalloonInteractions","_addActionsView","_addFormView","_closeFormView","_removeFormView","_showUI","_hideUI","_startUpdatingUI","_getSelectedLinkElement","_showFakeVisualSelection","_hideFakeVisualSelection","_enableTypingHandling","_enableEnterHandling","_enableShiftEnterHandling","_checkAndApplyAutoLinkOnRange","_applyAutoLink","_persistAutoLink","_createToolbarLinkImageButton","_isSelectedLinkedImage","$R","listIndent","JR","listType","sameIndent","smallerIndent","oO","iO","MO","foo","aO","qO","hasMedia","getMediaViewElement","_getMedia","_getUrlMatches","getViewElement","_getPreviewHtml","_getPlaceholderHtml","_getValidUrl","ej","providers","html","renderMediaPreview","renderForEditingView","_embedMediaBetweenPositions","cj","isValid","resetFormStatus","_setUpForm","pj","_text","Nj","selectFirst","selectNext","selectPrevious","executeSelected","_isItemVisibleInScrolledArea","highlight","removeHighlight","feeds","feedCallback","itemRenderer","_createMentionView","mention","_getItemRenderer","_requestFeed","feed","feedText","_setupTextWatcher","_handleFeedResponse","_showOrUpdateUI","_hideUIAndRemoveMarker","_renderItem","_getBalloonPanelPositionData","caret_se","caret_ne","caret_sw","caret_nw","minimumCharacters","tF","toMentionAttribute","blockElements","inlineObjectElements","indent","startIndex","bF","isActive","oF","lF","rF","TF","IF","BF","hex","stylesString","cF","xF","RF","bodyString","skipComments","isVoid","KF","_showSourceEditing","rows","_hideSourceEditing","_updateEditorData","batchType","_focusSourceEditing","_disableCommands","_enableCommands","_handleReadOnlyMode","_isAllowedToHandleSourceEditingMode","column","modelAttribute","upcastStyleToAttribute","downcastAttributeToStyle","headingRows","headingColumns","oV","skipRow","_advanceToNextRow","_isOverEndRow","_isOverEndColumn","_formatOutValue","_shouldSkipSlot","_getSpanned","_recordSpans","cell","row","_markSpannedCell","getPositionBefore","hasSelectionHandle","at","copyStructureFromAbove","startRow","startColumn","endRow","endColumn","includeAllSlots","isAnchor","cellAnchorRow","cellAnchorColumn","NV","zV","cellHeight","iV","cellWidth","LV","UV","RV","_getMergeableCell","first","last","SV","_isInHeading","BV","getCellLocation","createTable","XV","insertRows","colspan","insertColumns","tH","removeRows","table","cellsToMove","cellsToTrim","rH","rowspan","iH","removeColumns","nH","PV","splitCellVertically","newCellsSpan","updatedSpan","splitCellHorizontally","getColumns","getRows","createTableWalker","getSelectedTableCells","getTableCellsContainingSelection","getSelectionAffectedTableCells","getRowIndexes","getColumnIndexes","isSelectionRectangular","sortRanges","_getFirstLastIndexesObject","_areCellInTheSameTableSection","_areIndexesInSameSection","mergeWidth","mergeHeight","lH","rowIndex","BH","asWidget","gH","CH","TH","IH","jH","_highlightGridBoxes","_createGridButton","_createGridCollection","bindIsOn","_prepareDropdown","_prepareMergeSplitButtonDropdown","_fillDropdownWithListOptions","YH","QH","getSelectionAsFragment","firstColumn","lastColumn","firstRow","lastRow","setCellSelection","getFocusCell","getAnchorCell","_defineSelectionConverter","_enablePluginDisabling","_handleDeleteContent","_handleInsertTextEvent","_getCellsToSelect","cells","_onCopyCut","_onInsertContent","_replaceSelectedCellsWithPasted","_replaceTableSlotCell","getTableIfOnlyTableInContent","iU","rU","aU","sU","_handleTabOnSelectedTable","_handleTab","_onArrowKey","_handleArrowKeys","_isSelectionAtCellEdge","_navigateFromCellInDirection","_enableShiftClickSelection","_enableMouseDragSelection","_getModelTableCellFromDomEvent","mU","TU","toolbar","contentToolbar"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}