{"version":3,"file":"src_app_pages_onboarding_create-account_create-account_module_ts.bf88fe06424384fd.js","mappings":"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","names":["AbstractCreateAccountService","CreateAccountService","constructor","httpClient","ssas","store","super","this","environment","submitTellUs","tellUs","firstValueFrom","_this","post","apiUrl","submitTellUsControllerSuffix","submitSetPassword","setPassword","params","HttpParams","applyEnrollmentIdToQueryParams","registerControllerSuffix","submitPhoneNumbers","phoneNumbers","submitChangeEmail","changeEmail","submitChangeMobileNumber","changeMobileNumber","requestEmailCode","requestMobileCode","verifyEmailCode","verifyMobileCode","static","core","factory","i0","ChangeEmailComponent","AbstractOnboardingPageComponent","route","ps","c","cas","fb","ees","ngOnInit","form","group","email","Validators","emailProperties$","select","selectEmail","subscriptions","push","subscribe","props","get","setValue","autofill","backState","PageState","nextState","enrollmentProperties$","selectEnrollmentId","enrollmentIdValue","enrollmentId","data","transitions","contentDict","populatePageStates","populatePageContent","queryParams","updateDashboardStateId","stateId","ngOnDestroy","destructSubscriptionArray","getPageStateByEventAndTransitions","EventTypes","backText","displayText","headerText","input1Text","nextText","submit","_this2","valid","payload","value","dispatch","CreateAccountActions","isSuccessful","markAllAsTouched","onEnter","submitButton","selectors","StatefulPrimaryButtonComponent","ctx","ChangePhoneNumberComponent","mobilePhoneNumber","phoneProperties$","selectPhoneNumbers","businessPhoneNumber","mobileNumber","ConfirmEmailComponent","resendState","codeProperties$","selectCode","code","FormGroup","FormControl","input2Text","input3Text","input4Text","input5Text","input6Text","digits","split","ngAfterViewInit","syncComponentHeightResize","headerTooltipComponent","content","container","resendText","tooltip1Content","PageContent","subheaderText","firstValue","secondValue","thirdValue","fourthValue","fifthValue","sixthValue","setErrors","allTheValuesRequired","cCode","confirmationCode","Promise","allSettled","activateBusinessProfile","id","resendEmailCode","_this3","ToolTipComponent","ConfirmMobileComponent","resendMobileCode","phoneProps","CreateAccountGuard","canActivate","state","enrollmentId$","selectModuleStatuses","businessProfileStatusId","unsubscribe","OnboardingModuleStatuses","IdentityConfirmationComponent","changeMobileState","changeEmailState","confirmMobileState","confirmEmailState","emailAddress","phoneNumber","response","maskEmail","username","maskCharacters","preserveCharacters","length","maskedCharacters","repeat","substring","maskPhoneNumber","replace","MobileIdentityComponent","properties$","patchValue","valueChanges","atLeastOneRequired","tooltipContent","RegisterComponent","cs","logger","registeredCompanyName","firstName","lastName","howDidYouHearAboutUs","whoReferredYou","describeHowYouHeardAboutUs","selectTellUsProperties","heardAboutUsId","defaultOption","label","action","anySelect","bind","heardAboutUsDetailsValueFromStore","heardAboutUsDetails","source","heardAboutUsData","options","populateHeardAboutUsOptions","selectionChange","toLowerCase","includes","tooltipRegisterComponent","tooltipEmailComponent","dropdownHeaderText","tooltipRegisterContent","tooltipEmailContent","domainWarningText","referralSelect","referralFlag","otherFlag","otherSelect","changed","event","selectedOption","find","option","target","undefined","isDomainEmail","domainWarningTriggered","reportAlert","domainEmailWarning","registerCompanyName","howDidYouHearAboutUsId","whoReferredYouValue","describeHowYouHeardAboutUsValue","heardAboutUsDetailsValue","res","console","log","JSON","stringify","EnrollmentActions","userProfileId","UserProfileActions","res2","createEnrollmentExtended","whoReferredYouControl","describeHowYouHeardAboutUsControl","setValidators","clearValidators","updateValueAndValidity","map","item","len","nondomainEmailSuffixList","i","focusEmail","_this4","emailInput","focus","dereport","handleEmailOutput","outputValue","passwordMatchValidator","formGroup","password","confirmPassword","passwordMismatch","passwordStrengthValidator","control","test","passwordStrength","routes","path","component","resolve","PageStateResolver","HeardAboutUsResolver","SetPasswordComponent","validator","updateDashboardStateIdWithEnrollmentId","passwordTooltipComponent","tooltip","CreateAccountRoutingModule","imports","RouterModule","modules","CommonModule","CommonSharedModule","KendoModule","OnboardingSharedModule","providers","CreateAccountModule"],"sourceRoot":"webpack:///","sources":["./src/app/core/abstracts/services/onboarding/create-account.abstract.ts","./src/app/core/services/onboarding/create-account.service.ts","./src/app/pages/onboarding/create-account/change-email/change-email.component.html","./src/app/pages/onboarding/create-account/change-email/change-email.component.ts","./src/app/pages/onboarding/create-account/change-email/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/change-phone-number/change-phone-number.component.html","./src/app/pages/onboarding/create-account/change-phone-number/change-phone-number.component.ts","./src/app/pages/onboarding/create-account/change-phone-number/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/confirm-email/confirm-email.component.html","./src/app/pages/onboarding/create-account/confirm-email/confirm-email.component.ts","./src/app/pages/onboarding/create-account/confirm-email/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/confirm-mobile/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/confirm-mobile/confirm-mobile.component.html","./src/app/pages/onboarding/create-account/confirm-mobile/confirm-mobile.component.ts","./src/app/core/guards/onboarding/create-account.guard.ts","./src/app/pages/onboarding/create-account/identity-confirmation/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/identity-confirmation/identity-confirmation.component.ts","./src/app/pages/onboarding/create-account/identity-confirmation/identity-confirmation.component.html","./src/app/pages/onboarding/create-account/mobile-identity/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/mobile-identity/mobile-identity.component.html","./src/app/pages/onboarding/create-account/mobile-identity/mobile-identity.component.ts","./src/app/pages/onboarding/create-account/register/register.component.html","./src/app/pages/onboarding/create-account/register/register.component.ts","./src/app/pages/onboarding/create-account/register/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/set-password/set-password.component.html","./src/app/pages/onboarding/create-account/set-password/set-password.component.ts","./src/app/pages/onboarding/create-account/create-account-routing.module.ts","./src/app/pages/onboarding/create-account/set-password/ContentIDConstants.ts","./src/app/pages/onboarding/create-account/create-account.module.ts"],"sourcesContent":["import { IApiResponse } from 'src/app/core/interfaces/api/api-response.interface';\r\nimport { IChangeEmail } from 'src/app/core/interfaces/onboarding/create-account/change-email.interface';\r\nimport { IChangeMobileNumber } from 'src/app/core/interfaces/onboarding/create-account/change-mobile-number.interface';\r\nimport { IPhoneNumbers } from 'src/app/core/interfaces/onboarding/create-account/phone-number.interface';\r\nimport { IRequestEmailCode } from 'src/app/core/interfaces/onboarding/create-account/request-email-code.interface';\r\nimport { IRequestMobileCode } from 'src/app/core/interfaces/onboarding/create-account/request-mobile-code.interface';\r\nimport { ISetPassword } from 'src/app/core/interfaces/onboarding/create-account/set-password.interface';\r\nimport { ITellUs } from 'src/app/core/interfaces/onboarding/create-account/tell-us.interface';\r\nimport { IVerifyEmailCode } from 'src/app/core/interfaces/onboarding/create-account/verify-email-code.interface';\r\nimport { IVerifyMobileCode } from 'src/app/core/interfaces/onboarding/create-account/verify-mobile-code.interface';\r\n\r\nexport abstract class AbstractCreateAccountService {\r\n abstract submitTellUs(tellUs: ITellUs): Promise;\r\n abstract submitSetPassword(setPassword: ISetPassword): Promise;\r\n abstract submitPhoneNumbers(\r\n phoneNumbers: IPhoneNumbers\r\n ): Promise;\r\n abstract submitChangeEmail(changeEmail: IChangeEmail): Promise;\r\n abstract submitChangeMobileNumber(\r\n changeMobileNumber: IChangeMobileNumber\r\n ): Promise;\r\n abstract requestEmailCode(\r\n requestEmailCode: IRequestEmailCode\r\n ): Promise;\r\n abstract requestMobileCode(\r\n requestMobileCode: IRequestMobileCode\r\n ): Promise;\r\n abstract verifyEmailCode(\r\n verifyEmailCode: IVerifyEmailCode\r\n ): Promise;\r\n abstract verifyMobileCode(\r\n verifyMobileCode: IVerifyMobileCode\r\n ): Promise;\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, firstValueFrom } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AbstractCreateAccountService } from '../../abstracts/services/onboarding/create-account.abstract';\r\nimport { IApiResponse } from '../../interfaces/api/api-response.interface';\r\nimport { IChangeEmail } from '../../interfaces/onboarding/create-account/change-email.interface';\r\nimport { IChangeMobileNumber } from '../../interfaces/onboarding/create-account/change-mobile-number.interface';\r\nimport { IPhoneNumbers } from '../../interfaces/onboarding/create-account/phone-number.interface';\r\nimport { IRegisterResponse } from '../../interfaces/onboarding/create-account/register-response.interface';\r\nimport { IRequestEmailCode } from '../../interfaces/onboarding/create-account/request-email-code.interface';\r\nimport { IRequestMobileCode } from '../../interfaces/onboarding/create-account/request-mobile-code.interface';\r\nimport { ISetPassword } from '../../interfaces/onboarding/create-account/set-password.interface';\r\nimport { ITellUsResponse } from '../../interfaces/onboarding/create-account/tell-us-reponse.interface';\r\nimport { ITellUs } from '../../interfaces/onboarding/create-account/tell-us.interface';\r\nimport { IVerifyEmailCode } from '../../interfaces/onboarding/create-account/verify-email-code.interface';\r\nimport { IVerifyMobileCode } from '../../interfaces/onboarding/create-account/verify-mobile-code.interface';\r\nimport { IAppState } from '../../store/common/interfaces/app-state.interface';\r\nimport { applyEnrollmentIdToQueryParams } from '../../ui-helpers/functions/user-context-url.func';\r\nimport { ServersideAlertService } from './serverside-alert.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateAccountService extends AbstractCreateAccountService {\r\n private apiUrl = environment.apiUrl;\r\n private registerControllerSuffix = 'Onboarding/Onboarding/register/';\r\n private submitTellUsControllerSuffix = 'Onboarding/Onboarding/register';\r\n registerResponse: ITellUsResponse;\r\n constructor(\r\n private httpClient: HttpClient,\r\n public ssas: ServersideAlertService,\r\n private store: Store,\r\n ) {\r\n super();\r\n }\r\n\r\n async submitTellUs(\r\n tellUs: ITellUs,\r\n ): Promise> {\r\n const result = await firstValueFrom(\r\n this.httpClient.post>(\r\n `${this.apiUrl}${this.submitTellUsControllerSuffix}`,\r\n tellUs,\r\n ),\r\n );\r\n return result;\r\n }\r\n\r\n submitSetPassword(setPassword: ISetPassword): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}set-password`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, setPassword, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n\r\n submitPhoneNumbers(phoneNumbers: IPhoneNumbers): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}phone-number`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, phoneNumbers, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n\r\n submitChangeEmail(changeEmail: IChangeEmail): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}change-email`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, changeEmail, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n\r\n submitChangeMobileNumber(\r\n changeMobileNumber: IChangeMobileNumber,\r\n ): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}change-mobile-number`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, changeMobileNumber, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n\r\n requestEmailCode(requestEmailCode: IRequestEmailCode): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}request-email-code`;\r\n const res = firstValueFrom(\r\n this.httpClient.post(url, requestEmailCode, {\r\n params,\r\n }) as Observable,\r\n );\r\n return res;\r\n }\r\n\r\n requestMobileCode(\r\n requestMobileCode: IRequestMobileCode,\r\n ): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}request-mobile-code`;\r\n const res = firstValueFrom(\r\n this.httpClient.post(url, requestMobileCode, {\r\n params,\r\n }) as Observable,\r\n );\r\n return res;\r\n }\r\n\r\n verifyEmailCode(verifyEmailCode: IVerifyEmailCode): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}verify-email-code`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, verifyEmailCode, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n\r\n verifyMobileCode(verifyMobileCode: IVerifyMobileCode): Promise {\r\n let params = new HttpParams();\r\n params = applyEnrollmentIdToQueryParams(params, this.store);\r\n const url = `${this.apiUrl}${this.registerControllerSuffix}verify-mobile-code`;\r\n return firstValueFrom(\r\n this.httpClient.post(url, verifyMobileCode, {\r\n params,\r\n }) as Observable,\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n
\r\n

{{this.headerText}}

\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Enter an Email Address\r\n \r\n \r\n Not a Valid Email Format\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IChangeEmail } from 'src/app/core/interfaces/onboarding/create-account/change-email.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport * as CreateAccountActions from 'src/app/core/store/onboarding/actions/create-account.actions';\r\nimport { selectEmail } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\n@Component({\r\n selector: 'app-change-email',\r\n templateUrl: './change-email.component.html',\r\n styleUrls: ['./change-email.component.scss'],\r\n})\r\nexport class ChangeEmailComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n enrollmentProperties$: Observable;\r\n emailProperties$: Observable;\r\n subscriptions: Subscription[] = [];\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n autofill = '';\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n enrollmentIdValue: string;\r\n\r\n backText = 'Back';\r\n headerText = 'Change Email Address';\r\n input1Text = 'Email Address';\r\n nextText = 'Confirm Change';\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private fb: FormBuilder,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n });\r\n this.emailProperties$ = this.store.select(selectEmail);\r\n this.subscriptions.push(\r\n this.emailProperties$.subscribe((props) => {\r\n this.form.get('email')?.setValue(props);\r\n this.autofill = props;\r\n })\r\n );\r\n\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n\r\n this.enrollmentProperties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.enrollmentProperties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? this.backText;\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n this.headerText;\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.TextInput1)?.displayText ??\r\n this.input1Text;\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.Next)?.displayText ?? this.nextText;\r\n }\r\n\r\n async submit() {\r\n if (this.form.valid) {\r\n const payload: IChangeEmail = {\r\n enrollmentId: this.enrollmentIdValue,\r\n email: this.form.get('email')?.value ?? '',\r\n };\r\n // storing the email address in service so that other components can use it.(should be placed after the await opertion)\r\n this.store.dispatch(\r\n CreateAccountActions.ChangeEmailAction({\r\n email: this.form.get('email')?.value ?? '',\r\n })\r\n );\r\n const res = await this.cas.submitChangeEmail(payload);\r\n if (res.isSuccessful) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","// RefName: Change Email*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n TextInput1: 2,\r\n Next: 3,\r\n};\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n
\r\n

{{this.headerText}}

\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Enter a mobile number\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 OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IChangeMobileNumber } from 'src/app/core/interfaces/onboarding/create-account/change-mobile-number.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport * as CreateAccountActions from 'src/app/core/store/onboarding/actions/create-account.actions';\r\nimport { selectPhoneNumbers } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\n@Component({\r\n selector: 'app-change-phone-number',\r\n templateUrl: './change-phone-number.component.html',\r\n styleUrls: ['./change-phone-number.component.scss'],\r\n})\r\nexport class ChangePhoneNumberComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n enrollmentProperties$: Observable;\r\n phoneProperties$: Observable;\r\n subscriptions: Subscription[] = [];\r\n autofill = '';\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n\r\n backText = 'Back';\r\n headerText = 'Change Phone Number';\r\n input1Text = 'Mobile Number';\r\n nextText = 'Confirm Change';\r\n enrollmentIdValue: string;\r\n container: ElementRef;\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private fb: FormBuilder,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n mobilePhoneNumber: ['', [Validators.required]],\r\n });\r\n this.phoneProperties$ = this.store.select(selectPhoneNumbers);\r\n this.subscriptions.push(\r\n this.phoneProperties$.subscribe((props) => {\r\n if (props.mobilePhoneNumber) {\r\n this.form.get('mobilePhoneNumber')?.setValue(props.mobilePhoneNumber);\r\n this.autofill = props.mobilePhoneNumber;\r\n } else {\r\n this.form\r\n .get('mobilePhoneNumber')\r\n ?.setValue(props.businessPhoneNumber);\r\n this.autofill = props.businessPhoneNumber;\r\n }\r\n })\r\n );\r\n\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n\r\n this.enrollmentProperties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.enrollmentProperties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? this.backText;\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n this.headerText;\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.TextInput1)?.displayText ??\r\n this.input1Text;\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.Next)?.displayText ?? this.nextText;\r\n }\r\n\r\n async submit() {\r\n if (this.form.valid) {\r\n const payload: IChangeMobileNumber = {\r\n enrollmentId: this.enrollmentIdValue,\r\n mobileNumber: this.form.get('mobilePhoneNumber')?.value ?? '',\r\n };\r\n // storing the phonenumber in service so that other components can use it.(should be placed after the await opertion)\r\n this.store.dispatch(\r\n CreateAccountActions.ChangeMobileAction({\r\n mobilePhoneNumber: this.form.get('mobilePhoneNumber')?.value ?? '',\r\n })\r\n );\r\n\r\n const res = await this.cas.submitChangeMobileNumber(payload);\r\n if (res.isSuccessful) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","// RefName: Change Mobile*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n TextInput1: 2,\r\n Next: 3,\r\n};\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n \r\n
\r\n {{this.subheaderText}}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Check your email for a verification code\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 AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription, firstValueFrom } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IRequestEmailCode } from 'src/app/core/interfaces/onboarding/create-account/request-email-code.interface';\r\nimport { IVerifyEmailCode } from 'src/app/core/interfaces/onboarding/create-account/verify-email-code.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport { selectEmail } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\nimport { selectCode } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\n\r\n@Component({\r\n selector: 'app-confirm-email',\r\n templateUrl: './confirm-email.component.html',\r\n styleUrls: ['./confirm-email.component.scss'],\r\n})\r\nexport class ConfirmEmailComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n enrollmentProperties$: Observable;\r\n codeProperties$: Observable;\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n resendState: PageState;\r\n form: FormGroup;\r\n enrollmentIdValue: string;\r\n code: string = '';\r\n digits: any;\r\n\r\n backText = 'Back';\r\n headerText = 'Enter Email Verification Code';\r\n nextText = 'Confirm Email';\r\n resendText = 'Resend Code';\r\n subheaderText =\r\n 'If you do not receive an email, please check your spam folder.';\r\n @ViewChild(ToolTipComponent) headerTooltipComponent: ToolTipComponent;\r\n tooltip1Content: IPageContent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n this.resendState = new PageState();\r\n\r\n this.enrollmentProperties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.enrollmentProperties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.codeProperties$ = this.store.select(selectCode);\r\n this.subscriptions.push(\r\n this.codeProperties$.subscribe((code) => {\r\n this.code = code;\r\n })\r\n );\r\n\r\n this.form = new FormGroup({\r\n input1Text: new FormControl(),\r\n input2Text: new FormControl(),\r\n input3Text: new FormControl(),\r\n input4Text: new FormControl(),\r\n input5Text: new FormControl(),\r\n input6Text: new FormControl(),\r\n });\r\n\r\n this.digits = this.code ? this.code.split('') : '';\r\n\r\n if (this.digits !== null && this.digits !== undefined) {\r\n this.form.get(\"input1Text\")?.setValue(this.digits[0] || '');\r\n this.form.get(\"input2Text\")?.setValue(this.digits[1] || '');\r\n this.form.get(\"input3Text\")?.setValue(this.digits[2] || '');\r\n this.form.get(\"input4Text\")?.setValue(this.digits[3] || '');\r\n this.form.get(\"input5Text\")?.setValue(this.digits[4] || '');\r\n this.form.get(\"input6Text\")?.setValue(this.digits[5] || '');\r\n }\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.headerTooltipComponent,\r\n this.content,\r\n this.container\r\n )\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? this.backText;\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n this.headerText;\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.Next)?.displayText ?? this.nextText;\r\n this.resendText =\r\n contentDict.get(ContentIDConstants.ResendText)?.displayText ??\r\n this.resendText;\r\n this.tooltip1Content =\r\n contentDict.get(ContentIDConstants.Tooltip1) ?? new PageContent();\r\n this.subheaderText =\r\n contentDict.get(ContentIDConstants.Subheader)?.displayText ??\r\n this.subheaderText;\r\n }\r\n\r\n async submit() {\r\n const firstValue = this.form.get('input1Text')!.value;\r\n const secondValue = this.form.get('input2Text')!.value;\r\n const thirdValue = this.form.get('input3Text')!.value;\r\n const fourthValue = this.form.get('input4Text')!.value;\r\n const fifthValue = this.form.get('input5Text')!.value;\r\n const sixthValue = this.form.get('input6Text')!.value;\r\n if (\r\n !firstValue ||\r\n !secondValue ||\r\n !thirdValue ||\r\n !fourthValue ||\r\n !fifthValue ||\r\n !sixthValue\r\n ) {\r\n this.form.setErrors({ allTheValuesRequired: true });\r\n } else {\r\n this.form.setErrors(null);\r\n }\r\n if (this.form.valid) {\r\n const cCode =\r\n (this.form.get('input1Text')?.value ?? '') +\r\n (this.form.get('input2Text')?.value ?? '') +\r\n (this.form.get('input3Text')?.value ?? '') +\r\n (this.form.get('input4Text')?.value ?? '') +\r\n (this.form.get('input5Text')?.value ?? '') +\r\n (this.form.get('input6Text')?.value ?? '');\r\n const payload: IVerifyEmailCode = {\r\n enrollmentId: this.enrollmentIdValue,\r\n confirmationCode: cCode,\r\n };\r\n await this.cas.verifyEmailCode(payload);\r\n await Promise.allSettled([\r\n this.ees.activateBusinessProfile(),\r\n this.ees.updateDashboardStateId(this.nextState.id),\r\n ]);\r\n return true;\r\n }\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n async resendEmailCode() {\r\n const email = await firstValueFrom(this.store.select(selectEmail));\r\n const payload: IRequestEmailCode = {\r\n enrollmentId: this.enrollmentIdValue,\r\n email,\r\n };\r\n await this.cas.requestEmailCode(payload);\r\n return true;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","// RefName: Confirm Email*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n Next: 2,\r\n ResendText: 3,\r\n Tooltip1: 4,\r\n Subheader: 5,\r\n};\r\n","// RefName: Confirm Mobile*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n Next: 2,\r\n ResendText: 3,\r\n Tooltip1: 4,\r\n Subheader: 5,\r\n};\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n
\r\n

{{this.headerText}}

\r\n \r\n
\r\n
\r\n {{this.subheaderText}}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Check your mobile device for a verification code\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 AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription, firstValueFrom } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IRequestMobileCode } from 'src/app/core/interfaces/onboarding/create-account/request-mobile-code.interface';\r\nimport { IVerifyMobileCode } from 'src/app/core/interfaces/onboarding/create-account/verify-mobile-code.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport {\r\n selectCode,\r\n selectEmail,\r\n selectPhoneNumbers,\r\n} from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\n@Component({\r\n selector: 'app-confirm-mobile',\r\n templateUrl: './confirm-mobile.component.html',\r\n styleUrls: ['./confirm-mobile.component.scss'],\r\n})\r\nexport class ConfirmMobileComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy {\r\n form: FormGroup;\r\n codeProperties$: Observable;\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n resendState: PageState;\r\n code: string = '';\r\n digits: any;\r\n\r\n backText = 'Back';\r\n headerText = 'Enter Mobile Verification Code';\r\n nextText = 'Confirm Mobile';\r\n resendText = 'Resend Code';\r\n subheaderText = '';\r\n @ViewChild(ToolTipComponent) headerTooltipComponent: ToolTipComponent;\r\n tooltip1Content: IPageContent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n this.resendState = new PageState();\r\n\r\n this.codeProperties$ = this.store.select(selectCode);\r\n this.subscriptions.push(\r\n this.codeProperties$.subscribe((code) => {\r\n this.code = code;\r\n })\r\n );\r\n\r\n this.form = new FormGroup({\r\n input1Text: new FormControl(),\r\n input2Text: new FormControl(),\r\n input3Text: new FormControl(),\r\n input4Text: new FormControl(),\r\n input5Text: new FormControl(),\r\n input6Text: new FormControl(),\r\n });\r\n\r\n this.digits = this.code ? this.code.split('') : '';\r\n\r\n if (this.digits !== null && this.digits !== undefined) {\r\n this.form.get(\"input1Text\")?.setValue(this.digits[0] || '');\r\n this.form.get(\"input2Text\")?.setValue(this.digits[1] || '');\r\n this.form.get(\"input3Text\")?.setValue(this.digits[2] || '');\r\n this.form.get(\"input4Text\")?.setValue(this.digits[3] || '');\r\n this.form.get(\"input5Text\")?.setValue(this.digits[4] || '');\r\n this.form.get(\"input6Text\")?.setValue(this.digits[5] || '');\r\n }\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.headerTooltipComponent,\r\n this.content,\r\n this.container\r\n )\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? this.backText;\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n this.headerText;\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.Next)?.displayText ?? this.nextText;\r\n this.resendText =\r\n contentDict.get(ContentIDConstants.ResendText)?.displayText ??\r\n this.resendText;\r\n this.tooltip1Content =\r\n contentDict.get(ContentIDConstants.Tooltip1) ?? new PageContent();\r\n this.subheaderText =\r\n contentDict.get(ContentIDConstants.Subheader)?.displayText ??\r\n this.subheaderText;\r\n }\r\n async submit() {\r\n const firstValue = this.form.get('input1Text')?.value;\r\n const secondValue = this.form.get('input2Text')?.value;\r\n const thirdValue = this.form.get('input3Text')?.value;\r\n const fourthValue = this.form.get('input4Text')?.value;\r\n const fifthValue = this.form.get('input5Text')?.value;\r\n const sixthValue = this.form.get('input6Text')?.value;\r\n if (\r\n !firstValue ||\r\n !secondValue ||\r\n !thirdValue ||\r\n !fourthValue ||\r\n !fifthValue ||\r\n !sixthValue\r\n ) {\r\n this.form.setErrors({ allTheValuesRequired: true });\r\n } else {\r\n this.form.setErrors(null);\r\n }\r\n if (this.form.valid) {\r\n const cCode =\r\n (this.form.get('input1Text')?.value ?? '') +\r\n (this.form.get('input2Text')?.value ?? '') +\r\n (this.form.get('input3Text')?.value ?? '') +\r\n (this.form.get('input4Text')?.value ?? '') +\r\n (this.form.get('input5Text')?.value ?? '') +\r\n (this.form.get('input6Text')?.value ?? '');\r\n const payload: IVerifyMobileCode = {\r\n confirmationCode: cCode,\r\n };\r\n await this.cas.verifyMobileCode(payload);\r\n await Promise.allSettled([\r\n this.ees.activateBusinessProfile(),\r\n this.ees.updateDashboardStateId(this.nextState.id),\r\n ]);\r\n return true;\r\n }\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n async resendMobileCode() {\r\n let mobileNumber: string;\r\n const phoneProps = await firstValueFrom(\r\n this.store.select(selectPhoneNumbers)\r\n );\r\n if (phoneProps.mobilePhoneNumber) {\r\n mobileNumber = phoneProps.mobilePhoneNumber;\r\n } else {\r\n mobileNumber = phoneProps.businessPhoneNumber;\r\n }\r\n\r\n const email = await firstValueFrom(this.store.select(selectEmail));\r\n const payload: IRequestMobileCode = {\r\n mobileNumber,\r\n email,\r\n };\r\n await this.cas.requestMobileCode(payload);\r\n return true;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n} from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { OnboardingModuleStatuses } from '../../enums/onboarding-module-status.enum';\r\nimport { EnrollmentExtendedService } from '../../services/onboarding/enrollment-extended.service';\r\nimport { IAppState } from '../../store/common/interfaces/app-state.interface';\r\nimport { selectModuleStatuses } from '../../store/onboarding/reducers+selectors/enrollment.selector';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CreateAccountGuard implements CanActivate {\r\n constructor(\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {}\r\n\r\n async canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): Promise {\r\n const enrollmentId$ = this.store.select(selectModuleStatuses);\r\n let businessProfileStatusId = 0;\r\n const subscription = enrollmentId$.subscribe(async (props) => {\r\n businessProfileStatusId = props.businessProfileStatusId;\r\n });\r\n subscription.unsubscribe();\r\n if (businessProfileStatusId !== OnboardingModuleStatuses.INACTIVE) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","// RefName: Identity Confirmation*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n Input1: 2,\r\n Input2: 3,\r\n Input3: 4,\r\n Input4: 5,\r\n Tooltip1: 6,\r\n};\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IRequestEmailCode } from 'src/app/core/interfaces/onboarding/create-account/request-email-code.interface';\r\nimport { IRequestMobileCode } from 'src/app/core/interfaces/onboarding/create-account/request-mobile-code.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport {\r\n selectEmail,\r\n selectPhoneNumbers,\r\n} from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\nimport * as CreateAccountActions from 'src/app/core/store/onboarding/actions/create-account.actions';\r\n\r\n@Component({\r\n selector: 'app-identity-confirmation',\r\n templateUrl: './identity-confirmation.component.html',\r\n styleUrls: ['./identity-confirmation.component.scss'],\r\n})\r\nexport class IdentityConfirmationComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n enrollmentProperties$: Observable;\r\n emailProperties$: Observable;\r\n phoneProperties$: Observable;\r\n code: string = '';\r\n backState: PageState;\r\n confirmMobileState: PageState;\r\n confirmEmailState: PageState;\r\n changeMobileState: PageState;\r\n changeEmailState: PageState;\r\n enrollmentIdValue: string;\r\n\r\n emailAddress: string;\r\n phoneNumber: string;\r\n\r\n backText: string;\r\n headerText: string;\r\n input1Text: string;\r\n input2Text: string;\r\n input3Text: string;\r\n input4Text: string;\r\n @ViewChild(ToolTipComponent) headerTooltipComponent: ToolTipComponent;\r\n tooltip1Content: IPageContent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.backState = new PageState();\r\n this.changeMobileState = new PageState();\r\n this.changeEmailState = new PageState();\r\n this.confirmMobileState = new PageState();\r\n this.confirmEmailState = new PageState();\r\n\r\n this.enrollmentProperties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.enrollmentProperties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.emailProperties$ = this.store.select(selectEmail);\r\n this.subscriptions.push(\r\n this.emailProperties$.subscribe((props) => {\r\n this.emailAddress = props;\r\n })\r\n );\r\n\r\n this.phoneProperties$ = this.store.select(selectPhoneNumbers);\r\n this.subscriptions.push(\r\n this.phoneProperties$.subscribe((props) => {\r\n if (props.mobilePhoneNumber) {\r\n this.phoneNumber = props.mobilePhoneNumber;\r\n } else {\r\n this.phoneNumber = props.businessPhoneNumber;\r\n }\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.headerTooltipComponent,\r\n this.content,\r\n this.container\r\n )\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.confirmEmailState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.CONFIRM_EMAIL,\r\n transitions\r\n );\r\n this.confirmMobileState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.CONFIRM_MOBILE,\r\n transitions\r\n );\r\n this.changeEmailState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.CHANGE_EMAIL,\r\n transitions\r\n );\r\n this.changeMobileState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.CHANGE_MOBILE,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? 'Back';\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n 'Confirm Identity';\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.Input1)?.displayText ??\r\n 'Email a code:';\r\n this.input2Text =\r\n contentDict.get(ContentIDConstants.Input2)?.displayText ?? 'Text a code:';\r\n this.input3Text =\r\n contentDict.get(ContentIDConstants.Input3)?.displayText ?? 'Change Email';\r\n this.input4Text =\r\n contentDict.get(ContentIDConstants.Input4)?.displayText ??\r\n 'Change Phone Number';\r\n this.tooltip1Content =\r\n contentDict.get(ContentIDConstants.Tooltip1) ?? new PageContent();\r\n }\r\n async requestEmailCode() {\r\n const payload: IRequestEmailCode = {\r\n enrollmentId: this.enrollmentIdValue,\r\n email: this.emailAddress,\r\n };\r\n const response = await this.cas.requestEmailCode(payload);\r\n this.code = response.data;\r\n\r\n this.store.dispatch(\r\n CreateAccountActions.CodeIdentityAction({\r\n code: this.code,\r\n })\r\n );\r\n return true;\r\n }\r\n\r\n async requestMobileCode() {\r\n const payload: IRequestMobileCode = {\r\n mobileNumber: this.phoneNumber,\r\n email: this.emailAddress,\r\n };\r\n const response = await this.cas.requestMobileCode(payload);\r\n this.code = response.data;\r\n\r\n this.store.dispatch(\r\n CreateAccountActions.CodeIdentityAction({\r\n code: this.code,\r\n })\r\n );\r\n return true;\r\n }\r\n\r\n maskEmail(email: string): string {\r\n if (!email) {\r\n return '';\r\n }\r\n const parts = email.split('@');\r\n const username = parts[0];\r\n const maskedUsername = this.maskCharacters(username, 3);\r\n const maskedDomain = '*****.com';\r\n\r\n return `${maskedUsername}@${maskedDomain}`;\r\n }\r\n\r\n private maskCharacters(value: string, preserveCharacters: number): string {\r\n if (value.length <= preserveCharacters) {\r\n return value;\r\n }\r\n\r\n const maskedCharacters = '*'.repeat(value.length - preserveCharacters);\r\n const preservedSubstring = value.substring(0, preserveCharacters);\r\n\r\n return preservedSubstring + maskedCharacters;\r\n }\r\n\r\n maskPhoneNumber(phoneNumber: string): string {\r\n if (!phoneNumber) {\r\n return '';\r\n }\r\n\r\n const digitsOnly = phoneNumber.replace(/\\D/g, ''); // Remove non-digit characters\r\n const lastDigits = digitsOnly.substring(6); // Get the remaining digits\r\n\r\n return `(***)***-${lastDigits}`;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n\r\n
\r\n

{{this.headerText}}

\r\n \r\n
\r\n \r\n
\r\n ' + maskEmail(this.emailAddress)\"\r\n [pageUrl]=\" this.confirmEmailState['pageUrl']\" \r\n [stateId]=\"this.confirmEmailState['id']\"\r\n [clickEvent]=\"this.requestEmailCode.bind(this)\"\r\n [textPropsCssClass]=\"'text-props'\"\r\n >\r\n
\r\n
\r\n ' + maskPhoneNumber(this.phoneNumber)\"\r\n [pageUrl]=\"this.confirmMobileState['pageUrl']\" \r\n [stateId]=\"this.confirmMobileState['id']\"\r\n [clickEvent]=\"this.requestMobileCode.bind(this)\"\r\n [textPropsCssClass]=\"'text-props'\"\r\n >\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
","// RefName: Mobile Identity*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n TextInput1: 2,\r\n TextInput2: 3,\r\n NextButton: 4,\r\n Tooltip1: 5,\r\n};\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n
\r\n

{{this.headerText}}

\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Enter a Mobile Phone Number\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n At least one Phone Number is required\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IPhoneNumbers } from 'src/app/core/interfaces/onboarding/create-account/phone-number.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport * as CreateAccountActions from 'src/app/core/store/onboarding/actions/create-account.actions';\r\nimport { selectPhoneNumbers } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\n@Component({\r\n selector: 'app-mobile-identity',\r\n templateUrl: './mobile-identity.component.html',\r\n styleUrls: ['./mobile-identity.component.scss'],\r\n})\r\nexport class MobileIdentityComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n properties$: Observable;\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n\r\n backText: string;\r\n headerText: string;\r\n input1Text: string;\r\n input2Text: string;\r\n nextText: string;\r\n enrollmentIdValue: string;\r\n @ViewChild(ToolTipComponent) headerTooltipComponent: ToolTipComponent;\r\n tooltipContent: IPageContent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private fb: FormBuilder,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n mobilePhoneNumber: [''],\r\n businessPhoneNumber: [''],\r\n });\r\n\r\n this.properties$ = this.store.select(selectPhoneNumbers);\r\n this.subscriptions.push(\r\n this.properties$.subscribe((props) => this.form.patchValue(props))\r\n );\r\n\r\n this.properties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.properties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateId(params['stateId']);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.form.valueChanges.subscribe(() => {\r\n const firstValue = this.form.get('mobilePhoneNumber')!.value;\r\n const secondValue = this.form.get('businessPhoneNumber')!.value;\r\n\r\n if (!firstValue && !secondValue) {\r\n this.form.setErrors({ atLeastOneRequired: true });\r\n } else {\r\n this.form.setErrors(null);\r\n }\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.headerTooltipComponent,\r\n this.content,\r\n this.container\r\n )\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? 'Back';\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n 'Provide Mobile Identity';\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.TextInput1)?.displayText ??\r\n 'Mobile Phone Number';\r\n this.input2Text =\r\n contentDict.get(ContentIDConstants.TextInput2)?.displayText ??\r\n 'Business Phone Number';\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.NextButton)?.displayText ?? 'Next';\r\n this.tooltipContent =\r\n contentDict.get(ContentIDConstants.Tooltip1) ?? new PageContent();\r\n }\r\n\r\n async submit() {\r\n // To check for mobile identity entered or not\r\n\r\n const firstValue = this.form.get('mobilePhoneNumber')?.value ?? '';\r\n const secondValue = this.form.get('businessPhoneNumber')?.value ?? '';\r\n\r\n if (!firstValue && !secondValue) {\r\n this.form.setErrors({ atLeastOneRequired: true });\r\n } else {\r\n this.form.setErrors(null);\r\n }\r\n\r\n if (this.form.valid) {\r\n const payload: IPhoneNumbers = {\r\n enrollmentId: this.enrollmentIdValue,\r\n mobilePhoneNumber: this.form.get('mobilePhoneNumber')?.value ?? '',\r\n businessPhoneNumber: this.form.get('businessPhoneNumber')?.value ?? '',\r\n };\r\n\r\n this.store.dispatch(\r\n CreateAccountActions.MobileIdentityAction({\r\n mobilePhoneNumber: this.form.get('mobilePhoneNumber')?.value ?? '',\r\n businessPhoneNumber:\r\n this.form.get('businessPhoneNumber')?.value ?? '',\r\n })\r\n );\r\n\r\n const res = await this.cas.submitPhoneNumbers(payload);\r\n if (res.isSuccessful) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \"NowAccount\r\n

{{this.headerText}}

\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Enter your Registered Company Name\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Enter your First Name\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Enter your Last 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 Enter an Email Address\r\n \r\n \r\n Not a Valid Email Format\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Please choose one of the options\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Enter Who Referred You\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Enter How You Heard About Us\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Personal Email'\"\r\n [pageUrl]=\"this.nextState['pageUrl']\"\r\n [stateId]=\"this.nextState['id']\"\r\n [colorCssClass]=\"'orange'\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IIdValuePair } from 'src/app/core/interfaces/common/common/id-value-pair.interface';\r\nimport { IOptions } from 'src/app/core/interfaces/common/common/options.interface';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { IDropdownOption } from 'src/app/core/interfaces/common/ui/dropdown-option.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { LoggerService } from 'src/app/core/services/common/logger.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { ServersideAlertService } from 'src/app/core/services/onboarding/serverside-alert.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport * as UserProfileActions from 'src/app/core/store/nowaccount/actions/user-profile.actions';\r\nimport * as CreateAccountActions from 'src/app/core/store/onboarding/actions/create-account.actions';\r\nimport * as EnrollmentActions from 'src/app/core/store/onboarding/actions/enrollment.actions';\r\nimport { selectTellUsProperties } from 'src/app/core/store/onboarding/reducers+selectors/create-account.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { KendoTextboxComponent } from 'src/app/shared/kendo/text/kendo-textbox/kendo-textbox.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss'],\r\n})\r\nexport class RegisterComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n properties$: Observable;\r\n enrollmentProperties$: Observable;\r\n domainWarningTriggered = false;\r\n domainEmailWarning = false;\r\n nondomainEmailSuffixList = ['gmail', 'yahoo'];\r\n\r\n backState: PageState;\r\n backUrl: string;\r\n nextState: PageState;\r\n nextUrl: string;\r\n\r\n backText: string;\r\n headerText: string;\r\n input1Text: string;\r\n input2Text: string;\r\n input3Text: string;\r\n input4Text: string;\r\n input5Text: string;\r\n input6Text: string;\r\n dropdownHeaderText: string;\r\n nextText: string;\r\n domainWarningText: string;\r\n heardAboutUsData: IOptions[] = [];\r\n\r\n findUs: string[];\r\n defaultOption: IDropdownOption;\r\n referral: string;\r\n other: string;\r\n referralFlag: boolean;\r\n otherFlag: boolean;\r\n selectedOption: IDropdownOption;\r\n options: IDropdownOption[];\r\n heardAboutUsDetailsValue: string;\r\n heardAboutUsDetailsValueFromStore: string;\r\n minWidthValue: string = 'min-width: 50%';\r\n\r\n source: string;\r\n\r\n @ViewChild(ToolTipComponent) tooltipRegisterComponent: ToolTipComponent;\r\n tooltipRegisterContent: IPageContent;\r\n @ViewChild(ToolTipComponent) tooltipEmailComponent: ToolTipComponent;\r\n tooltipEmailContent: IPageContent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n @ViewChild('emailInput') emailInput: KendoTextboxComponent;\r\n aboutUsValue: IIdValuePair;\r\n subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private cs: ContentService,\r\n private cas: CreateAccountService,\r\n private fb: FormBuilder,\r\n private logger: LoggerService,\r\n private ees: EnrollmentExtendedService,\r\n private ssas: ServersideAlertService,\r\n private store: Store,\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.form = this.fb.group({\r\n registeredCompanyName: ['', [Validators.required]],\r\n firstName: ['', [Validators.required]],\r\n lastName: ['', [Validators.required]],\r\n email: ['', [Validators.required, Validators.email]],\r\n howDidYouHearAboutUs: ['', [Validators.required]],\r\n whoReferredYou: ['', []],\r\n describeHowYouHeardAboutUs: ['', []],\r\n });\r\n this.properties$ = this.store.select(selectTellUsProperties);\r\n const sub = this.properties$.subscribe((props) => {\r\n this.form.patchValue(props);\r\n\r\n if (props.heardAboutUsId !== -1) {\r\n this.defaultOption = {\r\n label: props.howDidYouHearAboutUs,\r\n value: props.heardAboutUsId,\r\n action: this.anySelect.bind(this),\r\n };\r\n }\r\n this.heardAboutUsDetailsValueFromStore = props.heardAboutUsDetails;\r\n // for source path check\r\n this.route.queryParams.subscribe((params) => {\r\n this.source = params['source'];\r\n });\r\n });\r\n sub.unsubscribe();\r\n\r\n this.route.data.subscribe(async (data) => {\r\n this.heardAboutUsData = data['options'];\r\n });\r\n this.populateHeardAboutUsOptions();\r\n if (this.defaultOption?.label && this.defaultOption?.value) {\r\n this.selectionChange(this.defaultOption);\r\n }\r\n // adding heard About Us Details Value From Store\r\n if (this.defaultOption?.label.toLowerCase().includes('refer')) {\r\n this.form\r\n .get('whoReferredYou')\r\n ?.setValue(this.heardAboutUsDetailsValueFromStore);\r\n }\r\n if (this.defaultOption?.label.toLowerCase().includes('other')) {\r\n this.form\r\n .get('describeHowYouHeardAboutUs')\r\n ?.setValue(this.heardAboutUsDetailsValueFromStore);\r\n }\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n }),\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.tooltipRegisterComponent,\r\n this.content,\r\n this.container,\r\n ),\r\n );\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.tooltipEmailComponent,\r\n this.content,\r\n this.container,\r\n ),\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n populatePageStates(transitions: ITransition[]): void {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions,\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions,\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? 'Back';\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ??\r\n 'Tell Us About Yourself';\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.TextInput1)?.displayText ??\r\n 'Registered Company Name';\r\n this.input2Text =\r\n contentDict.get(ContentIDConstants.TextInput2)?.displayText ??\r\n 'First Name';\r\n this.input3Text =\r\n contentDict.get(ContentIDConstants.TextInput3)?.displayText ??\r\n 'Last Name';\r\n this.input4Text =\r\n contentDict.get(ContentIDConstants.TextInput4)?.displayText ?? 'Email';\r\n this.input5Text =\r\n contentDict.get(ContentIDConstants.TextInput5)?.displayText ??\r\n 'Who referred you to NowAccount?';\r\n this.input6Text =\r\n contentDict.get(ContentIDConstants.TextInput6)?.displayText ??\r\n 'Describe how you heard about NowAccount';\r\n this.dropdownHeaderText =\r\n contentDict.get(ContentIDConstants.DropdownHeader)?.displayText ??\r\n 'How did you hear about us?';\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.NextButton)?.displayText ?? 'Next';\r\n this.tooltipRegisterContent =\r\n contentDict.get(ContentIDConstants.Tooltip1) ?? new PageContent();\r\n this.tooltipEmailContent =\r\n contentDict.get(ContentIDConstants.Tooltip2) ?? new PageContent();\r\n this.domainWarningText =\r\n contentDict.get(ContentIDConstants.DomainWarning)?.displayText ??\r\n 'It is preferred that a business email domain is used, rather than a personal email (i.e. yahoo, gmail, etc.).';\r\n }\r\n\r\n referralSelect() {\r\n this.referralFlag = true;\r\n this.otherFlag = false;\r\n }\r\n\r\n otherSelect() {\r\n this.referralFlag = false;\r\n this.otherFlag = true;\r\n }\r\n\r\n anySelect() {\r\n this.referralFlag = false;\r\n this.otherFlag = false;\r\n }\r\n\r\n changed(event: any) {\r\n const selectedOption = this.options.find(\r\n (option) => option.value === event.target.value,\r\n );\r\n if (selectedOption === undefined) return;\r\n selectedOption.action();\r\n }\r\n\r\n // async submit(): Promise {\r\n async submit() {\r\n if (this.form.valid) {\r\n if (\r\n this.isDomainEmail(this.form.get('email')?.value) &&\r\n !this.domainWarningTriggered\r\n ) {\r\n this.ssas.reportAlert([this.domainWarningText], 'warn');\r\n this.domainWarningTriggered = true;\r\n this.domainEmailWarning = true;\r\n return false;\r\n }\r\n\r\n const payload: any = {\r\n registerCompanyName:\r\n this.form.get('registeredCompanyName')?.value ?? '',\r\n firstName: this.form.get('firstName')?.value ?? '',\r\n lastName: this.form.get('lastName')?.value ?? '',\r\n email: this.form.get('email')?.value ?? '',\r\n domainEmailWarning: this.domainEmailWarning, // false\r\n howDidYouHearAboutUs:\r\n this.form.get('howDidYouHearAboutUs')?.value?.label ?? '',\r\n howDidYouHearAboutUsId:\r\n this.form.get('howDidYouHearAboutUs')?.value?.value ?? '',\r\n whoReferredYou: this.form.get('whoReferredYou')?.value ?? '',\r\n describeHowYouHeardAboutUs:\r\n this.form.get('describeHowYouHeardAboutUs')?.value ?? '',\r\n source: this.source,\r\n };\r\n const whoReferredYouValue = this.form.get('whoReferredYou')?.value ?? '';\r\n const describeHowYouHeardAboutUsValue =\r\n this.form.get('describeHowYouHeardAboutUs')?.value ?? '';\r\n\r\n if (\r\n this.form\r\n .get('howDidYouHearAboutUs')\r\n ?.value?.label?.toLowerCase()\r\n .includes('refer')\r\n ) {\r\n this.heardAboutUsDetailsValue = whoReferredYouValue;\r\n } else if (\r\n this.form\r\n .get('howDidYouHearAboutUs')\r\n ?.value?.label?.toLowerCase()\r\n .includes('other')\r\n ) {\r\n this.heardAboutUsDetailsValue = describeHowYouHeardAboutUsValue;\r\n } else {\r\n this.heardAboutUsDetailsValue = ''; // or any default value you prefer\r\n }\r\n\r\n this.store.dispatch(\r\n CreateAccountActions.TellUsAboutYourselfAction({\r\n registeredCompanyName:\r\n this.form.get('registeredCompanyName')?.value ?? '',\r\n firstName: this.form.get('firstName')?.value ?? '',\r\n lastName: this.form.get('lastName')?.value ?? '',\r\n email: this.form.get('email')?.value ?? '',\r\n heardAboutUsId:\r\n this.form.get('howDidYouHearAboutUs')?.value?.value ?? '',\r\n howDidYouHearAboutUs:\r\n this.form.get('howDidYouHearAboutUs')?.value.label ?? '',\r\n heardAboutUsDetails: this.heardAboutUsDetailsValue,\r\n }),\r\n );\r\n const res = await this.cas.submitTellUs(payload);\r\n console.log('Tell Us submit response, ', JSON.stringify(res));\r\n\r\n if (res.data.enrollmentId) {\r\n // storing the enrollmentId value in service so that other components can use it\r\n this.store.dispatch(\r\n EnrollmentActions.EnrollmentIdAction({\r\n enrollmentId: res.data.enrollmentId,\r\n }),\r\n );\r\n if (res.data.userProfileId) {\r\n this.store.dispatch(\r\n UserProfileActions.UserProfileIdAction({\r\n userProfileId: res.data.userProfileId,\r\n }),\r\n );\r\n }\r\n const res2 = await this.ees.createEnrollmentExtended();\r\n return res.isSuccessful && res2.isSuccessful;\r\n }\r\n return res.isSuccessful;\r\n }\r\n\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n public selectionChange(value: any): void {\r\n const whoReferredYouControl = this.form.get('whoReferredYou');\r\n const describeHowYouHeardAboutUsControl = this.form.get(\r\n 'describeHowYouHeardAboutUs',\r\n );\r\n this.form.patchValue({\r\n howDidYouHearAboutUs: value,\r\n });\r\n if (value.label.toLowerCase().includes('refer')) {\r\n this.referralSelect();\r\n whoReferredYouControl!.setValidators([Validators.required]);\r\n describeHowYouHeardAboutUsControl!.clearValidators();\r\n } else if (value.label.toLowerCase().includes('other')) {\r\n this.otherSelect();\r\n describeHowYouHeardAboutUsControl!.setValidators([Validators.required]);\r\n whoReferredYouControl!.clearValidators();\r\n } else {\r\n this.anySelect();\r\n whoReferredYouControl!.clearValidators();\r\n describeHowYouHeardAboutUsControl!.clearValidators();\r\n }\r\n whoReferredYouControl!.updateValueAndValidity();\r\n describeHowYouHeardAboutUsControl!.updateValueAndValidity();\r\n }\r\n\r\n async populateHeardAboutUsOptions() {\r\n this.options = this.heardAboutUsData.map((item) => ({\r\n label: item.value,\r\n value: item.id,\r\n action: this.anySelect.bind(this),\r\n }));\r\n }\r\n\r\n isDomainEmail(email: string) {\r\n const len = this.nondomainEmailSuffixList.length;\r\n for (let i = 0; i < len; i++) {\r\n if (email.includes(`@${this.nondomainEmailSuffixList[i]}`)) return true;\r\n }\r\n return false;\r\n }\r\n\r\n async focusEmail() {\r\n this.emailInput.focus();\r\n this.domainWarningTriggered = false;\r\n this.domainEmailWarning = true;\r\n this.ssas.dereport();\r\n }\r\n\r\n handleEmailOutput(outputValue: any) {\r\n if (this.domainWarningTriggered) {\r\n this.focusEmail();\r\n }\r\n }\r\n}\r\n","// RefName: Tell Us About*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n TextInput1: 2,\r\n TextInput2: 3,\r\n TextInput3: 4,\r\n TextInput4: 5,\r\n TextInput5: 6,\r\n TextInput6: 7,\r\n DropdownHeader: 8,\r\n NextButton: 9,\r\n Tooltip1: 10,\r\n Tooltip2: 11,\r\n DomainWarning: 12,\r\n};\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"NowAccount\r\n
\r\n

{{this.headerText}}

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

{{this.subheaderText}}

\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Enter a password\r\n \r\n
\r\n \r\n \r\n Enter a strong password\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n Confirm Password is required\r\n \r\n
\r\n\r\n \r\n Passwords 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
","import {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Store } from '@ngrx/store';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { AbstractOnboardingPageComponent } from 'src/app/core/abstracts/components/onboarding-page.abstract';\r\nimport { EventTypes } from 'src/app/core/enums/event.enum';\r\nimport { IPageContent } from 'src/app/core/interfaces/common/content/page-content.interface';\r\nimport { ISetPassword } from 'src/app/core/interfaces/onboarding/create-account/set-password.interface';\r\nimport { ITransition } from 'src/app/core/interfaces/onboarding/page-state/transition.interface';\r\nimport { PageContent } from 'src/app/core/models/common/page-content.model';\r\nimport { PageState } from 'src/app/core/models/page-state/page-state.model';\r\nimport { ContentService } from 'src/app/core/services/common/content.service';\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { EnrollmentExtendedService } from 'src/app/core/services/onboarding/enrollment-extended.service';\r\nimport { PageStateService } from 'src/app/core/services/onboarding/page-state.service';\r\nimport { IAppState } from 'src/app/core/store/common/interfaces/app-state.interface';\r\nimport { selectEnrollmentId } from 'src/app/core/store/onboarding/reducers+selectors/enrollment.selector';\r\nimport { destructSubscriptionArray } from 'src/app/core/ui-helpers/functions/destruct-subscription-array';\r\nimport { syncComponentHeightResize } from 'src/app/core/ui-helpers/functions/sync-component-height';\r\nimport { ToolTipComponent } from 'src/app/shared/common/tool-tip/tool-tip.component';\r\nimport { StatefulPrimaryButtonComponent } from 'src/app/shared/onboarding/stateful-primary-button/stateful-primary-button.component';\r\nimport { ContentIDConstants } from './ContentIDConstants';\r\n\r\nfunction passwordMatchValidator(formGroup: FormGroup) {\r\n const password = formGroup.get('password');\r\n const confirmPassword = formGroup.get('confirmPassword');\r\n\r\n if (password?.value !== confirmPassword?.value) {\r\n confirmPassword?.setErrors({ passwordMismatch: true });\r\n } else {\r\n confirmPassword?.setErrors(null);\r\n }\r\n}\r\n\r\nfunction passwordStrengthValidator(\r\n control: AbstractControl\r\n): { [key: string]: any } | null {\r\n const password = control.value;\r\n\r\n // Regex to match the password requirements :A password must be at least 9 characters and contain at least one lowercase letter, one uppercase letter, one numeric digit, and one special character.\r\n const passwordRegex =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+=[\\]{};':\"\\\\|,.<>/?]).{9,}$/;\r\n\r\n // Test the password against the regex\r\n const isValid = passwordRegex.test(password);\r\n\r\n // If the password is invalid, return the passwordStrength error\r\n return isValid ? null : { passwordStrength: true };\r\n}\r\n\r\n@Component({\r\n selector: 'app-set-password',\r\n templateUrl: './set-password.component.html',\r\n styleUrls: ['./set-password.component.scss'],\r\n})\r\nexport class SetPasswordComponent\r\n extends AbstractOnboardingPageComponent\r\n implements OnInit, AfterViewInit, OnDestroy\r\n{\r\n form: FormGroup;\r\n properties$: Observable;\r\n\r\n backState: PageState;\r\n nextState: PageState;\r\n\r\n backText: string;\r\n headerText: string;\r\n subheaderText: string;\r\n input1Text: string;\r\n input2Text: string;\r\n nextText: string;\r\n tooltip: IPageContent;\r\n enrollmentIdValue: string;\r\n @ViewChild(ToolTipComponent) passwordTooltipComponent: ToolTipComponent;\r\n @ViewChild('content', { static: true }) content: ElementRef;\r\n @ViewChild('container', { static: true })\r\n container: ElementRef;\r\n subscriptions: Subscription[] = [];\r\n @ViewChild(StatefulPrimaryButtonComponent)\r\n submitButton: StatefulPrimaryButtonComponent;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private ps: PageStateService,\r\n private c: ContentService,\r\n private cas: CreateAccountService,\r\n private fb: FormBuilder,\r\n private ees: EnrollmentExtendedService,\r\n private store: Store\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group(\r\n {\r\n password: ['', [Validators.required, passwordStrengthValidator]],\r\n confirmPassword: ['', Validators.required],\r\n },\r\n { validator: passwordMatchValidator }\r\n );\r\n\r\n this.properties$ = this.store.select(selectEnrollmentId);\r\n this.subscriptions.push(\r\n this.properties$.subscribe((props) => {\r\n this.enrollmentIdValue = props.enrollmentId;\r\n })\r\n );\r\n\r\n this.backState = new PageState();\r\n this.nextState = new PageState();\r\n\r\n this.subscriptions.push(\r\n this.route.data.subscribe(async (data) => {\r\n const { transitions } = data['data'];\r\n const { contentDict } = data['data'];\r\n this.populatePageStates(transitions);\r\n this.populatePageContent(contentDict);\r\n })\r\n );\r\n\r\n this.subscriptions.push(\r\n this.route.queryParams.subscribe((params) => {\r\n this.ees.updateDashboardStateIdWithEnrollmentId(\r\n this.nextState.id,\r\n this.enrollmentIdValue\r\n );\r\n })\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.subscriptions.push(\r\n syncComponentHeightResize(\r\n this.passwordTooltipComponent,\r\n this.content,\r\n this.container\r\n )\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n destructSubscriptionArray(this.subscriptions);\r\n }\r\n\r\n async populatePageStates(transitions: ITransition[]): Promise {\r\n this.backState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.BACK,\r\n transitions\r\n );\r\n this.nextState = this.ps.getPageStateByEventAndTransitions(\r\n EventTypes.NEXT,\r\n transitions\r\n );\r\n }\r\n\r\n populatePageContent(contentDict: Map): void {\r\n this.backText =\r\n contentDict.get(ContentIDConstants.Back)?.displayText ?? 'Back';\r\n this.headerText =\r\n contentDict.get(ContentIDConstants.Header)?.displayText ?? 'Set Password';\r\n this.subheaderText =\r\n contentDict.get(ContentIDConstants.Subheader)?.displayText ?? '';\r\n this.input1Text =\r\n contentDict.get(ContentIDConstants.TextInput1)?.displayText ?? 'Password';\r\n this.input2Text =\r\n contentDict.get(ContentIDConstants.TextInput2)?.displayText ??\r\n 'Set Password';\r\n this.nextText =\r\n contentDict.get(ContentIDConstants.NextButton)?.displayText ?? 'Next';\r\n this.tooltip =\r\n contentDict.get(ContentIDConstants.Tooltip) ?? new PageContent();\r\n }\r\n\r\n async submit() {\r\n if (this.form.valid) {\r\n const payload: ISetPassword = {\r\n enrollmentId: this.enrollmentIdValue,\r\n password: this.form.get('password')?.value ?? '',\r\n confirmPassword: this.form.get('confirmPassword')?.value ?? '',\r\n };\r\n const res = await this.cas.submitSetPassword(payload);\r\n return res.isSuccessful;\r\n }\r\n\r\n this.form.markAllAsTouched();\r\n return false;\r\n }\r\n\r\n onEnter() {\r\n this.submitButton.submit();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { CreateAccountGuard } from 'src/app/core/guards/onboarding/create-account.guard';\r\nimport { HeardAboutUsResolver } from 'src/app/core/resolvers/onboarding/business-profile/heard-about-us.resolver';\r\nimport { PageStateResolver } from 'src/app/core/resolvers/onboarding/navigation/page-state.resolver';\r\nimport { ChangeEmailComponent } from './change-email/change-email.component';\r\nimport { ChangePhoneNumberComponent } from './change-phone-number/change-phone-number.component';\r\nimport { ConfirmEmailComponent } from './confirm-email/confirm-email.component';\r\nimport { ConfirmMobileComponent } from './confirm-mobile/confirm-mobile.component';\r\nimport { IdentityConfirmationComponent } from './identity-confirmation/identity-confirmation.component';\r\nimport { MobileIdentityComponent } from './mobile-identity/mobile-identity.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { SetPasswordComponent } from './set-password/set-password.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'register',\r\n component: RegisterComponent,\r\n resolve: { data: PageStateResolver, options: HeardAboutUsResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'set-password',\r\n component: SetPasswordComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'mobile-identity',\r\n component: MobileIdentityComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'identity-confirmation',\r\n component: IdentityConfirmationComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'confirm-email',\r\n component: ConfirmEmailComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'confirm-mobile',\r\n component: ConfirmMobileComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'change-email',\r\n component: ChangeEmailComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n {\r\n path: 'change-mobile',\r\n component: ChangePhoneNumberComponent,\r\n resolve: { data: PageStateResolver },\r\n canActivate: [CreateAccountGuard],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: [PageStateResolver],\r\n})\r\nexport class CreateAccountRoutingModule {}\r\n","// RefName: Set Password*\r\nexport const ContentIDConstants = {\r\n Back: 0,\r\n Header: 1,\r\n Subheader: 2,\r\n TextInput1: 3,\r\n TextInput2: 4,\r\n NextButton: 5,\r\n Tooltip: 6,\r\n};\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { CreateAccountService } from 'src/app/core/services/onboarding/create-account.service';\r\nimport { KendoModule } from 'src/app/shared/kendo/kendo.module';\r\nimport { OnboardingSharedModule } from 'src/app/shared/onboarding/onboarding-shared.module';\r\nimport { CommonSharedModule } from '../../../shared/common/common-shared.module';\r\nimport { ChangeEmailComponent } from './change-email/change-email.component';\r\nimport { ChangePhoneNumberComponent } from './change-phone-number/change-phone-number.component';\r\nimport { ConfirmEmailComponent } from './confirm-email/confirm-email.component';\r\nimport { ConfirmMobileComponent } from './confirm-mobile/confirm-mobile.component';\r\nimport { CreateAccountRoutingModule } from './create-account-routing.module';\r\nimport { IdentityConfirmationComponent } from './identity-confirmation/identity-confirmation.component';\r\nimport { MobileIdentityComponent } from './mobile-identity/mobile-identity.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { SetPasswordComponent } from './set-password/set-password.component';\r\n\r\nconst components = [\r\n RegisterComponent,\r\n SetPasswordComponent,\r\n MobileIdentityComponent,\r\n IdentityConfirmationComponent,\r\n ChangeEmailComponent,\r\n ChangePhoneNumberComponent,\r\n ConfirmEmailComponent,\r\n ConfirmMobileComponent,\r\n];\r\n\r\nconst modules = [\r\n CommonModule,\r\n CreateAccountRoutingModule,\r\n CommonSharedModule,\r\n KendoModule,\r\n OnboardingSharedModule,\r\n];\r\n\r\nconst providers = [CreateAccountService];\r\n\r\n@NgModule({\r\n declarations: [...components],\r\n imports: [\r\n ...modules,\r\n // StoreModule.forFeature(\r\n // 'createAccountStore',\r\n // ActionReducerMap(createAccountReducer),\r\n // {}\r\n // ),\r\n ],\r\n providers: [...providers],\r\n exports: [...components, ...modules],\r\n})\r\nexport class CreateAccountModule {}\r\n"],"x_google_ignoreList":[]}