{"version":3,"file":"main.js","mappings":"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A,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA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DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AACJA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACIA,IA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/add-event/add-event.component.ts","./src/app/components/add-event/add-event.component.html","./src/app/components/card-error/card-error.component.ts","./src/app/components/card-error/card-error.component.html","./src/app/components/change-of-address-edit-group/change-of-address-edit-group.component.ts","./src/app/components/change-of-address-edit-group/change-of-address-edit-group.component.html","./src/app/components/cms-file-download/cms-file-download.component.ts","./src/app/components/cms-file-download/cms-file-download.component.html","./src/app/components/complete-registration/complete-registration.component.ts","./src/app/components/complete-registration/complete-registration.component.html","./src/app/components/contact-us/contact-us.component.ts","./src/app/components/contact-us/contact-us.component.html","./src/app/components/covered-entity-form/covered-entity-form.component.ts","./src/app/components/covered-entity-form/covered-entity-form.component.html","./src/app/components/customer-exception-edit-group/customer-exception-edit-group.component.ts","./src/app/components/customer-exception-edit-group/customer-exception-edit-group.component.html","./src/app/components/customer-file-details/customer-file-details.component.ts","./src/app/components/customer-file-details/customer-file-details.component.html","./src/app/components/dashboard/dashboard.component.ts","./src/app/components/dashboard/dashboard.component.html","./src/app/components/digicert/digicert.component.ts","./src/app/components/digicert/digicert.component.html","./src/app/components/download-report/download-report.component.ts","./src/app/components/download-report/download-report.component.html","./src/app/components/dynamic-child/dynamic-child.component.ts","./src/app/components/dynamic-child/dynamic-child.component.html","./src/app/components/dynamic-html/dynamic-html.component.ts","./src/app/components/dynamic-html/dynamic-html.component.html","./src/app/components/dynamic-kendo-child/dynamic-kendo-child.component.ts","./src/app/components/dynamic-kendo-child/dynamic-kendo-child.component.html","./src/app/components/dynamic-kendo/dynamic-kendo.component.ts","./src/app/components/dynamic-kendo/dynamic-kendo.component.html","./src/app/components/dynamic/dynamic.component.ts","./src/app/components/dynamic/dynamic.component.html","./src/app/components/faq-tile/faq-tile.component.ts","./src/app/components/faq-tile/faq-tile.component.html","./src/app/components/file-upload-tips/file-upload-tips.component.ts","./src/app/components/file-upload-tips/file-upload-tips.component.html","./src/app/components/finish-setup/finish-setup.component.ts","./src/app/components/finish-setup/finish-setup.component.html","./src/app/components/footer-pages/browser-compatibility/browser-compatibility.component.ts","./src/app/components/footer-pages/browser-compatibility/browser-compatibility.component.html","./src/app/components/footer-pages/end-user-agreement/end-user-agreement.component.ts","./src/app/components/footer-pages/end-user-agreement/end-user-agreement.component.html","./src/app/components/footer-pages/terms-of-use/terms-of-use.component.ts","./src/app/components/footer-pages/terms-of-use/terms-of-use.component.html","./src/app/components/footer-prelogin/footer-prelogin.component.ts","./src/app/components/footer-prelogin/footer-prelogin.component.html","./src/app/components/forgot-password-success/forgot-password-success.component.ts","./src/app/components/forgot-password-success/forgot-password-success.component.html","./src/app/components/forgot-password/forgot-password.component.ts","./src/app/components/forgot-password/forgot-password.component.html","./src/app/components/form-collection/form-collection.component.ts","./src/app/components/form-collection/form-collection.component.html","./src/app/components/get-started/get-started.component.ts","./src/app/components/get-started/get-started.component.html","./src/app/components/header-postlogin/header-postlogin.component.ts","./src/app/components/header-postlogin/header-postlogin.component.html","./src/app/components/header-prelogin/header-prelogin.component.ts","./src/app/components/header-prelogin/header-prelogin.component.html","./src/app/components/image/image.component.ts","./src/app/components/image/image.component.html","./src/app/components/info-box/info-box.component.ts","./src/app/components/info-box/info-box.component.html","./src/app/components/loading-modal/loading-modal.component.ts","./src/app/components/loading-modal/loading-modal.component.html","./src/app/components/loading-spinner/loading-spinner.component.ts","./src/app/components/loading-spinner/loading-spinner.component.html","./src/app/components/maintenance-banner/maintenance-banner.component.ts","./src/app/components/maintenance-banner/maintenance-banner.component.html","./src/app/components/maintenance-wrapper/maintenance-wrapper.component.ts","./src/app/components/maintenance-wrapper/maintenance-wrapper.component.html","./src/app/components/modal-popup/modal-popup.component.ts","./src/app/components/modal-popup/modal-popup.component.html","./src/app/components/optin/optin.component.ts","./src/app/components/optin/optin.component.html","./src/app/components/profile/profile.component.ts","./src/app/components/profile/profile.component.html","./src/app/components/redeem-add-user/redeem-add-user.component.ts","./src/app/components/redeem-add-user/redeem-add-user.component.html","./src/app/components/redeem-add-users/redeem-add-users.component.ts","./src/app/components/redeem-add-users/redeem-add-users.component.html","./src/app/components/redeem-confirmation/redeem-confirmation.component.ts","./src/app/components/redeem-confirmation/redeem-confirmation.component.html","./src/app/components/redeem/redeem.component.ts","./src/app/components/redeem/redeem.component.html","./src/app/components/request-registration-link-success/request-registration-link-success.component.ts","./src/app/components/request-registration-link-success/request-registration-link-success.component.html","./src/app/components/request-registration-link/request-registration-link.component.ts","./src/app/components/request-registration-link/request-registration-link.component.html","./src/app/components/reset-password-success/reset-password-success.component.ts","./src/app/components/reset-password-success/reset-password-success.component.html","./src/app/components/reset-password/reset-password.component.ts","./src/app/components/reset-password/reset-password.component.html","./src/app/components/review-change-of-address-file/review-change-of-address-file.component.ts","./src/app/components/review-change-of-address-file/review-change-of-address-file.component.html","./src/app/components/review-change-of-address-web/review-change-of-address-web.component.ts","./src/app/components/review-change-of-address-web/review-change-of-address-web.component.html","./src/app/components/review-customer-exceptions-file/review-customer-exceptions-file.component.ts","./src/app/components/review-customer-exceptions-file/review-customer-exceptions-file.component.html","./src/app/components/review-customer-exceptions-web/review-customer-exceptions-web.component.ts","./src/app/components/review-customer-exceptions-web/review-customer-exceptions-web.component.html","./src/app/components/review-file-download/review-file-download.component.ts","./src/app/components/review-file-download/review-file-download.component.html","./src/app/components/review-file-tips/review-file-tips.component.ts","./src/app/components/review-file-tips/review-file-tips.component.html","./src/app/components/review-web-table-tips/review-web-table-tips.component.ts","./src/app/components/review-web-table-tips/review-web-table-tips.component.html","./src/app/components/select-event/select-event.component.ts","./src/app/components/select-event/select-event.component.html","./src/app/components/services-offered/services-offered.component.ts","./src/app/components/services-offered/services-offered.component.html","./src/app/components/session-popup/session-popup.component.ts","./src/app/components/session-popup/session-popup.component.html","./src/app/components/setting-up-environment/setting-up-environment.component.ts","./src/app/components/sign-in/sign-in.component.ts","./src/app/components/step-card/step-card.component.ts","./src/app/components/step-card/step-card.component.html","./src/app/components/steps-navigation-buttons/steps-navigation-buttons.component.ts","./src/app/components/steps-navigation-buttons/steps-navigation-buttons.component.html","./src/app/components/switch-to-file-review/switch-to-file-review.component.ts","./src/app/components/switch-to-file-review/switch-to-file-review.component.html","./src/app/components/switch-to-file-upload/switch-to-file-upload.component.ts","./src/app/components/switch-to-file-upload/switch-to-file-upload.component.html","./src/app/components/switch-to-web-review/switch-to-web-review.component.ts","./src/app/components/switch-to-web-review/switch-to-web-review.component.html","./src/app/components/switch-to-web-update/switch-to-web-update.component.ts","./src/app/components/switch-to-web-update/switch-to-web-update.component.html","./src/app/components/tips/tips.component.ts","./src/app/components/tips/tips.component.html","./src/app/components/upload-file/upload-file.component.ts","./src/app/components/upload-file/upload-file.component.html","./src/app/components/web-table-edit-group/web-table-edit-group.component.ts","./src/app/components/web-table-edit-group/web-table-edit-group.component.html","./src/app/components/web-table/web-table.component.ts","./src/app/components/web-table/web-table.component.html","./src/app/components/webtable-or-file-selection/webtable-or-file-selection.component.ts","./src/app/components/webtable-or-file-selection/webtable-or-file-selection.component.html","./src/app/components/welcome-steps/important-information/important-information.component.ts","./src/app/components/welcome-steps/important-information/important-information.component.html","./src/app/components/welcome-steps/legal-disclaimer/legal-disclaimer.component.ts","./src/app/components/welcome-steps/legal-disclaimer/legal-disclaimer.component.html","./src/app/components/welcome-steps/mobile-device-notice/mobile-device-notice.component.ts","./src/app/components/welcome-steps/mobile-device-notice/mobile-device-notice.component.html","./src/app/components/welcome-steps/welcome/welcome.component.ts","./src/app/components/welcome-steps/welcome/welcome.component.html","./src/app/guards/session-guard.ts","./src/app/helpers/auth-cms-file.pipe.ts","./src/app/helpers/date.helper.ts","./src/app/helpers/kendo-grid-helper.ts","./src/app/helpers/upload.interceptor.ts","./src/app/layouts/postlogin/postlogin-routing.module.ts","./src/app/layouts/postlogin/postlogin.component.ts","./src/app/layouts/postlogin/postlogin.component.html","./src/app/layouts/postlogin/postlogin.module.ts","./src/app/layouts/prelogin/prelogin-routing.module.ts","./src/app/layouts/prelogin/prelogin.component.ts","./src/app/layouts/prelogin/prelogin.component.html","./src/app/layouts/prelogin/prelogin.module.ts","./src/app/services/content.service.ts","./src/app/services/digicert.service.ts","./src/app/services/dynamic-component-helper.service.ts","./src/app/services/loading.service.ts","./src/app/services/member.service.ts","./src/app/services/regional-data.service.ts","./src/app/services/steps-helper.service.ts","./src/app/services/storage.service.ts","./src/app/services/translation-resolver.service.ts","./src/app/shared/app-constants.ts","./src/app/shared/region-resource-constants.ts","./src/app/shared/shared-kendo/shared-kendo-routing.module.ts","./src/app/shared/shared-kendo/shared-kendo.component.ts","./src/app/shared/shared-kendo/shared-kendo.module.ts","./src/app/shared/shared.module.ts","./src/app/svg/svg.component.ts","./src/app/svg/svg.component.html","./src/environments/environment.ts","./src/main.ts","/home/vsts/work/1/s/node_modules/moment/locale|sync|/^\\.\\/.*$/"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard } from '@auth0/auth0-angular';\nimport { OutageGuard } from '@cyber/navigator-services';\nimport { SettingUpEnvironmentComponent } from './components/setting-up-environment/setting-up-environment.component';\nimport { SessionGuard } from './guards/session-guard';\nimport { PostloginComponent } from './layouts/postlogin/postlogin.component';\nimport { PreloginComponent } from './layouts/prelogin/prelogin.component';\nimport { TranslationResolverService } from './services/translation-resolver.service';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'home', //AuthGuard will redirect to sign in if not authenticated\n pathMatch: 'full',\n },\n {\n path: '',\n component: PreloginComponent,\n loadChildren: () =>\n import('./layouts/prelogin/prelogin.module').then(\n (m) => m.PreloginModule\n ),\n resolve: { model: TranslationResolverService },\n },\n {\n path: '',\n component: PostloginComponent,\n loadChildren: () =>\n import('./layouts/postlogin/postlogin.module').then(\n (m) => m.PostloginModule\n ),\n resolve: { model: TranslationResolverService },\n canActivate: [OutageGuard],\n canActivateChild: [OutageGuard],\n },\n {\n path: 'settingup',\n component: SettingUpEnvironmentComponent,\n canActivate: [AuthGuard, SessionGuard],\n },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, {\n scrollOffset: [0, 0],\n scrollPositionRestoration: 'top',\n }),\n ],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, ElementRef, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SessionService, OutageService } from '@cyber/navigator-services';\nimport { OutageInformation } from '@cyber/navigator-services/lib/models/outage-information';\nimport { TranslateService } from '@ngx-translate/core';\nimport { switchMap, take } from 'rxjs/operators';\nimport { ContentService } from './services/content.service';\nimport { LoadingService } from './services/loading.service';\nimport { RegionalDataService } from './services/regional-data.service';\nimport { StorageService } from './services/storage.service';\nimport { IRegion } from './shared/region-resource-constants';\nimport { MemberService } from './services/member.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n title = 'NotificationNavigator';\n regionResourceConst: IRegion;\n\n timeOutTimerId: any;\n timedOut = false;\n idleState = 'Not started.';\n public sessionCheckTimerId: any;\n\n showSessionPopup = false;\n translationContentLoaded = false;\n keepAliveTimeoutId: number | undefined;\n outageDetailsTimer: any;\n /**\n *\n */\n constructor(\n public regionalDataService: RegionalDataService,\n public translateService: TranslateService,\n public sessionService: SessionService,\n public storageService: StorageService,\n private el: ElementRef,\n public contentService: ContentService,\n public memberService: MemberService,\n public loadingService: LoadingService,\n private router: Router,\n private outageService: OutageService\n ) {\n this.translationContentLoaded = false;\n let lang = 'en';\n this.loadingService.show();\n\n const queryParamMap = new URLSearchParams(window.location.search);\n const success = queryParamMap.get('success');\n const message = queryParamMap.get('message');\n if (success === 'false' && message) {\n this.router.navigateByUrl(`/error/${message}`);\n }\n\n this.contentService.loadCmsContent();\n this.regionResourceConst = this.regionalDataService.regionConst;\n this.translateService.addLangs(this.regionalDataService.LanguageCodes);\n this.translateService.setDefaultLang(lang);\n\n this.memberService.errorInForm.subscribe((data) => {\n if (data) {\n this.scrollToFirstInvalidControl();\n this.memberService.errorInForm.next(false);\n }\n });\n\n this.sessionService.initializeIdleTimeoutWarning();\n\n this.outageService.outageObservable$.subscribe(async (outageInfo) => {\n if (outageInfo?.display_maintenance_page) {\n const isAuthenticated = await this.sessionService.isAuthenticated$\n .pipe(take(1))\n .toPromise();\n if (isAuthenticated) {\n this.sessionService.logout(); //will automatically be redirected to maintenance after log out\n } else {\n await this.router.navigateByUrl('/maintenance');\n }\n } else {\n if (this.router.url === '/maintenance') {\n this.sessionService.loginWithRedirect('/'); //Navigate back to dashboard / login\n }\n }\n });\n\n this.contentService.getContentState().subscribe((data: any) => {\n if (data) {\n this.translationContentLoaded = true;\n this.loadingService.hide();\n }\n });\n }\n\n ngOnInit(): void {}\n\n private scrollToFirstInvalidControl() {\n const firstInvalidControl: HTMLElement =\n this.el.nativeElement.querySelector('form .ng-invalid');\n\n window.scroll({\n top: this.getTopOffset(firstInvalidControl),\n left: 0,\n behavior: 'smooth',\n });\n }\n\n private getTopOffset(controlEl: HTMLElement): number {\n const labelOffset = 50;\n return controlEl.getBoundingClientRect().top + window.scrollY - labelOffset;\n }\n}\n","
\n \n
\n\n\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { PreloginModule } from './layouts/prelogin/prelogin.module';\nimport { PostloginModule } from './layouts/postlogin/postlogin.module';\nimport {\n HttpClient,\n HttpClientModule,\n HTTP_INTERCEPTORS,\n} from '@angular/common/http';\nimport { TranslationResolverService } from './services/translation-resolver.service';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { SharedModule } from './shared/shared.module';\nimport { SessionPopupComponent } from './components/session-popup/session-popup.component';\nimport { LoadingModalComponent } from './components/loading-modal/loading-modal.component';\nimport {\n CmsContentService,\n NavigatorServicesModule,\n} from '@cyber/navigator-services';\nimport { NavigatorConfig } from './navigator-config';\nimport { from, Observable } from 'rxjs';\nimport { StorageService } from './services/storage.service';\nimport { ToastrModule } from 'ngx-toastr';\nimport { AuthHttpInterceptor } from '@auth0/auth0-angular';\nimport { MaintenanceWrapperComponent } from './components/maintenance-wrapper/maintenance-wrapper.component';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\nexport class CustomLoader implements TranslateLoader {\n constructor(\n public cmsContentService: CmsContentService,\n public storageService: StorageService\n ) {}\n getTranslation(lang: string): Observable {\n return from(\n Promise.resolve(this.storageService.getLocalStorage(`language-${lang}`))\n );\n }\n}\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(value: any) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n SessionPopupComponent,\n LoadingModalComponent,\n MaintenanceWrapperComponent,\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useClass: CustomLoader,\n //useFactory: HttpLoaderFactory,\n deps: [HttpClient, StorageService, CmsContentService],\n },\n }),\n AppRoutingModule,\n PreloginModule,\n PostloginModule,\n SharedModule,\n NavigatorServicesModule.forRoot(),\n ToastrModule.forRoot(),\n HttpClientModule,\n ],\n exports: [],\n providers: [\n TranslationResolverService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHttpInterceptor,\n multi: true,\n },\n ],\n\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'app-add-event',\n templateUrl: './add-event.component.html',\n styleUrls: ['./add-event.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class AddEventComponent implements OnInit {\n @Input()\n engagementName!: string;\n @Output()\n finishSetup = new EventEmitter();\n\n termsConfirmed = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
\n \n
\n

{{ \"globaltext.AddEventHeading\" | translate }}

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n \n {{\n \"globaltext.ConfirmAddEventToMyAccountButton\" | translate\n }}\n \n
\n \n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-card-error',\n templateUrl: './card-error.component.html',\n styleUrls: ['./card-error.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class CardErrorComponent implements OnInit {\n errorType!: ErrorTypes;\n errorHeadingType = '';\n errorHeading = '';\n errorMessage = '';\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService\n ) {}\n\n ngOnInit(): void {\n let param = this.route.snapshot.params['error'];\n this.errorType = this.getErrorType(param);\n this.errorMessage = this.translate.instant(\n 'globalrichtext.Error' + this.errorType + 'Content'\n );\n this.errorHeading = this.translate.instant(\n 'globaltext.Error' + this.errorHeadingType + 'Heading'\n );\n\n if (this.errorType == ErrorTypes.AlreadyComplete)\n this.router.navigateByUrl('/sign-in');\n }\n\n private getErrorType(errorMessage: string) {\n switch (errorMessage) {\n case 'Invalid registration for logged in user.':\n case 'No DataOwnerUser found':\n case 'No DataOwner found':\n case 'No Engagement found':\n case 'Invalid code':\n this.errorHeadingType = 'Registration';\n return ErrorTypes.InvalidCode;\n case 'Registration code has already been completed.':\n this.errorHeadingType = 'Registration';\n return ErrorTypes.AlreadyComplete;\n case 'Registration code has expired.':\n this.errorHeadingType = 'Registration';\n return ErrorTypes.Expired;\n case 'deactivated multiple':\n this.errorHeadingType = 'UnauthorizedAccess';\n return ErrorTypes.DeactivatedMultiple;\n case 'deactivated':\n case 'User Deactivated':\n case 'Cannot complete a registration for a deactivated user.':\n this.errorHeadingType = 'UnauthorizedAccess';\n return ErrorTypes.Deactivated;\n case 'event access ended':\n this.errorHeadingType = 'UnauthorizedAccess';\n return ErrorTypes.AccessToEventEnded;\n case 'event access ended multiple':\n this.errorHeadingType = 'UnauthorizedAccess';\n return ErrorTypes.AccessToEventEndedMultiple;\n case 'Access expired.':\n this.errorHeadingType = 'InvalidLink';\n return ErrorTypes.LinkExpired;\n case 'This URL can be used only once':\n this.errorHeadingType = 'InvalidLink';\n return ErrorTypes.LinkAlreadyUsed;\n case 'Forbidden':\n this.errorHeadingType = 'ForbiddenAccess';\n return ErrorTypes.ForbiddenAccess;\n default:\n this.errorHeadingType = 'Unknown';\n return ErrorTypes.Unknown;\n }\n }\n}\n\nexport enum ErrorTypes {\n Unknown = 'Unknown',\n InvalidCode = 'InvalidCode',\n AlreadyComplete = 'AlreadyComplete',\n Expired = 'Expired',\n Deactivated = 'Deactivated',\n DeactivatedMultiple = 'DeactivatedMultiple',\n AccessToEventEnded = 'AccessToEventEnded',\n AccessToEventEndedMultiple = 'AccessToEventEndedMultiple',\n LinkExpired = 'LinkExpired',\n LinkAlreadyUsed = 'LinkAlreadyUsed',\n ForbiddenAccess = 'ForbiddenAccess',\n}\n","
\n
\n
\n
\n \n
\n

{{errorHeading}}

\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-change-of-address-edit-group',\n templateUrl: './change-of-address-edit-group.component.html',\n styleUrls: ['./change-of-address-edit-group.component.scss'],\n})\nexport class ChangeOfAddressEditGroupComponent implements OnInit {\n loadedTip = '';\n showNoChangesPopup = false;\n showConfirmChangesPopup = false;\n modifiedData = false;\n state = 'pending';\n SubmittedDate = new Date();\n\n loadButtonText = '';\n currentDataOwner: any;\n currentStepDetails: any;\n stateColor = '';\n subheadingUpdated: any;\n showSectionsBasedOnChangeOfAddressEndDateReached = '0';\n hideResumeButton = false;\n\n constructor(\n public translate: TranslateService,\n public memberService: MemberService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService\n ) {}\n\n ngOnInit(): void {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.currentStepDetails = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n this.mapToStates(this.currentStepDetails?.step_status_id);\n this.updateButtonState();\n this.showSectionsBasedOnChangeOfAddressEndDateReached =\n this._storageService.getLocalStorage(\n appConstants.ChangeOfAddressEndDateReached\n );\n if (this.showSectionsBasedOnChangeOfAddressEndDateReached == '1')\n this.hideResumeButton = true;\n if (\n (this.state == 'noChanges' || this.state == 'submittedChanges') &&\n this.showSectionsBasedOnChangeOfAddressEndDateReached == '1'\n ) {\n this.showSectionsBasedOnChangeOfAddressEndDateReached = '0';\n }\n this.saveMyPreferrence();\n }\n\n async saveMyPreferrence() {\n let updateNeeded = false;\n let data = {\n display_selection: 'web',\n };\n let changeOfAddressStep =\n await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (changeOfAddressStep.data != null) {\n data = JSON.parse(changeOfAddressStep.data);\n if (data.display_selection != 'web') updateNeeded = true;\n data.display_selection = 'web';\n } else {\n updateNeeded = true;\n }\n if (updateNeeded) {\n let updateEdit = await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n null,\n data\n );\n }\n }\n\n mapToStates(stepStatusId: number) {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n switch (stepStatusId) {\n case STEP_STATUS.PENDING:\n this.state = 'pending';\n // this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Pending')\n );\n break;\n case STEP_STATUS.NO_UPDATES_REQUIRED:\n this.state = 'noChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.NoUpdatesRequired')\n );\n break;\n case STEP_STATUS.IN_PROGRESS:\n this.state = 'confirmChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.InProgress')\n );\n break;\n case STEP_STATUS.UPDATED:\n this.state = 'submittedChanges';\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Updated')\n );\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n async updateStepStatusToInProgress() {\n let currentStepStatus = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.IN_PROGRESS\n );\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n }\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n }\n\n async emitOnDataChanged(emitstate: boolean) {\n if (emitstate) {\n this.state = 'confirmChanges';\n this.updateButtonState();\n await this.updateStepStatusToInProgress();\n }\n }\n\n updateButtonState() {\n if (this.state === 'pending') {\n this.loadButtonText = this.translate.instant(\n 'globaltext.NoChangesButton'\n );\n } else if (this.state === 'confirmChanges') {\n this.loadButtonText = this.translate.instant(\n 'globaltext.ConfirmChangesButton'\n );\n } else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.loadButtonText = this.translate.instant('globaltext.ResumeButton');\n }\n }\n\n mainButtonClick() {\n if (this.state === 'pending') {\n this.showNoChangesPopup = true;\n } else if (this.state === 'confirmChanges') {\n this.showConfirmChangesPopup = true;\n } else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.state = 'confirmChanges';\n this.updateStepStatusToInProgress();\n }\n this.updateButtonState();\n }\n\n async emittedNoChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.NO_UPDATES_REQUIRED\n );\n this.mapToStates(STEP_STATUS.NO_UPDATES_REQUIRED);\n }\n this.showNoChangesPopup = false;\n }\n\n async emittedConfirmChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.UPDATED\n );\n this.mapToStates(STEP_STATUS.UPDATED);\n }\n this.showConfirmChangesPopup = false;\n }\n}\n","\n
\n
\n \n \n {{ loadButtonText }}\n \n \n

\n \n \n info \n \n \n \n \n\n
\n \n
\n \n {{ \"globaltext.StepCompleteLabel\" | translate\n }}\n {{ \"globaltext.WebTableSubmittedSuccessfully\" | translate }}\n {{ SubmittedDate }}\n \n\n\n\n\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n AppConfigService,\n BaseAppConfig,\n CmsContentService,\n} from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-cms-file-download',\n templateUrl: './cms-file-download.component.html',\n styleUrls: ['./cms-file-download.component.scss'],\n})\nexport class CmsFileDownloadComponent implements OnInit {\n constructor(\n public activatedRoute: ActivatedRoute,\n public cmsContentService: CmsContentService,\n public appConfigService: AppConfigService,\n public http: HttpClient,\n public loading: LoadingService\n ) {\n this.activatedRoute.params.subscribe(async (data: any) => {\n if (data['id']) {\n this.loading.show();\n await this.downloadFile(data['id'], data['filename']);\n }\n });\n }\n async downloadFile(assetId: any, fileName: string) {\n var arrayBuffer: any = await this.cmsContentService.getAssetById(assetId);\n var link = document.createElement('a');\n var file = new Blob([arrayBuffer]);\n let downloadLink = document.createElement('a');\n downloadLink.setAttribute('download', fileName);\n downloadLink.href = window.URL.createObjectURL(file);\n downloadLink.click();\n this.loading.hide();\n window.close();\n }\n\n ngOnInit(): void {}\n}\n","
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RegistrationService, SessionService } from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-complete-registration',\n templateUrl: './complete-registration.component.html',\n styleUrls: ['./complete-registration.component.scss'],\n})\nexport class CompleteRegistrationComponent implements OnInit {\n public loading = false;\n registrationCode: any;\n public engagementName!: string;\n public invalid = false;\n public email!: string;\n public isAdditionalEvent!: boolean;\n private isAlreadySignedUp!: boolean;\n errorText!: string;\n supportEmail!: string;\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private registrationService: RegistrationService,\n private sessionService: SessionService,\n private loadingService: LoadingService,\n private storageService: StorageService\n ) {}\n\n async ngOnInit(): Promise {\n try {\n this.loading = true;\n this.registrationCode = this.route.snapshot.params[\n 'registrationCode'\n ] as string;\n this.loadingService.show();\n const registration = await this.registrationService.fetch(\n this.registrationCode\n );\n this.engagementName = registration.engagement_name;\n this.email = registration.email;\n this.isAdditionalEvent = registration.is_additional_event;\n this.isAlreadySignedUp = registration.is_already_signed_up;\n } catch (err: any) {\n this.loadingService.hide();\n this.invalid = true;\n if (typeof err.error === 'string') this.errorText = err.error;\n this.router.navigateByUrl(`/error/${err.error}`);\n } finally {\n if (\n this.storageService.localStorageTranslationExists(\n appConstants.LanguageEn\n )\n )\n this.loadingService.hide();\n this.loading = false;\n }\n }\n\n async finishSetup() {\n const state = {\n code: this.registrationCode,\n is_additional: this.isAdditionalEvent,\n };\n if (this.isAdditionalEvent) {\n this.sessionService.loginWithRedirect('/select-event', state, this.email);\n } else if (this.isAlreadySignedUp) {\n this.sessionService.loginWithRedirect('/finish-setup', state, this.email);\n } else {\n this.sessionService.register('/finish-setup', state, this.email);\n }\n }\n}\n\nexport class RegistrationState {\n code!: string;\n is_additional!: boolean;\n}\n","
\n
\n \n
\n
\n\n \n \n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { RegistrationService, SessionService } from '@cyber/navigator-services';\nimport { ContactUs } from '@cyber/navigator-services/lib/models/contact-us';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.scss'],\n})\nexport class ContactUsComponent implements OnInit {\n formGroup: FormGroup;\n errorMessage = '';\n status = 'loaded';\n showThankYou = false;\n isUserLoggedIn = false;\n thankYouContent: string = \"\";\n\n constructor(\n public regionalDataService: RegionalDataService,\n private _loadingService: LoadingService,\n private _registrationService: RegistrationService,\n private _storageService: StorageService,\n private translate: TranslateService\n ) {\n this.formGroup = new FormGroup({\n firstName: new FormControl(null, appConstants.FirstNameRegex),\n lastName: new FormControl(null, appConstants.LastNameRegex),\n email: new FormControl(null, appConstants.EmailRegex),\n message: new FormControl(null, [Validators.required]),\n });\n\n this._loadingService.show();\n this.updateUserDetails();\n this.formatThankYouMessage();\n this._loadingService.hide();\n }\n\n updateUserDetails(){\n let userDetailsString = this._storageService.getLocalStorage(appConstants.User);\n let userDetails = JSON.parse(userDetailsString);\n this.formGroup.get('firstName')?.setValue(userDetails?.first_name);\n this.formGroup.get('lastName')?.setValue(userDetails?.last_name);\n this.formGroup.get('email')?.setValue(userDetails?.email);\n }\n\n formatThankYouMessage() {\n let dataOwnerString = this._storageService.getLocalStorage(appConstants.DataOwner);\n let dataOwnerDetails = JSON.parse(dataOwnerString);\n this.thankYouContent = this.translate.instant('globalrichtext.ContactUsThankYou');\n if (dataOwnerDetails != null && dataOwnerDetails?.engagement_entity != \"\" && dataOwnerDetails?.engagement_entity != null && dataOwnerDetails?.engagement_entity != undefined) {\n let jsonString = this.translate.instant('globalrichtext.ContactUsThankYouWithSupportHours');\n jsonString = jsonString.replace(\n /{{EngagementSupportPhone}}/g,\n dataOwnerDetails?.engagement_entity?.support_phone\n );\n jsonString = jsonString.replace(\n /{{EngagementSupportHours}}/g,\n dataOwnerDetails?.engagement_entity?.support_hours\n );\n this.thankYouContent = jsonString;\n }\n }\n\n ngOnInit(): void { }\n\n async onSubmit() {\n if (this.status === 'loading') return;\n this.formGroup.markAllAsTouched();\n if (this.formGroup.valid) {\n this.status = 'loading';\n this._loadingService.show();\n let contatctUsData: ContactUs ={\n first_name : this.firstName?.value,\n last_name : this.lastName?.value,\n email : this.email?.value,\n message : this.message?.value,\n }\n await this._registrationService.sendContactUsEmail(contatctUsData);\n this.formGroup.reset();\n this.updateUserDetails();\n this._loadingService.hide();\n this.showThankYou = true;\n }\n this.status = 'loaded';\n }\n\n //Controls\n get firstName() {\n return this.formGroup.get('firstName');\n }\n get lastName() {\n return this.formGroup.get('lastName');\n }\n get email() {\n return this.formGroup.get('email');\n }\n get message() {\n return this.formGroup.get('message');\n }\n get supportEmail() {\n return this.formGroup.get('supportEmail');\n }\n\n closeTip(event: any) {\n if (event) this.showThankYou = false;\n }\n}\n","
\n
\n
\n
\n

\n
\n
\n

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

\n \n {{'globaltext.FirstNameRequiredMsg' | translate}}\n \n {{'globaltext.FirstNameInvalidMsg' | translate}}\n

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

\n \n {{'globaltext.LastNameRequiredMsg' | translate}}\n \n {{'globaltext.LastNameInvalidMsg'| translate}}\n

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

\n \n {{'globaltext.EmailRequiredMsg' | translate}}\n {{'globaltext.EmailPatternMsg'\n | translate}}\n {{'globaltext.EmailMaxLengthMsg'\n |\n translate}}\n

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

\n \n {{'globaltext.YourMessageRequiredMsg' | translate}}\n

\n
\n
\n {{errorMessage}}\n
\n \n\n
\n\n
\n\n
\n
\n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { Region, RegionService, STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-covered-entity-form',\n templateUrl: './covered-entity-form.component.html',\n styleUrls: ['./covered-entity-form.component.scss']\n})\nexport class CoveredEntityFormComponent implements OnInit {\n currentStep: any;\n fg!: FormGroup;\n optedValue: number = 0;\n editable = false;\n states!: Region[];\n typeOfCoveredEntityList: any[] = [];\n phoneTypes!: any[];\n showMakeSelectionPopupValue = false;\n showOptoutConfirmationPopupValue = false;\n subheadingUpdated = \"\";\n stateColor = \"\";\n public loadedTip = \"\";\n formData: any;\n showSectionsBasedOnOptInEndDateReached = '0';\n constructor(public translate: TranslateService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService,\n private memberService: MemberService,\n private _regionService: RegionService,\n private _loadingService: LoadingService) {\n this._loadingService.show();\n this._regionService.fetchRegionForCountryId(appConstants.countryId).then((data: any) => {\n this.states = data;\n this._loadingService.hide();\n });\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n }\n\n ngOnInit(): void {\n this.optedValue = this.currentStep.step_status_id;\n this.showSectionsBasedOnOptInEndDateReached = this._storageService.getLocalStorage(appConstants.OptInEndDateReached);\n this.getFormDropDownValues();\n this.getStateColor();\n if (this.optedValue === STEP_STATUS.OPTED_IN_PENDING_SUBMISSION)\n this.editable = true;\n this.fg = new FormGroup({\n nameOfCoveredEntity: new FormControl('', appConstants.CoveredEntityNameRegex),\n typeOfCoveredEntity: new FormControl('-1', [Validators.required]),\n streetAddress1: new FormControl('', appConstants.AddressRegex),\n streetAddress2: new FormControl('', appConstants.Address2Regex),\n city: new FormControl('', appConstants.CityRegex),\n state: new FormControl('-1', [Validators.required]),\n zipCode: new FormControl('', appConstants.ZipCodeRegex),\n firstName: new FormControl('', appConstants.FirstNameRegex),\n lastName: new FormControl('', appConstants.LastNameRegex),\n email: new FormControl('', appConstants.EmailRegex),\n primaryPhone: new FormControl('', appConstants.PhoneNumberRegex),\n primaryPhoneType: new FormControl('-1', [Validators.required]),\n secondaryPhone: new FormControl('', appConstants.SecondaryPhoneNumberRegex),\n secondaryPhoneType: new FormControl('-1'),\n\n });\n this.setFormData();\n }\n\n setFormData() {\n if (this.currentStep?.data == null || this.currentStep?.data == '' || this.currentStep?.data == undefined || this.currentStep?.data == 'undefined')\n return;\n this.formData = JSON.parse(this.currentStep?.data);\n this.fg.patchValue({\n nameOfCoveredEntity: this.formData.nameOfCoveredEntity,\n typeOfCoveredEntity: this.formData.typeOfCoveredEntity == null || this.formData.typeOfCoveredEntity == undefined ? '-1' : this.formData.typeOfCoveredEntity,\n streetAddress1: this.formData.streetAddress1,\n streetAddress2: this.formData.streetAddress2,\n city: this.formData.city,\n state: this.formData.state,\n zipCode: this.formData.zipCode,\n firstName: this.formData.firstName,\n lastName: this.formData.lastName,\n email: this.formData.email,\n primaryPhone: this.formData.primaryPhone,\n primaryPhoneType: this.formData.primaryPhoneType == null || this.formData.primaryPhoneType == undefined ? '-1' : this.formData.primaryPhoneType,\n secondaryPhone: this.formData.secondaryPhone,\n secondaryPhoneType: this.formData.secondaryPhoneType == null || this.formData.secondaryPhoneType == undefined ? '-1' : this.formData.secondaryPhoneType,\n });\n\n }\n showMakeSelectionPopup() {\n this.showMakeSelectionPopupValue = true;\n }\n\n async emittedPendingOption(selected: any) {\n this.showMakeSelectionPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN_PENDING_SUBMISSION;\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.OCR_OptIn, this.optedValue);\n this.editable = true;\n }\n else {\n this.showOptoutConfirmationPopupValue = true;\n this.editable = false;\n }\n this.getStateColor();\n }\n\n async emittedOptoutConfirmationPopup(selected: any) {\n this.showOptoutConfirmationPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN_PENDING_SUBMISSION;\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.OCR_OptIn, this.optedValue);\n this.editable = true;\n }\n else {\n this.optedValue = STEP_STATUS.OPTED_OUT;\n this.formData = '';\n this.fg.reset();\n\n this.fg.patchValue({\n state: -1,\n typeOfCoveredEntity: -1,\n primaryPhoneType: -1,\n secondaryPhoneType: -1\n });\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.OCR_OptIn, this.optedValue, '{}');\n this.editable = false;\n }\n this.getStateColor();\n }\n\n getFormDropDownValues() {\n this.translate.stream(['globaltext.PhoneTypes', 'globaltext.CoveredEntityTypes']).subscribe((res: any) => {\n this.typeOfCoveredEntityList = this.getTypes(res['globaltext.CoveredEntityTypes']);\n this.phoneTypes = this.getTypes(res['globaltext.PhoneTypes']);\n });\n }\n\n private getTypes(typesString: any) {\n let typesList: any[] = [];\n let types = typesString?.split(\"|\");\n if (types != null) {\n types.forEach((item: string) => {\n let type = item?.split(\"=\");\n if (type.length == 2)\n typesList.push({ id: type[0], name: type[1] });\n });\n }\n return typesList;\n }\n\n getStateColor() {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n\n switch (this.optedValue) {\n case STEP_STATUS.OPTED_OUT: {\n this.stateColor = 'b-red';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedOut'));\n }\n break;\n case STEP_STATUS.OPTED_IN_PENDING_SUBMISSION: {\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInPendingForm'));\n }\n break;\n case STEP_STATUS.OPTED_IN: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedIn'));\n }\n break;\n case STEP_STATUS.OPTED_IN_SUBMITTED: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInSubmitted'));\n }\n break;\n default: {\n this.stateColor = 'b-gray';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.PendingSelection'));\n }\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n async onSubmit() {\n this.fg.markAllAsTouched();\n this.checkSelectedValue(this.typeOfCoveredEntity);\n this.checkSelectedValue(this.primaryPhoneType);\n this.checkSelectedValue(this.state);\n if (!this.fg.valid)\n {\n this.memberService.errorInForm.next(true);\n return;\n }\n this.formData = this.fg.value;\n this.typeOfCoveredEntityList.filter((x: any) => {\n if (x.id == this.typeOfCoveredEntity?.value)\n this.formData.typeOfCoveredEntityName = x.name\n });\n this.states.filter((x: any) => {\n if (x.id == this.state?.value)\n this.formData.stateName = x.name\n });\n this.phoneTypes.filter((x: any) => {\n if (x.id == this.primaryPhoneType?.value)\n this.formData.primaryPhoneTypeName = x.name\n });\n this.phoneTypes.filter((x: any) => {\n if (x.id == this.secondaryPhoneType?.value)\n this.formData.secondaryPhoneTypeName = x.name\n });\n if (this.formData.secondaryPhoneType?.value == -1) {\n this.formData.secondaryPhoneType?.setValue(\"\");\n }\n this.optedValue = STEP_STATUS.OPTED_IN_SUBMITTED;\n this.editable = false;\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.OCR_OptIn, this.optedValue, this.formData);\n this.getStateColor();\n }\n\n\n onEdit() {\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n this.setFormData();\n this.editable = true;\n }\n\n checkSelectedValue(formControl: any) {\n var control = formControl;\n if (formControl?.value == \"-1\") {\n formControl?.setErrors({ required: true });\n }\n }\n\n formatAsPhone(formControl: any, keyCode: any) {\n var control = formControl;\n var value = formControl?.value;\n // //Checking keyCode to make sure that the backspace or delete key weren’t pressed.\n if (keyCode.keyCode !== 8 && keyCode.keyCode !== 46) {\n const input = value.replace(/\\D/g, '').substring(0, 10); // First ten digits of input only\n let newVal = '';\n const zip = input.substring(0, 3);\n const middle = input.substring(3, 6);\n const last = input.substring(6, 10);\n\n if (input.length > 6) {\n newVal = `(${zip}) ${middle}-${last}`;\n } else if (input.length > 3) {\n newVal = `(${zip}) ${middle}`;\n } else if (input.length > 0) {\n newVal = `(${zip}`;\n }\n\n control?.setValue(newVal);\n }\n }\n\n get nameOfCoveredEntity() {\n return this.fg.get(\"nameOfCoveredEntity\");\n }\n get typeOfCoveredEntity() {\n return this.fg.get(\"typeOfCoveredEntity\");\n }\n get streetAddress1() {\n return this.fg.get(\"streetAddress1\");\n }\n get streetAddress2() {\n return this.fg.get(\"streetAddress2\");\n }\n get city() {\n return this.fg.get(\"city\");\n }\n get state() {\n return this.fg.get(\"state\");\n }\n get zipCode() {\n return this.fg.get(\"zipCode\");\n }\n get firstName() {\n return this.fg.get(\"firstName\");\n }\n get lastName() {\n return this.fg.get(\"lastName\");\n }\n get email() {\n return this.fg.get(\"email\");\n }\n get primaryPhone() {\n return this.fg.get(\"primaryPhone\");\n }\n get primaryPhoneType() {\n return this.fg.get(\"primaryPhoneType\");\n }\n get secondaryPhone() {\n return this.fg.get(\"secondaryPhone\");\n }\n get secondaryPhoneType() {\n return this.fg.get(\"secondaryPhoneType\");\n }\n}\n","
\n

\n
\n
\n
\n
\n\n \n
\n
\n
\n {{'text.CoveredEntityFormTitle' | translate}}\n
\n
\n {{'text.CoveredEntityFormDescription' | translate}}\n
\n
\n \n \n {{'globaltext.NameOfCoveredEntityHelpText' | translate}}\n \n

\n {{'globaltext.NameOfCoveredEntityRequiredMsg'\n | translate}}\n {{'globaltext.NameOfCoveredEntityInvalidMsg'\n | translate}}\n

\n
\n
\n \n \n

\n {{'globaltext.TypeOfCoveredEntityRequiredMsg'\n |\n translate}}\n

\n
\n
\n \n \n

\n {{'globaltext.StreeAddress1RequiredMsg' |\n translate}}\n {{'globaltext.AddressInvalidMsg'\n |\n translate}}\n

\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n

\n {{'globaltext.StreeAddress2RequiredMsg' |\n translate}}\n {{'globaltext.AddressInvalidMsg'\n |\n translate}}\n

\n
\n
\n \n \n

\n {{'globaltext.CityRequiredMsg' |\n translate}}\n {{'globaltext.CityInvalidMsg' |\n translate}}\n\n

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

\n {{'globaltext.StateRequiredMsg'\n |\n translate}}\n

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

\n {{'globaltext.ZipCodeRequiredMsg'\n | translate}}\n {{'globaltext.ZipCodeInvalidMsg'\n | translate}}\n\n

\n
\n
\n
\n
\n
\n
\n {{'text.CoveredEntityFormTitle2' | translate}}\n
\n
\n
\n
\n
\n
\n \n \n

\n {{'globaltext.FirstNameRequiredMsg' |\n translate}}\n {{'globaltext.FirstNameInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.LastNameRequiredMsg' |\n translate}}\n {{'globaltext.LastNameInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.EmailRequiredMsg' |\n translate}}\n {{'globaltext.EmailPatternMsg' |\n translate}}\n

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

\n {{'globaltext.PrimaryPhoneRequiredMsg' |\n translate}}\n {{'globaltext.PrimaryPhoneInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.PrimaryPhoneTypeRequiredMsg' |\n translate}}\n

\n
\n
\n
\n
\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n

\n {{'globaltext.SecondaryPhoneRequiredMsg' |\n translate}}\n {{'globaltext.SecondaryPhoneInvalidMsg'\n |\n translate}}\n

\n
\n
\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n {{'text.CoveredEntityFormTitle' | translate}}:\n
\n
\n
\n
\n {{'globaltext.NameOfCoveredEntityLabel' | translate}}:\n
\n
\n {{nameOfCoveredEntity?.value}}\n
\n
\n
\n
\n {{'globaltext.TypeOfCoveredEntityLabel' | translate}}:\n
\n
\n {{formData?.typeOfCoveredEntityName}}\n
\n
\n
\n
\n {{'globaltext.StreeAddress1Label' | translate}}:\n
\n
\n {{streetAddress1?.value}}\n
\n
\n
\n
\n {{'globaltext.StreeAddress2Label' | translate}}:\n
\n
\n {{streetAddress2?.value}}\n
\n
\n
\n
\n {{'globaltext.CityLabel' | translate}}:\n
\n
\n {{city?.value}}\n
\n
\n
\n
\n {{'globaltext.StateLabel' | translate}}:\n
\n
\n {{formData?.stateName}}\n
\n
\n
\n
\n {{'globaltext.ZipCodeLabel' | translate}}:\n
\n
\n {{zipCode?.value}}\n
\n
\n
\n
\n {{'text.CoveredEntityFormTitle2' | translate}}:\n
\n
\n
\n
\n {{'globaltext.FirstNameLabel' | translate}}:\n
\n
\n {{firstName?.value}}\n
\n
\n
\n
\n {{'globaltext.LastNameLabel' | translate}}:\n
\n
\n {{lastName?.value}}\n
\n
\n
\n
\n {{'globaltext.EmailLabel' | translate}}:\n
\n
\n {{email?.value}}\n
\n
\n
\n
\n {{'globaltext.PrimaryPhoneLabel' | translate}}:\n
\n
\n {{primaryPhone?.value}}\n
\n
\n
\n
\n {{'globaltext.PrimaryPhoneTypeLabel' | translate}}:\n
\n
\n {{formData?.primaryPhoneTypeName}}\n
\n
\n
\n
\n {{'globaltext.SecondaryPhoneLabel' | translate}}:\n
\n
\n {{secondaryPhone?.value}}\n
\n
\n
\n
\n {{'globaltext.SecondaryPhoneTypeLabel' | translate}}:\n
\n
\n {{formData?.secondaryPhoneTypeName}}\n
\n
\n
\n
\n \n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-customer-exception-edit-group',\n templateUrl: './customer-exception-edit-group.component.html',\n styleUrls: ['./customer-exception-edit-group.component.scss'],\n})\nexport class CustomerExceptionEditGroupComponent implements OnInit {\n loadedTip = '';\n showNoChangesPopup = false;\n showConfirmChangesPopup = false;\n modifiedData = false;\n state = 'pending';\n SubmittedDate = new Date();\n loadButtonText = '';\n currentDataOwner: any;\n currentStepDetails: any;\n stateColor = '';\n subheadingUpdated: any;\n showSectionsBasedOnExceptionReviewEndDateReached = '0';\n hideResumeButton = false;\n\n constructor(\n public translate: TranslateService,\n public memberService: MemberService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService\n ) {}\n\n ngOnInit(): void {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.currentStepDetails = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n this.mapToStates(this.currentStepDetails?.step_status_id);\n this.updateButtonState();\n this.showSectionsBasedOnExceptionReviewEndDateReached =\n this._storageService.getLocalStorage(\n appConstants.ExceptionReviewEndDateReached\n );\n if (this.showSectionsBasedOnExceptionReviewEndDateReached == '1')\n this.hideResumeButton = true;\n if (\n (this.state == 'noChanges' || this.state == 'submittedChanges') &&\n this.showSectionsBasedOnExceptionReviewEndDateReached == '1'\n ) {\n this.showSectionsBasedOnExceptionReviewEndDateReached = '0';\n }\n this.saveMyPreferrence();\n }\n\n async saveMyPreferrence() {\n let updateNeeded = false;\n let data = {\n display_selection: 'web',\n };\n let changeOfAddressStep =\n await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n if (changeOfAddressStep.data != null) {\n data = JSON.parse(changeOfAddressStep.data);\n if (data.display_selection != 'web') updateNeeded = true;\n data.display_selection = 'web';\n } else {\n updateNeeded = true;\n }\n if (updateNeeded) {\n let updateEdit = await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n null,\n data\n );\n }\n }\n\n mapToStates(stepStatusId: number) {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n switch (stepStatusId) {\n case STEP_STATUS.PENDING:\n this.state = 'pending';\n // this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Pending')\n );\n break;\n case STEP_STATUS.NO_UPDATES_REQUIRED:\n this.state = 'noChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.NoUpdatesRequired')\n );\n break;\n case STEP_STATUS.IN_PROGRESS:\n this.state = 'confirmChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.InProgress')\n );\n break;\n case STEP_STATUS.UPDATED:\n this.state = 'submittedChanges';\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Updated')\n );\n break;\n case STEP_STATUS.COMPLETED:\n this.state = 'complete';\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Complete')\n );\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n async updateStepStatus(stepStatusId: number) {\n let currentStepStatus = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n if (currentStepStatus.step_status_id != stepStatusId) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n stepStatusId\n );\n }\n this.mapToStates(stepStatusId);\n }\n\n async emitOnDataChanged(emitstate: boolean) {\n if (emitstate) {\n this.state = 'confirmChanges';\n this.updateButtonState();\n await this.updateStepStatus(STEP_STATUS.IN_PROGRESS);\n }\n }\n\n async emitOnNoExceptions(emitstate: boolean) {\n if (emitstate) {\n this.state = 'complete';\n await this.updateStepStatus(STEP_STATUS.COMPLETED);\n }\n }\n updateButtonState() {\n if (this.state === 'confirmChanges') {\n this.loadButtonText = this.translate.instant(\n 'globaltext.ConfirmChangesButton'\n );\n } else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.loadButtonText = this.translate.instant('globaltext.ResumeButton');\n }\n }\n\n async mainButtonClick() {\n if (this.state === 'pending') {\n this.showNoChangesPopup = true;\n } else if (this.state === 'confirmChanges') {\n this.showConfirmChangesPopup = true;\n } else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.state = 'confirmChanges';\n await this.updateStepStatus(STEP_STATUS.IN_PROGRESS);\n }\n this.updateButtonState();\n }\n\n async emittedNoChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n STEP_STATUS.NO_UPDATES_REQUIRED\n );\n this.mapToStates(STEP_STATUS.NO_UPDATES_REQUIRED);\n }\n this.showNoChangesPopup = false;\n }\n\n async emittedConfirmChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n STEP_STATUS.UPDATED\n );\n this.mapToStates(STEP_STATUS.UPDATED);\n }\n this.showConfirmChangesPopup = false;\n }\n}\n","\n
\n
\n \n \n {{ loadButtonText }}\n \n \n

\n \n \n info \n \n \n \n \n \n \n \n\n \n {{ \"globaltext.StepCompleteLabel\" | translate\n }}\n {{ \"globaltext.WebTableSubmittedSuccessfully\" | translate }}\n {{ SubmittedDate }}\n \n\n\n\n\n\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ChangeOfAddressService,\n CustomerExceptionService,\n CustomerFileError,\n CustomerFileStatus,\n CustomerService,\n PageResponse,\n} from '@cyber/navigator-services';\nimport { GridDataResult } from '@progress/kendo-angular-grid';\nimport { State } from '@progress/kendo-data-query';\nimport { KendoGridHelper } from 'src/app/helpers/kendo-grid-helper';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-customer-file-details',\n templateUrl: './customer-file-details.component.html',\n styleUrls: ['./customer-file-details.component.scss'],\n})\nexport class CustomerFileDetailsComponent implements OnInit {\n public gridData!: GridDataResult;\n public gridState: any = {\n sort: [\n {\n field: 'id',\n dir: 'asc',\n },\n ],\n skip: 0,\n take: 15,\n };\n\n fileStatus = 'Pending';\n fileId: any;\n fileName: any;\n lastFileErrors: CustomerFileError[] = [];\n\n fileDetails!: any;\n loadingError!: boolean;\n showErrorGrid = true;\n currentStepDetails: any;\n\n constructor(\n private _customerService: CustomerService,\n private _customerExceptionService: CustomerExceptionService,\n private _changeOfAddressService: ChangeOfAddressService,\n private _stepsHelperService: StepsHelperService,\n private kendoHelper: KendoGridHelper,\n private _loadingService: LoadingService,\n private _memberService: MemberService,\n private _router: Router\n ) {\n this._memberService.getFileUploaded().subscribe(async (data: boolean) => {\n if (data) {\n this.getFileDetailsFromLocalStorage();\n await this.getFileStatus();\n } else {\n this.showErrorGrid = false;\n }\n });\n }\n\n ngOnInit(): void {\n this.getFileDetailsFromLocalStorage();\n this.getFileStatus();\n }\n\n getFileDetailsFromLocalStorage() {\n this.currentStepDetails = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n if (\n this.currentStepDetails.data != null &&\n this.currentStepDetails.data != '' &&\n this.currentStepDetails.data != undefined\n ) {\n let currentStepData = this.currentStepDetails.data;\n currentStepData = JSON.parse(currentStepData);\n this.fileDetails = currentStepData.fileDetails;\n }\n }\n\n async getFileStatus() {\n this._loadingService.show();\n this.fileStatus = 'Pending';\n let data = {};\n switch (this.currentStepDetails.step.cms_binding) {\n case appConstants.WorkflowStep.CustomerUpdate:\n data = await this._customerService.getFileStatus();\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n data = await this._changeOfAddressService.getFileStatus();\n break;\n case appConstants.WorkflowStep.Exceptions_Review:\n data = await this._customerExceptionService.getFileStatus();\n break;\n }\n\n this.fileId = data?.file_id;\n if (data.processed) {\n this.getFileErrors();\n }\n this._loadingService.hide();\n }\n\n async getFileErrors() {\n this.loadingError = true;\n const sort = this.kendoHelper.getSortString(this.gridState?.sort);\n try {\n let response = >{};\n switch (this.currentStepDetails.step.cms_binding) {\n case appConstants.WorkflowStep.CustomerUpdate:\n response = await this._customerService.pageErrorsForCustomerFile(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n `(CustomerFileId.Equals(${this.fileId}))`\n );\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n response = await this._changeOfAddressService.pageErrorsForFileUpload(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n `(CustomerFileId.Equals(${this.fileId}))`\n );\n break;\n case appConstants.WorkflowStep.Exceptions_Review:\n response =\n await this._customerExceptionService.pageErrorsForFileUpload(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n `(CustomerFileId.Equals(${this.fileId}))`\n );\n break;\n }\n\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n this.showErrorGrid = response.total_count > 0;\n this.fileStatus = this.showErrorGrid ? 'Failed' : 'Processed';\n } catch (err) {\n } finally {\n this.loadingError = false;\n }\n }\n\n public async onStateChange(state: State) {\n this.gridState = state;\n await this.getFileErrors();\n }\n}\n","
\n
\n
\n
\n {{ \"globaltext.LastUploadedFileDetailsLabel\" | translate }}\n
\n
\n
\n
\n
\n
\n
FILE NAME
\n
FILE STATUS
\n
UPLOADED DATE
\n
FILE SIZE
\n
\n
\n
\n {{ fileDetails?.Name }}\n
\n
\n {{ fileStatus }}\n
\n
\n {{ fileDetails?.UploadedDate }}\n
\n
\n {{ fileDetails?.Size }}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
{{ dataItem.error_message }}
\n
\n \n \n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport {\n DataOwnerEntity,\n DataOwnerWorkflowStepEntity,\n Milestones,\n SessionService,\n STEP_STATUS,\n UserEntity,\n} from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport { DateHelper } from 'src/app/helpers/date.helper';\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n})\nexport class DashboardComponent implements OnInit {\n userDetails!: UserEntity;\n //status = 'loaded';\n userVisitStatus = 'UserFinalReportGenerated';\n dataOwnerDetails!: DataOwnerEntity;\n dataOwnerWorkflowSteps!: DataOwnerWorkflowStepEntity[];\n userloaded: boolean = false;\n constructor(\n public memberService: MemberService,\n private _storageService: StorageService,\n private _loadingService: LoadingService,\n private _dateHelper: DateHelper,\n private _translateService: TranslateService\n ) {\n this._loadingService.show();\n\n this.userDetails = JSON.parse(\n this._storageService.getLocalStorage(appConstants.User)\n );\n\n this.userloaded = true;\n\n this.dataOwnerDetails = JSON.parse(\n this._storageService.getLocalStorage(appConstants.DataOwner)\n );\n\n let dataOwnerSteps = this._storageService.getLocalStorage(\n appConstants.DataOwnerSteps\n );\n let finalReportStatus!: DataOwnerWorkflowStepEntity | undefined;\n\n if (dataOwnerSteps != 'undefined') {\n this.dataOwnerWorkflowSteps = JSON.parse(dataOwnerSteps);\n\n finalReportStatus = this.dataOwnerWorkflowSteps?.find(\n (x: { step: { cms_binding: string } }) =>\n x.step.cms_binding == 'Notification_Report'\n );\n }\n\n if (finalReportStatus?.step_status_id != STEP_STATUS.NOT_YET_AVAILABLE) {\n this.userVisitStatus = 'UserFinalReportGenerated';\n } else if (\n this._storageService.getCookie(appConstants.FirstTimeUser) == '1'\n ) {\n this.userVisitStatus = 'FirstTime';\n } else {\n this.userVisitStatus = 'ReturningUser';\n }\n\n let optInEndDateMileStone = this.dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) => x.milestone_id == Milestones.OptInEnd\n );\n if (optInEndDateMileStone != null) {\n let formattedDate = this._dateHelper.formatToLocalMonthDate(optInEndDateMileStone.effective_date);\n this._storageService.setCookie('OptInEndDate', formattedDate);\n } else {\n this._storageService.setCookie(\n 'OptInEndDate',\n 'OptIn-End Date Not Provided'\n );\n }\n this._loadingService.hide();\n }\n\n public get dashboardAlertMessage() {\n const key = 'richtext.DashboardAlertMessage';\n const value = this._translateService.instant(key);\n return value === key ? null : value;\n }\n\n ngOnInit(): void {}\n}\n","
\n
\n \n
\n\n
\n
\n
\n
\n\n
\n

\n {{\n \"globaltext.DashboardFirstTimeUserHeading\"\n | translate : { first_name: userDetails.first_name }\n }}\n

\n

\n {{\n \"globaltext.DashboardUserNotOptedInHeading\"\n | translate : { first_name: userDetails.first_name }\n }}\n

\n

\n {{\n \"globaltext.DashboardUsedOptedInHeading\"\n | translate : { first_name: userDetails.first_name }\n }}\n

\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { DigicertService } from 'src/app/services/digicert.service';\n\n@Component({\n selector: 'app-digicert',\n templateUrl: './digicert.component.html',\n styleUrls: ['./digicert.component.scss'],\n})\nexport class DigicertComponent implements OnInit, AfterViewInit {\n elementIdStatic = 'DigiCertClickID_';\n\n public sealCode!: string;\n elementIdDynamic!: string;\n testSealClass = '';\n\n constructor(private digiService: DigicertService) {}\n\n ngOnInit() {\n this.getSealCodeByUrl();\n this.digiService.digiCertHeadScripts(this.sealCode);\n }\n\n ngAfterViewInit() {}\n\n getSealCodeByUrl() {\n const url = window.location.host.toLowerCase();\n this.testSealClass = '';\n if (url.endsWith('krollnotification.com')) {\n this.sealCode = 'I6ImwkPn';\n } else {\n this.testSealClass = 'allow-test-seal';\n this.sealCode = 'I6ImwkPn';\n }\n this.elementIdDynamic = this.elementIdStatic + this.sealCode;\n }\n}\n","
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n CustomerDownloadProcessingStatus,\n CustomerService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-download-report',\n templateUrl: './download-report.component.html',\n styleUrls: ['./download-report.component.scss'],\n})\nexport class DownloadReportComponent implements OnInit {\n currentDataOwner: any;\n currentStep!: any;\n availableToDownload = false;\n public loadedTip = '';\n error = '';\n finalReportStatus: any;\n errorMessage = '';\n fileType: string = 'xlsx';\n interval: any;\n fileGenerationStatus!: CustomerDownloadProcessingStatus;\n\n constructor(\n private _stepsHelperService: StepsHelperService,\n private _router: Router,\n private _customerService: CustomerService,\n private _loadingService: LoadingService,\n private _translationService: TranslateService\n ) {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n if (\n this.currentStep.step_status_id != STEP_STATUS.NOT_YET_AVAILABLE &&\n this.currentStep.step_status_id != STEP_STATUS.NA_OPTED_OUT\n ) {\n this.availableToDownload = true;\n } else {\n if (this.currentStep.step_status_id == STEP_STATUS.NOT_YET_AVAILABLE)\n this.errorMessage = this._translationService.instant(\n 'globalrichtext.FinalReportNotYetAvailable'\n );\n\n if (this.currentStep.step_status_id == STEP_STATUS.NA_OPTED_OUT)\n this.errorMessage = this._translationService.instant(\n 'globalrichtext.StepNotAvailable'\n );\n }\n }\n\n async ngOnInit(): Promise {\n this._loadingService.show();\n try {\n this.fileGenerationStatus =\n await this._customerService.getFinalReportGenerationStatus();\n } catch (err: any) {\n console.error(err);\n } finally {\n this._loadingService.hide();\n }\n\n this.pollForStatusUntilComplete();\n }\n\n async downloadFile() {\n this.error = '';\n this._loadingService.show();\n try {\n this.fileType = (\n await this._customerService.getDownloadType()\n ).toLowerCase();\n if (this.fileType === 'xlsx') {\n let response = await this._customerService.downloadFinalReport();\n this.processFileDownload(response);\n } else if (this.fileType === 'zip') {\n if (!this.fileGenerationStatus) {\n await this._customerService.startFinalReportGeneration();\n this.fileGenerationStatus =\n await this._customerService.getFinalReportGenerationStatus();\n this.pollForStatusUntilComplete();\n } else if (this.fileGenerationStatus?.percentage_complete > 100) {\n let response = await this._customerService.downloadZip(\n this.fileGenerationStatus.download_id\n );\n this.processFileDownload(response);\n }\n }\n } catch {\n this.error = 'Error while downloading file. Please contact support';\n }\n this._loadingService.hide();\n }\n\n async processFileDownload(response: any) {\n let downloadLink = document.createElement('a');\n downloadLink.setAttribute('download', 'DataFile.' + this.fileType);\n downloadLink.href = window.URL.createObjectURL(response.body);\n downloadLink.click();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Notification_Report,\n STEP_STATUS.DOWNLOADED\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n pollForStatusUntilComplete() {\n this.interval = setInterval(async () => {\n try {\n this.fileGenerationStatus =\n await this._customerService.getFinalReportGenerationStatus();\n if (\n !this.fileGenerationStatus || //No status was returned -- no files actively being processed\n this.fileGenerationStatus.percentage_complete > 100 //File is complete, no need to keep polling\n ) {\n clearInterval(this.interval);\n }\n } catch (err: any) {\n console.error(err);\n }\n }, 15 * 1000);\n }\n}\n","
\n
\n {{\n \"globaltext.FileGenerationInProgress\" | translate\n }}\n 100\">{{\n \"globaltext.FileGenerationComplete\" | translate\n }}\n
\n
\n \n
\n
\n\n
\n \n {{ \"globaltext.DownloadReportButton\" | translate }}\n \n
\n\n
\n

\n
\n\n
\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-dynamic-child',\n templateUrl: './dynamic-child.component.html',\n styleUrls: ['./dynamic-child.component.scss']\n})\nexport class DynamicChildComponent implements OnInit {\n\n\n @Input() component!: any;\n @Input() currentStep!: any;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n@Component({\n selector: 'app-dynamic-html',\n templateUrl: './dynamic-html.component.html',\n styleUrls: ['./dynamic-html.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicHtmlComponent implements OnInit {\n constructor(public activatedRoute: ActivatedRoute) { }\n @Input() type: string = '';\n ngOnInit(): void {\n var params = this.activatedRoute.snapshot.params;\n if (params && params[\"type\"]) {\n this.type = params[\"type\"];\n }\n }\n}","
\n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-dynamic-kendo-child',\n templateUrl: './dynamic-kendo-child.component.html',\n styleUrls: ['./dynamic-kendo-child.component.scss']\n})\nexport class DynamicKendoChildComponent implements OnInit {\n\n\n @Input() component!: any;\n @Input() currentStep!: any;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DataOwnerEntity } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DynamicComponentHelperService } from 'src/app/services/dynamic-component-helper.service';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-dynamic-kendo',\n templateUrl: './dynamic-kendo.component.html',\n styleUrls: ['./dynamic-kendo.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicKendoComponent implements OnInit {\n current_page = '';\n current_page_content: any = {};\n loaded = false;\n currentStepNo = 0;\n totalSteps = 0;\n prevUrl = '';\n nextUrl = '';\n enableNextButton = false;\n dataOwnerWorkflowSteps: any;\n dataOwnerDetails!: DataOwnerEntity;\n dataOwnerId = 0;\n currentStep: any;\n showStepStatusOnly = false;\n currentStatusContent = '';\n showStepNotAvailable = false;\n pageContent = '';\n showInformationBox = false;\n totalCustomerRecordsCount = 0;\n faqs!: any[];\n cms_page_data: any;\n constructor(\n public translate: TranslateService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n public loadingService: LoadingService,\n public dynamicComponentHelper: DynamicComponentHelperService\n ) {\n this.updateEmittedData();\n if (!this.router.url.startsWith('/d/')) {\n this.dynamicComponentHelper.getCurrentPageFromUrl(this.router.url);\n } else {\n this.activatedRoute.params.subscribe((params) => {\n this.dynamicComponentHelper.getCurrentPageFromUrl('/' + params['page']);\n });\n }\n }\n\n ngOnInit(): void {}\n\n updateEmittedData() {\n this.dynamicComponentHelper.entireDataBS.subscribe((data: any) => {\n this.current_page = data.current_page;\n this.current_page_content = data.current_page_content;\n this.loaded = data.loaded;\n this.currentStepNo = data.currentStepNo;\n this.totalSteps = data.totalSteps;\n this.prevUrl = data.prevUrl;\n this.nextUrl = data.nextUrl;\n this.enableNextButton = data.enableNextButton;\n this.dataOwnerWorkflowSteps = data.dataOwnerWorkflowSteps;\n this.dataOwnerDetails = data.dataOwnerDetails;\n this.dataOwnerId = data.dataOwnerId;\n this.currentStep = data.currentStep;\n this.showStepStatusOnly = data.showStepStatusOnly;\n this.currentStatusContent = data.currentStatusContent;\n this.showStepNotAvailable = data.showStepNotAvailable;\n this.pageContent = data.pageContent;\n this.showInformationBox = data.showInformationBox;\n this.totalCustomerRecordsCount = data.totalCustomerRecordsCount;\n this.faqs = data.faqs;\n this.cms_page_data = data.cms_page_data;\n });\n }\n\n public getPageComponentsByPosition(position: string): any[] {\n let components: any[] = [];\n this.current_page_content.pagecomponents.forEach((page: any) => {\n if (page.position === position) {\n components.push(page);\n }\n });\n return components;\n }\n}\n","
\n
\n
\n
\n

\n {{\n \"globaltext.step\"\n | translate\n : {\n current_step_no: currentStepNo + 1,\n total_steps: totalSteps\n }\n }}\n

\n
\n
\n

\n
\n\n \n \n \n
\n\n
\n
\n
\n
\n\n \n \n \n\n \n \n \n \n \n \n \n \n \n\n
\n 0\"\n >\n {{ \"globaltext.FrequentlyAskedQuestions\" | translate }}\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n
\n
\n
\n
\n

\n {{\n \"globaltext.step\"\n | translate\n : {\n current_step_no: currentStepNo + 1,\n total_steps: totalSteps\n }\n }}\n

\n
\n
\n

\n
\n
\n

\n
\n
\n
\n
\n
\n \n \n
\n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { DataOwnerEntity } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DynamicComponentHelperService } from 'src/app/services/dynamic-component-helper.service';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-dynamic',\n templateUrl: './dynamic.component.html',\n styleUrls: ['./dynamic.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicComponent implements OnInit {\n\n current_page = \"\";\n current_page_content: any = {};\n loaded = false;\n currentStepNo = 0;\n totalSteps = 0;\n prevUrl = \"\";\n nextUrl = \"\";\n enableNextButton = false;\n dataOwnerWorkflowSteps: any;\n dataOwnerDetails!: DataOwnerEntity;\n dataOwnerId = 0;\n currentStep: any;\n showStepStatusOnly = false;\n showStepNotAvailable = false;\n currentStatusContent = \"\";\n pageContent = \"\";\n showInformationBox = false;\n totalCustomerRecordsCount = 0;\n faqs!: any[]\n cms_page_data: any;\n constructor(\n public translate: TranslateService,\n private router: Router,\n private activatedRoute: ActivatedRoute,\n public loadingService: LoadingService,\n public dynamicComponentHelper: DynamicComponentHelperService) {\n this.updateEmittedData();\n if (!this.router.url.startsWith(\"/d/\")) {\n this.dynamicComponentHelper.getCurrentPageFromUrl(this.router.url);\n }\n else {\n this.activatedRoute.params.subscribe(params => {\n this.dynamicComponentHelper.getCurrentPageFromUrl(\"/\" + params['page']);\n });\n }\n }\n\n ngOnInit(): void {\n }\n\n updateEmittedData() {\n this.dynamicComponentHelper.entireDataBS.subscribe((data: any) => {\n this.current_page = data.current_page;\n this.current_page_content = data.current_page_content;\n this.loaded = data.loaded;\n this.currentStepNo = data.currentStepNo;\n this.totalSteps = data.totalSteps;\n this.prevUrl = data.prevUrl;\n this.nextUrl = data.nextUrl;\n this.enableNextButton = data.enableNextButton;\n this.dataOwnerWorkflowSteps = data.dataOwnerWorkflowSteps;\n this.dataOwnerDetails = data.dataOwnerDetails;\n this.dataOwnerId = data.dataOwnerId;\n this.currentStep = data.currentStep;\n this.showStepStatusOnly = data.showStepStatusOnly;\n this.currentStatusContent = data.currentStatusContent;\n this.showStepNotAvailable = data.showStepNotAvailable;\n this.pageContent = data.pageContent;\n this.showInformationBox = data.showInformationBox;\n this.totalCustomerRecordsCount = data.totalCustomerRecordsCount;\n this.faqs = data.faqs;\n this.cms_page_data = data.cms_page_data;\n });\n }\n\n public getPageComponentsByPosition(position: string): any[] {\n let components: any[] = [];\n this.current_page_content.pagecomponents.forEach((page: any) => {\n if (page.position === position) {\n components.push(page);\n }\n });\n return components;\n }\n}\n","
\n
\n
\n
\n

{{'globaltext.step' | translate:\n {current_step_no: currentStepNo +1, total_steps: totalSteps} }}

\n
\n
\n

\n
\n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n
\n
\n
0\">\n {{'globaltext.FrequentlyAskedQuestions' | translate}}\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n
\n
\n
\n

{{'globaltext.step' | translate:\n {current_step_no: currentStepNo +1, total_steps: totalSteps} }}

\n
\n
\n

\n
\n
\n

\n
\n
\n
\n
\n \n \n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Faq } from 'src/app/models/faq';\n\n@Component({\n selector: 'app-faq-tile',\n templateUrl: './faq-tile.component.html',\n styleUrls: ['./faq-tile.component.scss']\n})\nexport class FaqTileComponent implements OnInit {\n\n hidden=true;\n\n @Input() Title!: any;\n @Input() Description!: any;\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n

{{Title}}

\n

\n

\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-file-upload-tips',\n templateUrl: './file-upload-tips.component.html',\n styleUrls: ['./file-upload-tips.component.scss'],\n})\nexport class FileUploadTipsComponent implements OnInit {\n @Input() pageType = '';\n public loadedTip = '';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n \n info \n \n \n
\n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { AppState } from '@auth0/auth0-angular';\nimport { RegistrationService, SessionService } from '@cyber/navigator-services';\nimport { combineLatest } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-finish-setup',\n templateUrl: './finish-setup.component.html',\n styleUrls: ['./finish-setup.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FinishSetupComponent implements OnInit {\n registrationCode: any;\n formGroup!: FormGroup;\n\n constructor(\n private router: Router,\n private registrationService: RegistrationService,\n private sessionService: SessionService,\n private loadingService: LoadingService\n ) {\n this.formGroup = new FormGroup({\n firstName: new FormControl(null, appConstants.FirstNameRegex),\n lastName: new FormControl(null, appConstants.LastNameRegex),\n });\n }\n\n ngOnInit(): void {\n this.sessionService.appState$.pipe(take(1)).subscribe(async (appState) => {\n try {\n this.loadingService.show();\n if (appState?.state?.code) {\n await this.registrationService.complete(appState?.state?.code);\n await this.sessionService.getAccessTokenSilently(); //Completing registration may involve adding roles, get new token so that user groups are updated\n }\n } catch (err: any) {\n this.router.navigateByUrl(`/error/${err.error}`);\n } finally {\n this.loadingService.hide();\n }\n });\n }\n\n get firstName() {\n return this.formGroup?.get('firstName');\n }\n get lastName() {\n return this.formGroup?.get('lastName');\n }\n\n async onSubmit() {\n this.formGroup.markAllAsTouched();\n if (!this.formGroup.valid) {\n return;\n }\n this.loadingService.show();\n\n await this.registrationService.updateUserName(\n this.firstName?.value,\n this.lastName?.value\n );\n\n this.router.navigateByUrl('/welcome');\n\n this.loadingService.hide();\n }\n}\n","
\n
\n
\n
\n \n
\n

{{ \"globaltext.FinishSetupHeading\" | translate }}

\n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{ \"globaltext.FirstNameRequiredMsg\" | translate }}\n \n {{ \"globaltext.FirstNamePatternMsg\" | translate }}\n \n

\n
\n
\n
\n
\n
\n
\n \n \n \n \n {{ \"globaltext.LastNameRequiredMsg\" | translate }}\n \n {{ \"globaltext.LastNamePatternMsg\" | translate }}\n

\n
\n
\n
\n
\n \n
\n
\n \n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-browser-compatibility',\n templateUrl: './browser-compatibility.component.html',\n styleUrls: ['./browser-compatibility.component.scss']\n})\nexport class BrowserCompatibilityComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-end-user-agreement',\n templateUrl: './end-user-agreement.component.html',\n styleUrls: ['./end-user-agreement.component.scss']\n})\nexport class EndUserAgreementComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terms-of-use',\n templateUrl: './terms-of-use.component.html',\n styleUrls: ['./terms-of-use.component.scss']\n})\nexport class TermsOfUseComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-footer-prelogin',\n templateUrl: './footer-prelogin.component.html',\n styleUrls: ['./footer-prelogin.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FooterPreloginComponent implements OnInit {\n copyrightYear = 0;\n constructor() { }\n\n ngOnInit(): void {\n this.copyrightYear = new Date().getFullYear();\n }\n\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-forgot-password-success',\n templateUrl: './forgot-password-success.component.html',\n styleUrls: ['./forgot-password-success.component.scss']\n})\nexport class ForgotPasswordSuccessComponent implements OnInit {\n\n constructor(public regionalDataService: RegionalDataService) {\n\n }\n\n ngOnInit(): void {\n }\n \n\n}\n","
\n
\n
\n
\n

{{ 'ForgotPasswordSuccess.Heading' | translate}}

\n {{ 'ForgotPasswordSuccess.Subheading' | translate}}\n
\n
\n

{{ 'ForgotPasswordSuccess.Description1' | translate}}

\n

{{ 'ForgotPasswordSuccess.Description2' | translate}}

\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n formGroup: FormGroup;\n errorMessage = '';\n status = 'loaded';\n constructor(\n public regionalDataService: RegionalDataService,\n public router: Router) {\n\n this.formGroup = new FormGroup({\n emails: new FormGroup(\n {\n email: new FormControl(null, appConstants.EmailRegex),\n confirmEmail: new FormControl(null, appConstants.EmailRegex)\n },\n this.emailMatcher\n )\n });\n }\n\n\n emailMatcher(c: AbstractControl): any {\n if (!c.get(\"confirmEmail\")?.hasError(\"required\") && !c.get(\"confirmEmail\")?.hasError(\"pattern\")) {\n if (c.get(\"email\")?.value && c.get(\"confirmEmail\")?.value && c.get(\"email\")?.value.toLowerCase() !== c.get(\"confirmEmail\")?.value.toLowerCase()) {\n c.get('confirmEmail')?.setErrors({invalid: true});\n return { nomatch: true };\n }\n }\n }\n\n fieldsMatch(fieldName: string) {\n return (\n this?.formGroup?.get(fieldName)?.hasError(\"nomatch\") &&\n this?.formGroup?.get(fieldName)?.touched\n );\n }\n\n ngOnInit(): void {\n }\n\n redirectToEnroll(){\n }\n\n onSubmit(): void {\n //if (this.status === \"loading\") return;\n if (this.status === \"loading\") this.router.navigate(['forgot-password-success']);\n // TODO: Send form values to API for login call\n this.formGroup.markAllAsTouched();\n this.status = \"loading\";\n this.errorMessage = \"\";\n //const getFormVal = (name: string) => this.formGroup.get(name).value;\n\n // this._authService.login({\n // userName: getFormVal(\"username\"),\n // password: getFormVal(\"password\"),\n // userPool: this.userPool,\n // country: this.CountryBranding\n // })\n // .subscribe(\n // (session) => {\n \n // },\n // (err) => {\n // this.clearField(\"password\");\n // if (err.status === 401) {\n // this.errorMessage = this.translate.instant(\"GeniricMessages.EmailNotMatchInfo\");\n // } else {\n // this.errorMessage = this._brandingService.handleError(err, false);\n // }\n // this.status = \"loaded\";\n // }\n // );\n }\n\n //Controls\n \n get email() { return this.formGroup?.get(\"emails\")?.get(\"email\"); }\n get confirmEmail() { return this.formGroup?.get(\"emails\")?.get(\"confirmEmail\"); }\n\n}\n","
\n
\n
\n
\n

{{ 'ForgotPassword.Heading' | translate}}

\n {{ 'ForgotPassword.Subheading' | translate}}\n
\n
\n
\n
\n
\n \n \n \n

\n \n {{'Form.EmailRequiredMsg' | translate}}\n {{'Form.EmailPatternMsg'\n | translate}}\n {{'Form.EmailMaxLengthMsg' |\n translate}}\n

\n
\n
\n \n \n

\n {{'Form.ConfirmEmailRequiredMsg' |\n translate}}\n \n {{'Form.ConfirmEmailRequiredMsg' | translate}}\n {{'Form.EmailPatternMsg'\n | translate}}\n {{'Form.EmailMaxLengthMsg' |\n translate}}\n

\n
\n
\n
\n {{errorMessage}}\n
\n \n
\n
\n
\n
\n {{'ForgotPassword.AlreadyResetPassword' | translate}}\n
\n \n
\n
\n
\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { ActivityService, DataOwnerWorkflowStep, Region, RegionService, STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-form-collection',\n templateUrl: './form-collection.component.html',\n styleUrls: ['./form-collection.component.scss']\n})\nexport class FormCollectionComponent implements OnInit {\n currentStep: any;\n fg!: FormGroup;\n optedValue: number = 0;\n editable = false;\n states!: Region[];\n phoneTypes!: any[];\n showMakeSelectionPopupValue = false;\n showOptoutConfirmationPopupValue = false;\n subheadingUpdated = \"\";\n stateColor = \"\";\n public loadedTip = \"\";\n formData: any;\n showSectionsBasedOnOptInEndDateReached = '0';\n constructor(public translate: TranslateService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService,\n private _activityService: ActivityService,\n private memberService: MemberService,\n private _regionService: RegionService,\n private _loadingService: LoadingService) {\n this._loadingService.show();\n this._regionService.fetchRegionForCountryId(appConstants.countryId).then((data: any) => {\n this.states = data;\n this._loadingService.hide();\n });\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n }\n\n ngOnInit(): void {\n this.optedValue = this.currentStep.step_status_id;\n this.showSectionsBasedOnOptInEndDateReached = this._storageService.getLocalStorage(appConstants.OptInEndDateReached);\n this.getFormDropDownValues();\n this.getStateColor();\n if (this.optedValue === STEP_STATUS.OPTED_IN_PENDING_SUBMISSION)\n this.editable = true;\n this.fg = new FormGroup({\n nameOfCoveredEntity: new FormControl('', appConstants.CoveredEntityNameRegex),\n streetAddress1: new FormControl('', appConstants.AddressRegex),\n streetAddress2: new FormControl('', appConstants.Address2Regex),\n city: new FormControl('', appConstants.CityRegex),\n state: new FormControl('-1', [Validators.required]),\n zipCode: new FormControl('', appConstants.ZipCodeRegex),\n firstName: new FormControl('', appConstants.FirstNameRegex),\n lastName: new FormControl('', appConstants.LastNameRegex),\n email: new FormControl('', appConstants.EmailRegex),\n primaryPhone: new FormControl('', appConstants.PhoneNumberRegex),\n primaryPhoneType: new FormControl('-1', [Validators.required]),\n secondaryPhone: new FormControl('', appConstants.SecondaryPhoneNumberRegex),\n secondaryPhoneType: new FormControl('-1'),\n\n });\n this.setFormData();\n }\n\n setFormData() {\n if (this.currentStep?.data == null || this.currentStep?.data == '' || this.currentStep?.data == undefined || this.currentStep?.data == 'undefined')\n return;\n this.formData = JSON.parse(this.currentStep?.data);\n this.fg.patchValue({\n nameOfCoveredEntity: this.formData.nameOfCoveredEntity,\n streetAddress1: this.formData.streetAddress1,\n streetAddress2: this.formData.streetAddress2,\n city: this.formData.city,\n state: this.formData.state,\n zipCode: this.formData.zipCode,\n firstName: this.formData.firstName,\n lastName: this.formData.lastName,\n email: this.formData.email,\n primaryPhone: this.formData.primaryPhone,\n primaryPhoneType: this.formData.primaryPhoneType == null || this.formData.primaryPhoneType == undefined ? '-1' : this.formData.primaryPhoneType,\n secondaryPhone: this.formData.secondaryPhone,\n secondaryPhoneType: this.formData.secondaryPhoneType == null || this.formData.secondaryPhoneType == undefined ? '-1' : this.formData.secondaryPhoneType,\n });\n\n }\n showMakeSelectionPopup() {\n this.showMakeSelectionPopupValue = true;\n }\n\n async emittedPendingOption(selected: any) {\n this.showMakeSelectionPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN_PENDING_SUBMISSION;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue);\n this.editable = true;\n }\n else {\n this.showOptoutConfirmationPopupValue = true;\n this.editable = false;\n }\n this.getStateColor();\n }\n\n async emittedOptoutConfirmationPopup(selected: any) {\n this.showOptoutConfirmationPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN_PENDING_SUBMISSION;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue);\n this.editable = true;\n }\n else {\n this.optedValue = STEP_STATUS.OPTED_OUT;\n this.formData = '';\n this.fg.reset();\n\n this.fg.patchValue({\n state: -1,\n primaryPhoneType: -1,\n secondaryPhoneType: -1\n });\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue, '{}');\n this.editable = false;\n }\n this.getStateColor();\n }\n\n getFormDropDownValues() {\n this.translate.stream(['globaltext.PhoneTypes']).subscribe((res: any) => {\n this.phoneTypes = this.getTypes(res['globaltext.PhoneTypes']);\n });\n }\n\n private getTypes(typesString: any) {\n let typesList: any[] = [];\n let types = typesString?.split(\"|\");\n if (types != null) {\n types.forEach((item: string) => {\n let type = item?.split(\"=\");\n if (type.length == 2)\n typesList.push({ id: type[0], name: type[1] });\n });\n }\n return typesList;\n }\n\n getStateColor() {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n\n switch (this.optedValue) {\n case STEP_STATUS.OPTED_OUT: {\n this.stateColor = 'b-red';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedOut'));\n }\n break;\n case STEP_STATUS.OPTED_IN_PENDING_SUBMISSION: {\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInPendingForm'));\n }\n break;\n case STEP_STATUS.OPTED_IN: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedIn'));\n }\n break;\n case STEP_STATUS.OPTED_IN_SUBMITTED: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInSubmitted'));\n }\n break;\n default: {\n this.stateColor = 'b-gray';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.PendingSelection'));\n }\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n async onSubmit() {\n this.fg.markAllAsTouched();\n this.checkSelectedValue(this.primaryPhoneType);\n this.checkSelectedValue(this.state);\n if (!this.fg.valid)\n {\n this.memberService.errorInForm.next(true);\n return;\n }\n this.formData = this.fg.value;\n this.states.filter((x: any) => {\n if (x.id == this.state?.value)\n this.formData.stateName = x.name\n });\n this.phoneTypes.filter((x: any) => {\n if (x.id == this.primaryPhoneType?.value)\n this.formData.primaryPhoneTypeName = x.name\n });\n this.phoneTypes.filter((x: any) => {\n if (x.id == this.secondaryPhoneType?.value)\n this.formData.secondaryPhoneTypeName = x.name\n });\n if (this.formData.secondaryPhoneType?.value == -1) {\n this.formData.secondaryPhoneType?.setValue(\"\");\n }\n this.optedValue = STEP_STATUS.OPTED_IN_SUBMITTED;\n this.editable = false;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue, this.formData);\n this.getStateColor();\n }\n\n\n onEdit() {\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n this.setFormData();\n this.editable = true;\n }\n\n checkSelectedValue(formControl: any) {\n var control = formControl;\n if (formControl?.value == \"-1\") {\n formControl?.setErrors({ required: true });\n }\n }\n\n formatAsPhone(formControl: any, keyCode: any) {\n var control = formControl;\n var value = formControl?.value;\n // //Checking keyCode to make sure that the backspace or delete key weren’t pressed.\n if (keyCode.keyCode !== 8 && keyCode.keyCode !== 46) {\n const input = value.replace(/\\D/g, '').substring(0, 10); // First ten digits of input only\n let newVal = '';\n const zip = input.substring(0, 3);\n const middle = input.substring(3, 6);\n const last = input.substring(6, 10);\n\n if (input.length > 6) {\n newVal = `(${zip}) ${middle}-${last}`;\n } else if (input.length > 3) {\n newVal = `(${zip}) ${middle}`;\n } else if (input.length > 0) {\n newVal = `(${zip}`;\n }\n\n control?.setValue(newVal);\n }\n }\n \n get nameOfCoveredEntity() {\n return this.fg.get(\"nameOfCoveredEntity\");\n }\n\n get streetAddress1() {\n return this.fg.get(\"streetAddress1\");\n }\n get streetAddress2() {\n return this.fg.get(\"streetAddress2\");\n }\n get city() {\n return this.fg.get(\"city\");\n }\n get state() {\n return this.fg.get(\"state\");\n }\n get zipCode() {\n return this.fg.get(\"zipCode\");\n }\n get firstName() {\n return this.fg.get(\"firstName\");\n }\n get lastName() {\n return this.fg.get(\"lastName\");\n }\n get email() {\n return this.fg.get(\"email\");\n }\n get primaryPhone() {\n return this.fg.get(\"primaryPhone\");\n }\n get primaryPhoneType() {\n return this.fg.get(\"primaryPhoneType\");\n }\n get secondaryPhone() {\n return this.fg.get(\"secondaryPhone\");\n }\n get secondaryPhoneType() {\n return this.fg.get(\"secondaryPhoneType\");\n }\n}\n","
\n

\n
\n
\n
\n
\n\n \n
\n
\n
\n {{'text.FormCollectionTitle' | translate}}\n
\n
\n {{'text.FormCollectionDescription' | translate}}\n
\n
\n \n \n {{'globaltext.NameOfCoveredEntityHelpText' | translate}}\n \n

\n {{'globaltext.NameOfCoveredEntityRequiredMsg'\n | translate}}\n {{'globaltext.NameOfCoveredEntityInvalidMsg'\n | translate}}\n

\n
\n
\n \n \n

\n {{'globaltext.StreeAddress1RequiredMsg' |\n translate}}\n {{'globaltext.AddressInvalidMsg'\n |\n translate}}\n

\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n

\n {{'globaltext.StreeAddress2RequiredMsg' |\n translate}}\n {{'globaltext.AddressInvalidMsg'\n |\n translate}}\n

\n
\n
\n \n \n

\n {{'globaltext.CityRequiredMsg' |\n translate}}\n {{'globaltext.CityInvalidMsg' |\n translate}}\n\n

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

\n {{'globaltext.StateRequiredMsg'\n |\n translate}}\n

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

\n {{'globaltext.ZipCodeRequiredMsg'\n | translate}}\n {{'globaltext.ZipCodeInvalidMsg'\n | translate}}\n\n

\n
\n
\n
\n
\n
\n
\n {{'text.FormCollectionTitle2' | translate}}\n
\n
\n
\n
\n
\n
\n \n \n

\n {{'globaltext.FirstNameRequiredMsg' |\n translate}}\n {{'globaltext.FirstNameInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.LastNameRequiredMsg' |\n translate}}\n {{'globaltext.LastNameInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.EmailRequiredMsg' |\n translate}}\n {{'globaltext.EmailPatternMsg' |\n translate}}\n

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

\n {{'globaltext.PrimaryPhoneRequiredMsg' |\n translate}}\n {{'globaltext.PrimaryPhoneInvalidMsg'\n |\n translate}}\n

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

\n {{'globaltext.PrimaryPhoneTypeRequiredMsg' |\n translate}}\n

\n
\n
\n
\n
\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n

\n {{'globaltext.SecondaryPhoneRequiredMsg' |\n translate}}\n {{'globaltext.SecondaryPhoneInvalidMsg'\n |\n translate}}\n

\n
\n
\n
\n
\n \n \n ({{'globaltext.Optional' | translate}})\n \n \n\n
\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n {{'text.FormCollectionTitle' | translate}}:\n
\n
\n
\n
\n {{'globaltext.NameOfCoveredEntityLabel' | translate}}:\n
\n
\n {{nameOfCoveredEntity?.value}}\n
\n
\n
\n
\n {{'globaltext.StreeAddress1Label' | translate}}:\n
\n
\n {{streetAddress1?.value}}\n
\n
\n
\n
\n {{'globaltext.StreeAddress2Label' | translate}}:\n
\n
\n {{streetAddress2?.value}}\n
\n
\n
\n
\n {{'globaltext.CityLabel' | translate}}:\n
\n
\n {{city?.value}}\n
\n
\n
\n
\n {{'globaltext.StateLabel' | translate}}:\n
\n
\n {{formData?.stateName}}\n
\n
\n
\n
\n {{'globaltext.ZipCodeLabel' | translate}}:\n
\n
\n {{zipCode?.value}}\n
\n
\n
\n
\n {{'text.FormCollectionTitle2' | translate}}:\n
\n
\n
\n
\n {{'globaltext.FirstNameLabel' | translate}}:\n
\n
\n {{firstName?.value}}\n
\n
\n
\n
\n {{'globaltext.LastNameLabel' | translate}}:\n
\n
\n {{lastName?.value}}\n
\n
\n
\n
\n {{'globaltext.EmailLabel' | translate}}:\n
\n
\n {{email?.value}}\n
\n
\n
\n
\n {{'globaltext.PrimaryPhoneLabel' | translate}}:\n
\n
\n {{primaryPhone?.value}}\n
\n
\n
\n
\n {{'globaltext.PrimaryPhoneTypeLabel' | translate}}:\n
\n
\n {{formData?.primaryPhoneTypeName}}\n
\n
\n
\n
\n {{'globaltext.SecondaryPhoneLabel' | translate}}:\n
\n
\n {{secondaryPhone?.value}}\n
\n
\n
\n
\n {{'globaltext.SecondaryPhoneTypeLabel' | translate}}:\n
\n
\n {{formData?.secondaryPhoneTypeName}}\n
\n
\n
\n
\n \n
\n\n\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'app-get-started',\n templateUrl: './get-started.component.html',\n styleUrls: ['./get-started.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class GetStartedComponent implements OnInit {\n @Input()\n engagementName!: string;\n @Output()\n finishSetup = new EventEmitter();\n\n termsConfirmed = false;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n
\n
\n \n
\n

{{ \"globaltext.GetStartedHeading\" | translate }}

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n \n {{ \"globaltext.ContinueButton\" | translate }}\n \n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { AppConfigService, BaseAppConfig, SessionService } from '@cyber/navigator-services';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-header-postlogin',\n templateUrl: './header-postlogin.component.html',\n styleUrls: ['./header-postlogin.component.scss'],\n})\nexport class HeaderPostloginComponent implements OnInit {\n\n FinalLinks = [\n {\n Routerlink: '/home',\n Icon: 'home',\n Key: 'Home',\n },\n {\n Routerlink: '/profile',\n Icon: 'account_circle',\n Key: 'Profile',\n }\n ]\n DashBoardMenuLinks = this.FinalLinks;\n\n clientLogoUrl = '';\n\n removeDashboardLinksForTheseUrls = ['/finish-setup','/welcome', '/important-information', '/mobile-device-notice', '/legal-disclaimer', '/select-event']\n noLogoForTheseUrls = ['/finish-setup','/select-event'];\n\n constructor(public router: Router,\n public sessionService: SessionService\n ) {\n \n if(!this.noLogoForTheseUrls.includes(this.router.url))\n this.clientLogoUrl = 'logo.png?slug=true';\n\n if(this.removeDashboardLinksForTheseUrls.includes(this.router.url))\n this.DashBoardMenuLinks = [];\n\n }\n\n ngOnInit(): void {\n this.router.events.subscribe((event) => {\n if(event instanceof NavigationEnd){\n if(this.removeDashboardLinksForTheseUrls.includes(event.url))\n this.DashBoardMenuLinks = [];\n else\n this.DashBoardMenuLinks = this.FinalLinks;\n }\n });\n }\n}\n","\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-header-prelogin',\n templateUrl: './header-prelogin.component.html',\n styleUrls: ['./header-prelogin.component.scss']\n})\nexport class HeaderPreloginComponent implements OnInit {\n\n clientLogoUrl = '';\n constructor() { }\n\n ngOnInit(): void {\n //this.clientLogoUrl = \"../../../assets/logo-kroll.png\";\n }\n\n}\n","
\n
\n
\n \n
\n \n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-image',\n templateUrl: './image.component.html',\n styleUrls: ['./image.component.scss']\n})\nexport class ImageComponent implements OnInit {\n\n @Input() src!: string;\n @Input() alt = '';\n @Input() class= '';\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-info-box',\n templateUrl: './info-box.component.html',\n styleUrls: ['./info-box.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InfoBoxComponent implements OnInit {\n\n @Input() Content = '';\n @Input() Button = '';\n @Input() Url = '';\n @Input() OpenNewTab = true;\n infoBox: any;\n\n loadingDateTimeOut!: any;\n constructor(public translate: TranslateService, public router: Router, public storageService: StorageService) {\n }\n\n ngOnInit(): void {\n }\n\n navigateTo(url: any) {\n \n if (this.OpenNewTab)\n window.open(url, \"_blank\");\n else\n this.router.navigate([url]);\n }\n\n get UpdatedContent() {\n while (this.Content.indexOf(\"[icon:\") > -1) {\n let icon = this.Content.substring(this.Content.indexOf(\"[icon:\") + 6, this.Content.indexOf(\":icon]\"));\n this.Content = this.Content.replace(\"[icon:\" + icon + \":icon]\", '' + icon + '');\n }\n while (this.Content.indexOf(\"[outlineicon:\") > -1) {\n let icon = this.Content.substring(this.Content.indexOf(\"[outlineicon:\") + 13, this.Content.indexOf(\":outlineicon]\"));\n this.Content = this.Content.replace(\"[outlineicon:\" + icon + \":outlineicon]\", '' + icon + '');\n }\n\n if (this.Content.indexOf(\"{{OptInEndDate}}\") > -1) {\n let optInEndDate = this.storageService.getLocalStorage(appConstants.cookieOptInEndDate);\n this.Content = this.Content.replace(\"{{OptInEndDate}}\", optInEndDate);\n }\n return this.Content;\n }\n}\n","
\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-loading-modal',\n templateUrl: './loading-modal.component.html',\n styleUrls: ['./loading-modal.component.scss']\n})\nexport class LoadingModalComponent implements OnInit {\n\n show = false;\n constructor(public loadingService: LoadingService) {\n this.loadingService.getLoading().subscribe((data:any)=>{\n this.show = data;\n });\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n icon/loader\n Loading Spinner\n \n \n \n \n \n
\n
","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"app-loading-spinner\",\n templateUrl: \"./loading-spinner.component.html\",\n styleUrls: [\"./loading-spinner.component.scss\"]\n})\nexport class LoadingSpinnerComponent { }\n","
\n \n icon/loader\n Loading Spinner\n \n \n \n \n \n
","import { Component, Input, OnInit } from '@angular/core';\nimport { OutageService } from '@cyber/navigator-services';\n\n@Component({\n selector: 'app-maintenance-banner',\n templateUrl: './maintenance-banner.component.html',\n styleUrls: ['./maintenance-banner.component.scss'],\n})\nexport class MaintenanceBannerComponent implements OnInit {\n @Input() message = '';\n displayOutageBanner = false;\n\n constructor(private outageService: OutageService) {}\n\n ngOnInit(): void {\n this.outageService.outageObservable$.subscribe((outageInfo) => {\n this.displayOutageBanner = outageInfo?.display_outage;\n });\n }\n}\n","
\n
\n
\n {{ \"globaltext.OutageBannerTitle\" | translate }}\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-maintenance-wrapper',\n templateUrl: './maintenance-wrapper.component.html',\n styleUrls: ['./maintenance-wrapper.component.scss'],\n})\nexport class MaintenanceWrapperComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n \n
\n","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { DataOwnerEntity } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Popup } from 'src/app/models/popup';\nimport { Tip, TipsCard } from 'src/app/models/tips';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-modal-popup',\n templateUrl: './modal-popup.component.html',\n styleUrls: ['./modal-popup.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ModalPopupComponent implements OnInit {\n\n popupDetails!:Popup;\n loaded=false;\n @Input() logo = \"warning\";\n @Input() modalType!:string;\n @Input() leftbutton!:string;\n @Input() rightbutton!:string;\n @Input() showCloseButton = false;\n @Input() show!:boolean;\n @Input() IsGlobalDescription = true;\n @Output() emitstate: EventEmitter = new EventEmitter();\n\n data_owner_details!: DataOwnerEntity;\n opt_in_end_date!: any;\n constructor(public translate: TranslateService, public storageService: StorageService) { }\n\n ngOnInit(): void {\n this.loadAdditionalDetails();\n }\n\n loadAdditionalDetails(){\n this.data_owner_details = JSON.parse(this.storageService.getLocalStorage(appConstants.DataOwner));\n this.opt_in_end_date = this.storageService.getLocalStorage(appConstants.cookieOptInEndDate);\n this.loaded = true;\n }\n\n rightButtonClick() {\n this.emitstate.emit(true);\n }\n\n leftButtonClick(){\n this.emitstate.emit(false);\n }\n\n closeClick(){\n this.emitstate.emit(null);\n }\n\n\n}\n","
\n
\n
\n
\n \n
\n
\n \n close\n \n
\n
\n
\n
\n
\n \n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ActivityService, DataOwnerWorkflowStep, RegionService, STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-optin',\n templateUrl: './optin.component.html',\n styleUrls: ['./optin.component.scss']\n})\nexport class OptinComponent implements OnInit {\n currentStep: any;\n optedValue: number = 0;\n showMakeSelectionPopupValue = false;\n showOptoutConfirmationPopupValue = false;\n subheadingUpdated = \"\";\n stateColor = \"\";\n public loadedTip = \"\";\n showSectionsBasedOnOptInEndDateReached = '0';\n editable = false;\n\n constructor(public translate: TranslateService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService,\n private _memberService: MemberService,\n private _activityService: ActivityService,\n private _regionService: RegionService,\n private _loadingService: LoadingService) {\n this._loadingService.show();\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n }\n\n ngOnInit(): void {\n this.optedValue = this.currentStep.step_status_id;\n this.showSectionsBasedOnOptInEndDateReached = this._storageService.getLocalStorage(appConstants.OptInEndDateReached);\n this.getStateColor();\n this._loadingService.hide();\n }\n\n\n showMakeSelectionPopup() {\n this.showMakeSelectionPopupValue = true;\n }\n\n async emittedPendingOption(selected: any) {\n this.showMakeSelectionPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue);\n }\n else {\n this.showOptoutConfirmationPopupValue = true;\n }\n this.getStateColor();\n }\n\n async emittedOptoutConfirmationPopup(selected: any) {\n this.showOptoutConfirmationPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue);\n }\n else {\n this.optedValue = STEP_STATUS.OPTED_OUT;\n await this._stepsHelperService.updateStepStatus(this.currentStep?.step?.cms_binding, this.optedValue, '{}');\n }\n this.getStateColor();\n }\n\n getStateColor() {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n\n switch (this.optedValue) {\n case STEP_STATUS.OPTED_OUT: {\n this.stateColor = 'b-red';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedOut'));\n }\n break;\n case STEP_STATUS.OPTED_IN_PENDING_SUBMISSION: {\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInPendingForm'));\n }\n break;\n case STEP_STATUS.OPTED_IN: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedIn'));\n }\n break;\n case STEP_STATUS.OPTED_IN_SUBMITTED: {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.OptedInSubmitted'));\n }\n break;\n default: {\n this.stateColor = 'b-gray';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.PendingSelection'));\n }\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n}\n","
\n

\n
\n
\n
\n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {\n FormGroup,\n FormControl,\n Validators,\n AbstractControl,\n} from '@angular/forms';\nimport { Router } from '@angular/router';\nimport {\n DataOwnerEntity,\n DataOwnerService,\n DataOwnerUser,\n RegistrationService,\n SessionService,\n UserEntity,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Faq } from 'src/app/models/faq';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss'],\n})\nexport class ProfileComponent implements OnInit {\n changeNameFormGroup: FormGroup;\n changeEmailFormGroup: FormGroup;\n errorMessage = '';\n status = 'loaded';\n showThankYou = false;\n pendingEmailVerification = true;\n showChangeEvent = false;\n\n dataOwners: DataOwnerEntity[] = [];\n currentDataOwner!: DataOwnerEntity;\n selectedDataOwnerId!: any;\n dataOwnerUser!: UserEntity;\n changeNameStatus = 'loaded';\n\n constructor(\n public regionalDataService: RegionalDataService,\n private _sessionService: SessionService,\n private _storageService: StorageService,\n private _registrationService: RegistrationService,\n public stepsHelperService: StepsHelperService,\n public loadingService: LoadingService,\n public router: Router\n ) {\n this.currentDataOwner =\n this.stepsHelperService.getDataOwnerFromLocalStorage();\n this.selectedDataOwnerId = this.currentDataOwner?.id;\n this.changeNameFormGroup = new FormGroup({\n firstName: new FormControl(null, appConstants.FirstNameRegex),\n lastName: new FormControl(null, appConstants.LastNameRegex),\n });\n\n this.changeEmailFormGroup = new FormGroup(\n {\n email: new FormControl(null, appConstants.EmailRegex),\n confirmEmail: new FormControl(null, appConstants.EmailRegex),\n },\n this.emailMatcher\n );\n\n let userDetailsString = this._storageService.getLocalStorage(\n appConstants.User\n );\n this.dataOwnerUser = JSON.parse(userDetailsString);\n this.setFormData();\n }\n\n async ngOnInit(): Promise {\n this.loadingService.show();\n this.dataOwners = await this._sessionService.getRegisteredDataOwners();\n this.loadingService.hide();\n }\n\n setFormData() {\n this.changeNameFormGroup.patchValue({\n firstName: this.dataOwnerUser?.first_name,\n lastName: this.dataOwnerUser?.last_name,\n });\n }\n\n emailMatcher(c: AbstractControl): any {\n if (\n !c.get('confirmEmail')?.hasError('required') &&\n !c.get('confirmEmail')?.hasError('pattern')\n ) {\n if (c.get('email')?.value !== c.get('confirmEmail')?.value) {\n c.get('confirmEmail')?.setErrors({ invalid: true });\n return { nomatch: true };\n } else {\n // Remove all errors if confirm email dont have pattern or required error and both values matches.\n c.get('confirmEmail')?.setErrors(null);\n return;\n }\n }\n }\n\n onChangeNameSubmit(): void {\n if (this.changeNameStatus === 'loading') return;\n this.changeNameFormGroup.markAllAsTouched();\n this.errorMessage = '';\n if (!this.changeNameFormGroup.valid) return;\n this.loadingService.show();\n this.changeNameStatus = 'loading';\n this.dataOwnerUser.first_name = this.firstName?.value;\n this.dataOwnerUser.last_name = this.lastName?.value;\n this._registrationService\n .updateUserName(this.firstName?.value, this.lastName?.value)\n .then((response: any) => {\n this._storageService.setLocalStorage(\n appConstants.User,\n JSON.stringify(this.dataOwnerUser)\n );\n this.changeNameStatus = 'loaded';\n this.loadingService.hide();\n });\n }\n\n onChangeEmailSubmit(): void {\n if (this.status === 'loading') return;\n // TODO: Send form values to API for login call\n this.changeEmailFormGroup.markAllAsTouched();\n this.errorMessage = '';\n\n if (this.changeEmailFormGroup.valid) {\n this.status = 'loading';\n }\n }\n\n closeChangeEvent() {\n this.showChangeEvent = false;\n }\n\n async changeEventClicked() {\n this.showChangeEvent = true;\n }\n\n async updateEvent() {\n if (this.selectedDataOwnerId != this.currentDataOwner.id) {\n this.closeChangeEvent();\n this.loadingService.show();\n await this._sessionService\n .switchDataOwner(this.selectedDataOwnerId)\n .then((response: any) => {\n this.loadingService.hide();\n this.router.navigateByUrl('/settingup?url=/home');\n });\n }\n this.closeChangeEvent();\n }\n\n fieldsMatch() {\n return (\n this.changeEmailFormGroup.hasError('nomatch') &&\n this.changeEmailFormGroup.touched\n );\n }\n\n //Controls\n get firstName() {\n return this.changeNameFormGroup.get('firstName');\n }\n get lastName() {\n return this.changeNameFormGroup.get('lastName');\n }\n\n get email() {\n return this.changeEmailFormGroup.get('email');\n }\n\n get confirmEmail() {\n return this.changeEmailFormGroup.get('confirmEmail');\n }\n}\n","
\n
\n
\n
\n

\n {{ \"globaltext.ProfileHeading\" | translate }}\n

\n {{\n \"globaltext.ProfileSubHeading\" | translate\n }}\n
\n
\n
\n {{\n \"globaltext.AccountDetailsHeading\" | translate\n }}\n
\n
\n
\n
\n \n \n
\n
\n 1\"\n >\n {{\n \"globaltext.ChangeEventButton\" | translate\n }}\n \n \n \n \n
\n
\n {{\n \"globaltext.PersonalInformationHeading\" | translate\n }}\n
\n
\n
\n \n
\n
\n \n \n\n \n \n {{ \"globaltext.FirstNameRequiredMsg\" | translate }}\n \n {{ \"globaltext.FirstNameInvalidMsg\" | translate }}\n

\n
\n
\n \n \n\n \n \n {{ \"globaltext.LastNameRequiredMsg\" | translate }}\n \n {{ \"globaltext.LastNameInvalidMsg\" | translate }}\n

\n
\n
\n \n {{ errorMessage }}\n
\n \n \n
\n\n
\n
\n {{\n \"globaltext.EmailAddressHeading\" | translate\n }}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n {{\n \"globaltext.CurrentEmailPendingVerificationLabel\" | translate\n }}\n

\n {{\n \"globaltext.CurrentEmailPendingVerificationError\" | translate\n }}\n

\n \n {{\n \"globaltext.ResendEmailVerificationButton\" | translate\n }}\n \n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n \n \n\n \n \n {{ \"globaltext.EmailRequiredMsg\" | translate }}\n {{ \"globaltext.EmailPatternMsg\" | translate }}\n {{\n \"globaltext.EmailMaxLengthMsg\" | translate\n }}\n

\n
\n
\n \n \n\n \n \n {{ \"globaltext.EmailRequiredMsg\" | translate }}\n {{\n \"globaltext.ConfirmEmailMatchMsg\" | translate\n }}\n {{ \"globaltext.EmailPatternMsg\" | translate }}\n {{ \"globaltext.EmailMaxLengthMsg\" | translate }}\n

\n
\n
\n \n {{ errorMessage }}\n
\n \n \n
\n
\n \n\n
\n
\n
\n
\n \n \n
\n
\n {{ \"globaltext.ChangeEventButton\" | translate }}\n
\n
\n
\n
\n
\n

\n {{ \"globaltext.ChangeEventDescription\" | translate }}\n

\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n {{ \"globaltext.CancelButton\" | translate }}\n \n \n {{ \"globaltext.ConfirmButton\" | translate }}\n \n
\n
\n
\n
\n
\n
\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport {\n FormGroup,\n FormControl,\n Validators,\n FormsModule,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { Observable, Subscription } from 'rxjs';\nimport { RedeemUserWrapper } from 'src/app/models/redeem';\nimport { RegistrationService } from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n\n@Component({\n selector: 'app-redeem-add-user',\n templateUrl: './redeem-add-user.component.html',\n styleUrls: ['./redeem-add-user.component.scss'],\n})\nexport class RedeemAddUserComponent implements OnInit {\n @Input() userDetails!: RedeemUserWrapper;\n @Input() events!: Observable;\n @Output() emitUserDetails: EventEmitter =\n new EventEmitter();\n\n formGroup!: FormGroup;\n private eventsSubscription!: Subscription;\n isDuplicateEmail!: boolean;\n\n constructor(private _cookieService: CookieService,\n private _registrationService: RegistrationService,\n private loading: LoadingService) { }\n\n ngOnInit(): void {\n this.eventsSubscription = this.events?.subscribe(() =>\n this.revalidateForm()\n );\n this.formGroup = new FormGroup({\n id: new FormControl(this.userDetails?.id),\n firstName: new FormControl(\n this.userDetails?.first_name,\n appConstants.FirstNameRegex\n ),\n lastName: new FormControl(\n this.userDetails?.last_name,\n appConstants.LastNameRegex\n ),\n email: new FormControl(this.userDetails?.email, appConstants.EmailRegex),\n });\n }\n\n get firstName() {\n return this.formGroup?.get('firstName');\n }\n get lastName() {\n return this.formGroup?.get('lastName');\n }\n get email() {\n return this.formGroup?.get('email');\n }\n\n async duplicateEmailCheck(event: any) {\n const token = this._cookieService.get(appConstants.sessionCookieObject);\n if (token && this.email?.valid) {\n this.loading.show();\n this._registrationService.redeemDuplicateEmailCheck(token, event.target.value).then((result: boolean) => {\n if (result) {\n this.email?.setErrors({ invalid: true, isDuplicate: true })\n }\n else {\n this.email?.setErrors(null);\n }\n this.loading.hide();\n }).catch((error: any) => {\n this.loading.hide();\n })\n }\n }\n\n\n onSubmit() {\n if (this.firstName?.value === null) {\n this.firstName.markAsTouched();\n }\n if (this.lastName?.value === null) {\n this.lastName.markAsTouched();\n }\n if (this.email?.value === null) {\n this.email.markAsTouched();\n }\n\n this.userDetails.isValid = this.formGroup?.valid;\n this.userDetails.email = this.email?.value;\n this.userDetails.first_name = this.firstName?.value;\n this.userDetails.last_name = this.lastName?.value;\n this.formGroup?.updateValueAndValidity();\n\n this.emitUserDetails.emit(this.userDetails);\n }\n\n revalidateForm() {\n if (!this.formGroup?.valid) {\n /* if you are using angular 8 or above, you can just do form.markAllAsTouched() which will touch \n all the fields without having to loop through all the fields and mark it as touched.\n */\n for (let i in this.formGroup?.controls) {\n this.formGroup?.controls[i].markAsTouched();\n }\n return false;\n } else {\n return true;\n }\n }\n}\n","\n
\n
\n
\n
\n \n \n \n

\n {{'globaltext.FirstNameRequiredMsg' | translate}}\n \n {{'globaltext.FirstNamePatternMsg' | translate}}\n \n

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

\n {{'globaltext.LastNameRequiredMsg' | translate}}\n \n {{'globaltext.LastNamePatternMsg' | translate}}\n

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

\n {{'globaltext.EmailRequiredMsg' | translate}}\n \n {{'globaltext.EmailPatternMsg' | translate}}\n {{'globaltext.EmailMaxLengthMsg' | translate}}\n \n {{'globaltext.DuplicateEmailInDataOwner' | translate}}\n \n

\n
\n
\n
\n
\n ","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport { RegistrationService } from '@cyber/navigator-services';\nimport { RedeemUserWrapper } from 'src/app/models/redeem';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-redeem-add-users',\n templateUrl: './redeem-add-users.component.html',\n styleUrls: ['./redeem-add-users.component.scss'],\n})\nexport class RedeemAddUsersComponent implements OnInit {\n // formGroup: FormGroup;\n showAddUser: boolean = true;\n status!: string;\n errorMessage!: string;\n public users: RedeemUserWrapper[] = [\n {\n id: 1,\n first_name: '',\n last_name: '',\n email: '',\n isValid: false,\n },\n ];\n\n public formGroup: FormGroup = new FormGroup({\n userDetailsComponent: new FormControl(''),\n });\n\n timeOutTimerId: any;\n timedOut = false;\n idleState = 'Not started.';\n public sessionCheckTimerId: any;\n eventsSubject: Subject = new Subject();\n pageCms: any;\n\n //@ViewChild(RedeemAddUserComponent)\n //private redeemAddUserComponent!: RedeemAddUserComponent;\n constructor(\n private _registrationService: RegistrationService,\n private _router: Router,\n private _cookieService: CookieService,\n private translate: TranslateService,\n private loading: LoadingService\n ) {}\n\n ngOnInit(): void {\n const cmsPageData = this.translate.instant(`page`);\n this.pageCms = cmsPageData['Redeem_AddUsers'];\n this.errorMessage = '';\n }\n\n addUser() {\n if (this.users.length < 3) {\n this.users.push({\n id: this.users.length + 1,\n first_name: '',\n last_name: '',\n email: '',\n isValid: false,\n });\n }\n if (this.users.length > 2) {\n this.showAddUser = false;\n }\n }\n\n removeUser(i: number) {\n this.users.splice(i, 1);\n this.showAddUser = true;\n }\n\n updateUserDetails(user: RedeemUserWrapper) {\n this.users[user.id - 1] = user;\n }\n getCookie(name: string): string {\n return this._cookieService.get(name);\n }\n\n validateEmails(data: RedeemUserWrapper[]) {\n const unique = [new Set(data.map((item) => item.email?.toLowerCase()))];\n if (unique.length > 0 && unique[0].size != data.length) {\n return false;\n } else return true;\n }\n\n async submit() {\n var data = this.users;\n this.eventsSubject.next();\n if (data.filter((x) => x.isValid == false).length > 0) {\n return;\n }\n var emailCheck = this.validateEmails(data);\n this.status = 'loaded';\n this.errorMessage = '';\n if (emailCheck) {\n const token = this._cookieService.get(appConstants.sessionCookieObject);\n if (token) {\n try {\n this.loading.show();\n await this._registrationService.redeemRegisterUsers(token, data);\n this.loading.hide();\n this._router.navigate(['redeem/confirmation']);\n } catch (err: any) {\n if (err.error === 'Invalid AuthToken')\n this.errorMessage = 'RedeemUsersInvalidAccessCode';\n else this.errorMessage = 'RedeemUsersErrorAddingUsers';\n } finally {\n this.loading.hide();\n this.status = 'loaded';\n }\n } else {\n this.errorMessage = 'RedeemUsersInvalidAlreadyUsersAccessCode';\n }\n } else {\n this.status = 'loaded';\n this.errorMessage = 'UniqueEmailError';\n }\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n USER {{ i + 1 }} of 3\n
\n
\n 0\" class=\"f-right\">\n \n person_remove_alt_1\n Remove User\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n \n person_add\n Add an Additional User\n \n
\n
\n
\n
\n \n SUBMIT\n \n \n \n \n
\n
\n\n
\n \n
\n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CookieService } from 'ngx-cookie-service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-redeem-confirmation',\n templateUrl: './redeem-confirmation.component.html',\n styleUrls: ['./redeem-confirmation.component.scss'],\n})\nexport class RedeemConfirmationComponent implements OnInit {\n pageCms: any;\n\n constructor(private translate: TranslateService, private _cookieService: CookieService) {}\n\n ngOnInit(): void {\n this._cookieService.delete(appConstants.sessionCookieObject);\n const cmsPageData = this.translate.instant(`page`);\n this.pageCms = cmsPageData['Redeem_Confirmation'];\n }\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { CookieService } from 'ngx-cookie-service';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport { RegistrationService } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoadingService } from 'src/app/services/loading.service';\n\n@Component({\n selector: 'app-redeem',\n templateUrl: './redeem.component.html',\n styleUrls: ['./redeem.component.scss'],\n})\nexport class RedeemComponent implements OnInit {\n formGroup!: FormGroup;\n errorMessage!: string;\n status!: string;\n knownErrors = [\n 'ACCESS_CODE_DOES_NOT_EXIST',\n 'ACCESS_CODE_EXPIRED',\n 'ACCESS_CODE_REDEEMED',\n 'ZIP_CODE_MISMATCH',\n ];\n pageCms: any;\n\n constructor(\n private _registrationService: RegistrationService,\n private _router: Router,\n private _cookieService: CookieService,\n private translate: TranslateService,\n private loading: LoadingService\n ) {}\n\n ngOnInit(): void {\n this.status = 'loading';\n this.errorMessage = '';\n\n const cmsPageData = this.translate.instant(`page`);\n this.pageCms = cmsPageData['Redeem'];\n\n this.formGroup = new FormGroup({\n activationCode: new FormControl(null, appConstants.ActivationCodeRegex),\n zipCode: new FormControl(null, appConstants.ZipCodeRegex),\n });\n }\n get activationCode() {\n return this.formGroup.get('activationCode');\n }\n\n get zipCode() {\n return this.formGroup.get('zipCode');\n }\n\n setQuickCookie(name: string, value: string, expiration: Date) {\n const isLocal = window.location.hostname === 'localhost';\n const domain = this.getDomain();\n this._cookieService.set(name, value, expiration, '/', domain, !isLocal);\n }\n\n isIEBrowser() {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf('MSIE ');\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) {\n // If Internet Explorer, return version number\n return true;\n }\n return false;\n }\n\n getDomain(): string {\n const isLocal = window.location.hostname === 'localhost';\n let domain = isLocal\n ? this.isIEBrowser()\n ? ''\n : 'localhost'\n : window.location.hostname;\n //Change to get dynamic sub domain/domain for US region\n if (!isLocal) {\n const firstDot = window.location.hostname.indexOf('.');\n domain = window.location.hostname.substring(\n firstDot == -1 ? 0 : firstDot\n );\n }\n return domain;\n }\n\n async ValidateCode() {\n this.status = 'loading';\n if (this.activationCode?.value === null) {\n this.activationCode.markAsTouched();\n }\n if (this.zipCode?.value === null) {\n this.zipCode.markAsTouched();\n }\n if (this.formGroup.invalid) {\n return;\n }\n this.status = 'loaded';\n this.errorMessage = '';\n\n try {\n this.loading.show();\n var response = await this._registrationService.validateRedeemCode(\n this.activationCode?.value,\n this.zipCode?.value\n );\n this.setQuickCookie(\n appConstants.sessionCookieObject,\n response.auth_token,\n new Date(response.expiration)\n );\n this.loading.hide();\n this._router.navigate(['redeem/add-users']);\n } catch (err: any) {\n this.loading.hide();\n console.error(err);\n if (this.knownErrors.includes(err.error)) {\n this.errorMessage = err.error;\n } else {\n this.errorMessage = 'CommonError';\n }\n } finally {\n this.status = 'loaded';\n }\n }\n}\n","\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n {{ \"globaltext.AccessCodeHint\" | translate }}\n \n \n \n {{ \"globaltext.AccessCodeRequiredMsg\" | translate }}\n {{ \"globaltext.AccessCodePatternMsg\" | translate }}\n

\n
\n
\n \n \n \n \n {{ \"globaltext.BusinessZipCodeRequiredMsg\" | translate }}\n \n \n {{ \"globaltext.BusinessZipCodePatternMsg\" | translate }}\n \n

\n
\n \n \n
\n \n {{ \"globaltext.VerifyCodeButton\" | translate }}\n \n \n \n
\n
\n
\n \n
\n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-request-registration-link-success',\n templateUrl: './request-registration-link-success.component.html',\n styleUrls: ['./request-registration-link-success.component.scss']\n})\nexport class RequestRegistrationLinkSuccessComponent implements OnInit {\n\n constructor(public regionalDataService: RegionalDataService) {\n\n }\n\n ngOnInit(): void {\n }\n \n\n}\n","
\n
\n
\n
\n

{{ 'RequestRegistrationLinkSuccess.Heading' | translate}}

\n {{ 'RequestRegistrationLinkSuccess.Subheading' | translate}}\n
\n
\n

{{ 'RequestRegistrationLinkSuccess.Description1' | translate}}

\n

{{ 'RequestRegistrationLinkSuccess.Description2' | translate}}

\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, AbstractControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-request-registration-link',\n templateUrl: './request-registration-link.component.html',\n styleUrls: ['./request-registration-link.component.scss']\n})\nexport class RequestRegistrationLinkComponent implements OnInit {\n formGroup: FormGroup;\n errorMessage = '';\n status = 'loaded';\n constructor(\n public regionalDataService: RegionalDataService,\n public router: Router) {\n\n this.formGroup = new FormGroup({\n emails: new FormGroup(\n {\n email: new FormControl(null, appConstants.EmailRegex),\n confirmEmail: new FormControl(null, appConstants.EmailRegex)\n },\n this.emailMatcher\n )\n });\n }\n\n\n emailMatcher(c: AbstractControl): any {\n if (!c.get(\"confirmEmail\")?.hasError(\"required\") && !c.get(\"confirmEmail\")?.hasError(\"pattern\")) {\n if (c.get(\"email\")?.value && c.get(\"confirmEmail\")?.value && c.get(\"email\")?.value.toLowerCase() !== c.get(\"confirmEmail\")?.value.toLowerCase()) {\n c.get('confirmEmail')?.setErrors({invalid: true});\n return { nomatch: true };\n }\n }\n }\n\n fieldsMatch(fieldName: string) {\n return (\n this?.formGroup?.get(fieldName)?.hasError(\"nomatch\") &&\n this?.formGroup?.get(fieldName)?.touched\n );\n }\n\n ngOnInit(): void {\n }\n\n redirectToEnroll(){\n }\n\n onSubmit(): void {\n\n //if (this.status === \"loading\") return;\n if (this.status === \"loading\") this.router.navigate(['registration-reset-success']);\n // TODO: Send form values to API for login call\n this.formGroup.markAllAsTouched();\n this.status = \"loading\";\n this.errorMessage = \"\";\n //const getFormVal = (name: string) => this.formGroup.get(name).value;\n\n // this._authService.login({\n // userName: getFormVal(\"username\"),\n // password: getFormVal(\"password\"),\n // userPool: this.userPool,\n // country: this.CountryBranding\n // })\n // .subscribe(\n // (session) => {\n \n // },\n // (err) => {\n // this.clearField(\"password\");\n // if (err.status === 401) {\n // this.errorMessage = this.translate.instant(\"GeniricMessages.EmailNotMatchInfo\");\n // } else {\n // this.errorMessage = this._brandingService.handleError(err, false);\n // }\n // this.status = \"loaded\";\n // }\n // );\n }\n\n //Controls\n \n get email() { return this.formGroup?.get(\"emails\")?.get(\"email\"); }\n get confirmEmail() { return this.formGroup?.get(\"emails\")?.get(\"confirmEmail\"); }\n\n}\n","
\n
\n
\n
\n

{{ 'RequestRegistrationLink.Heading' | translate}}

\n {{ 'RequestRegistrationLink.Subheading' | translate}}\n
\n
\n
\n
\n
\n \n \n \n

\n \n {{'Form.EmailRequiredMsg' | translate}}\n {{'Form.EmailPatternMsg'\n | translate}}\n {{'Form.EmailMaxLengthMsg' |\n translate}}\n

\n
\n
\n \n \n

\n {{'Form.ConfirmEmailRequiredMsg' |\n translate}}\n \n {{'Form.ConfirmEmailRequiredMsg' | translate}}\n {{'Form.EmailPatternMsg'\n | translate}}\n {{'Form.EmailMaxLengthMsg' |\n translate}}\n

\n
\n
\n
\n {{errorMessage}}\n
\n \n
\n
\n
\n
\n {{'ForgotPassword.AlreadyResetPassword' | translate}}\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-reset-password-success',\n templateUrl: './reset-password-success.component.html',\n styleUrls: ['./reset-password-success.component.scss']\n})\nexport class ResetPasswordSuccessComponent implements OnInit {\n\n constructor(public regionalDataService: RegionalDataService) {\n\n }\n\n ngOnInit(): void {\n }\n \n\n}\n","
\n
\n
\n
\n

{{ 'ResetPasswordSuccess.Heading' | translate}}

\n {{ 'ResetPasswordSuccess.Subheading' | translate}}\n
\n
\n

{{ 'ResetPasswordSuccess.Description1' | translate}}

\n

{{ 'ResetPasswordSuccess.Description2' | translate}}

\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { RegionalDataService } from 'src/app/services/regional-data.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.scss']\n})\nexport class ResetPasswordComponent implements OnInit {\n\n formGroup: FormGroup;\n errorMessage = '';\n status = 'loaded';\n hidePassword = true;\n constructor(\n public regionalDataService: RegionalDataService,\n public router: Router) {\n\n this.formGroup = new FormGroup({\n password: new FormControl(null, appConstants.PasswordRegex)\n });\n }\n\n ngOnInit(): void {\n }\n\n redirectToEnroll(){\n }\n\n onSubmit(): void {\n //if (this.status === \"loading\") return;\n if (this.status === \"loading\") this.router.navigate(['password-reset-success']);\n // TODO: Send form values to API for login call\n this.formGroup.markAllAsTouched();\n this.status = \"loading\";\n this.errorMessage = \"\";\n //const getFormVal = (name: string) => this.formGroup.get(name).value;\n\n // this._authService.login({\n // userName: getFormVal(\"username\"),\n // password: getFormVal(\"password\"),\n // userPool: this.userPool,\n // country: this.CountryBranding\n // })\n // .subscribe(\n // (session) => {\n \n // },\n // (err) => {\n // this.clearField(\"password\");\n // if (err.status === 401) {\n // this.errorMessage = this.translate.instant(\"GeniricMessages.EmailNotMatchInfo\");\n // } else {\n // this.errorMessage = this._brandingService.handleError(err, false);\n // }\n // this.status = \"loaded\";\n // }\n // );\n }\n\n // clearField(fieldName: string) {\n // this.formGroup.get(fieldName).patchValue(\"\");\n // this.formGroup.get(fieldName).markAsUntouched({\n // onlySelf: true\n // });\n // this.formGroup.get(fieldName).markAsPristine({\n // onlySelf: true\n // });\n // }\n\n //Controls\n get email() {\n return this.formGroup.get(\"email\");\n }\n get password() {\n return this.formGroup.get(\"password\");\n }\n\n}\n","
\n
\n
\n
\n

{{ 'ResetPassword.Heading' | translate}}

\n {{ 'ResetPassword.Subheading' | translate}}\n
\n
\n
\n
\n \n \n \n visibility\n {{'Form.Show' | translate}}\n \n \n visibility_off\n {{'Form.Hide' | translate}}\n \n \n \n

\n {{'Form.NewPasswordHelpText' | translate}}\n

\n

\n {{'Form.PasswordRequiredMsg'\n | translate}}\n {{'Form.PasswordMinLengthMsg' | translate}}\n

\n
\n
\n {{errorMessage}}\n
\n \n\n
\n
\n
\n
\n {{'ResetPassword.AlreadyResetPassword' | translate}}\n
\n \n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport {\n ChangeOfAddressService,\n CustomerDownloadProcessingStatus,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-review-change-of-address-file',\n templateUrl: './review-change-of-address-file.component.html',\n styleUrls: ['./review-change-of-address-file.component.scss'],\n})\nexport class ReviewChangeOfAddressFileComponent implements OnInit {\n public loadedTip = '';\n error = '';\n currentDataOwner: any;\n fileType: string = 'xlsx';\n interval: any;\n fileGenerationStatus!: CustomerDownloadProcessingStatus;\n constructor(\n private _stepsHelperService: StepsHelperService,\n private _changeOfAddressService: ChangeOfAddressService,\n private _loadingService: LoadingService\n ) {}\n\n async ngOnInit(): Promise {\n this._loadingService.show();\n try {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n await this.makeFileAsMySelection();\n this.fileGenerationStatus =\n await this._changeOfAddressService.getFileGenerationStatus();\n } catch (err: any) {\n console.error(err);\n } finally {\n this._loadingService.hide();\n }\n\n this.pollForStatusUntilComplete();\n }\n\n async makeFileAsMySelection() {\n let data = {\n display_selection: 'file',\n };\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (currentStep.data != null) {\n data = JSON.parse(currentStep.data);\n data.display_selection = 'file';\n }\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n null,\n data\n );\n }\n\n async downloadFile() {\n this.error = '';\n this._loadingService.show();\n try {\n this.fileType = (\n await this._changeOfAddressService.getDownloadType()\n ).toLowerCase();\n if (this.fileType === 'xlsx') {\n let response = await this._changeOfAddressService.downloadFile();\n this.processFileDownload(response);\n } else if (this.fileType === 'zip') {\n if (!this.fileGenerationStatus) {\n await this._changeOfAddressService.startDataFileGeneration();\n this.fileGenerationStatus =\n await this._changeOfAddressService.getFileGenerationStatus();\n this.pollForStatusUntilComplete();\n } else if (this.fileGenerationStatus?.percentage_complete > 100) {\n let response = await this._changeOfAddressService.downloadZip(\n this.fileGenerationStatus.download_id\n );\n this.processFileDownload(response);\n }\n }\n } catch {\n this.error = 'Error while downloading file. Please contact support';\n }\n this._loadingService.hide();\n }\n\n async processFileDownload(response: any) {\n let downloadLink = document.createElement('a');\n downloadLink.setAttribute('download', 'DataFile.' + this.fileType);\n downloadLink.href = window.URL.createObjectURL(response.body);\n downloadLink.click();\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n\n if (\n currentStep.step_status_id !== STEP_STATUS.NO_UPDATES_REQUIRED &&\n currentStep.step_status_id !== STEP_STATUS.UPDATED &&\n currentStep.step_status_id !== STEP_STATUS.IN_PROGRESS\n ) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.DOWNLOADED\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n }\n\n pollForStatusUntilComplete() {\n this.interval = setInterval(async () => {\n try {\n this.fileGenerationStatus =\n await this._changeOfAddressService.getFileGenerationStatus();\n if (\n !this.fileGenerationStatus || //No status was returned -- no files actively being processed\n this.fileGenerationStatus.percentage_complete > 100 //File is complete, no need to keep polling\n ) {\n clearInterval(this.interval);\n }\n } catch (err: any) {\n console.error(err);\n }\n }, 15 * 1000);\n }\n}\n","
\n
\n {{\n \"globaltext.NcoaFileGenerationInProgress\" | translate\n }}\n 100\">{{\n \"globaltext.NcoaFileGenerationComplete\" | translate\n }}\n
\n
\n \n
\n
\n\n
\n \n {{ \"globaltext.DownloadButton\" | translate }}\n \n
\n
\n \n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FormGroup, NgForm, FormControl, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n ChangeOfAddress,\n ChangeOfAddressService,\n Customer,\n CustomerChangeOfAddress,\n CustomerField,\n CustomerService,\n DataOwnerService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n GridDataResult,\n GridComponent,\n EditEvent,\n CellClickEvent,\n CellCloseEvent,\n SaveEvent,\n CancelEvent,\n RemoveEvent,\n ColumnBase,\n ColumnComponent,\n} from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n State,\n} from '@progress/kendo-data-query';\nimport { ToastrService } from 'ngx-toastr';\nimport { Subject } from 'rxjs';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { DateHelper } from 'src/app/helpers/date.helper';\nimport { KendoGridHelper } from 'src/app/helpers/kendo-grid-helper';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-review-change-of-address-web',\n templateUrl: './review-change-of-address-web.component.html',\n styleUrls: ['./review-change-of-address-web.component.scss'],\n})\nexport class ReviewChangeOfAddressWebComponent implements OnInit {\n @Output() emitOnDataChanged: EventEmitter =\n new EventEmitter();\n\n mode = '';\n totalItems: any;\n gridData!: GridDataResult;\n public gridState: any = {\n sort: [\n {\n field: 'changeOfAddress.CustomerIdentifier',\n dir: 'asc',\n },\n ],\n skip: 0,\n take: 25,\n };\n searchQuery!: string;\n timeout: any;\n mobileDevice!: boolean;\n editCellRowIndex: number = 0;\n editCellColumnIndex: number = 0;\n isSavingAudit!: boolean;\n booleanTrue = true;\n booleanFalse = false;\n hasChangeAudit: boolean = false;\n loadingData: boolean = true;\n isReview = true;\n customerFields!: CustomerField[];\n standardFields: CustomerField[] = [\n {\n caption: 'SID',\n field_name: 'sid',\n display_order: 1,\n is_editable: false,\n },\n {\n caption: 'ClientID',\n field_name: 'customer_identifier',\n display_order: 2,\n is_editable: false,\n },\n {\n caption: 'Manual Exception Type',\n field_name: 'manual_exception_type',\n display_order: 3,\n is_editable: false,\n },\n {\n caption: 'Address Update',\n field_name: 'address_update',\n display_order: 4,\n is_editable: false,\n },\n {\n caption: 'First Name',\n field_name: 'first_name',\n display_order: 5,\n is_editable: true,\n },\n {\n caption: 'Middle Name',\n field_name: 'middle_name',\n display_order: 6,\n is_editable: true,\n },\n {\n caption: 'Last Name',\n field_name: 'last_name',\n display_order: 7,\n is_editable: true,\n },\n {\n caption: 'Suffix',\n field_name: 'suffix',\n display_order: 8,\n is_editable: true,\n },\n {\n caption: 'New Address 1',\n field_name: 'new_address1',\n display_order: 9,\n is_editable: true,\n },\n {\n caption: 'New Address 2',\n field_name: 'new_address2',\n display_order: 10,\n is_editable: true,\n },\n {\n caption: 'New City',\n field_name: 'new_city',\n display_order: 11,\n is_editable: true,\n },\n {\n caption: 'New State',\n field_name: 'new_state',\n display_order: 12,\n is_editable: true,\n },\n {\n caption: 'New Zip',\n field_name: 'new_zip',\n display_order: 13,\n is_editable: true,\n },\n {\n caption: 'Address 1',\n field_name: 'address1',\n display_order: 14,\n is_editable: false,\n },\n {\n caption: 'Address 2',\n field_name: 'address2',\n display_order: 15,\n is_editable: false,\n },\n {\n caption: 'City',\n field_name: 'city',\n display_order: 16,\n is_editable: false,\n },\n {\n caption: 'State',\n field_name: 'state',\n display_order: 17,\n is_editable: false,\n },\n {\n caption: 'Zip',\n field_name: 'zip',\n display_order: 18,\n is_editable: false,\n },\n {\n caption: 'SSN',\n field_name: 'social_security_number',\n display_order: 20,\n is_editable: false,\n },\n {\n caption: 'Email',\n field_name: 'email',\n display_order: 21,\n is_editable: true,\n },\n {\n caption: 'Primary Group',\n field_name: 'primary_group',\n display_order: 22,\n is_editable: true,\n },\n {\n caption: 'Secondary Group',\n field_name: 'secondary_group',\n display_order: 23,\n is_editable: true,\n },\n {\n caption: 'VText1',\n field_name: 'v_text1',\n display_order: 24,\n is_editable: true,\n },\n {\n caption: 'VText2',\n field_name: 'v_text2',\n display_order: 25,\n is_editable: true,\n },\n {\n caption: 'VText3',\n field_name: 'v_text3',\n display_order: 26,\n is_editable: true,\n },\n {\n caption: 'VText4',\n field_name: 'v_text4',\n display_order: 27,\n is_editable: true,\n },\n {\n caption: 'VText5',\n field_name: 'v_text5',\n display_order: 28,\n is_editable: true,\n },\n {\n caption: 'VText6',\n field_name: 'v_text6',\n display_order: 29,\n is_editable: true,\n },\n ];\n showConfirmDelete = false;\n recordToDelete = 0;\n emptyCustomerChangeOfAddress = {\n id: '',\n customer_identifier: '',\n sid: '',\n manual_exception_type: '',\n address_update: '',\n first_name: '',\n middle_name: '',\n last_name: '',\n suffix: '',\n new_address1: '',\n new_address2: '',\n new_city: '',\n new_state: '',\n new_zip: '',\n address1: '',\n address2: '',\n city: '',\n state: '',\n zip: '',\n social_security_number: '',\n email: '',\n primary_group: '',\n secondary_group: '',\n v_text1: '',\n v_text2: '',\n v_text3: '',\n v_text4: '',\n v_text5: '',\n v_text6: '',\n text1: '',\n text2: '',\n text3: '',\n text4: '',\n text5: '',\n text6: '',\n text7: '',\n text8: '',\n text9: '',\n text10: '',\n text11: '',\n text12: '',\n text13: '',\n text14: '',\n text15: '',\n text16: '',\n text17: '',\n text18: '',\n text19: '',\n text20: '',\n text21: '',\n text22: '',\n text23: '',\n text24: '',\n text25: '',\n text26: '',\n text27: '',\n text28: '',\n text29: '',\n text30: '',\n text31: '',\n text32: '',\n text33: '',\n text34: '',\n text35: '',\n text36: '',\n text37: '',\n text38: '',\n text39: '',\n text40: '',\n date_time1: new Date(),\n date_time2: new Date(),\n date_time3: new Date(),\n date_time4: new Date(),\n date_time5: new Date(),\n date_time6: new Date(),\n date_time7: new Date(),\n date_time8: new Date(),\n date_time9: new Date(),\n date_time10: new Date(),\n number1: 0,\n number2: 0,\n number3: 0,\n number4: 0,\n number5: 0,\n number6: 0,\n number7: 0,\n number8: 0,\n number9: 0,\n number10: 0,\n boolean1: false,\n boolean2: false,\n boolean3: false,\n boolean4: false,\n boolean5: false,\n boolean6: false,\n boolean7: false,\n boolean8: false,\n boolean9: false,\n boolean10: false,\n };\n public formGroupMap = new Map();\n\n @ViewChild('form') form: NgForm | undefined;\n @ViewChild('nativeForm') nativeForm!: ElementRef;\n @ViewChild(GridComponent) grid!: GridComponent;\n\n @Input() editable = '1';\n searchSubject: Subject = new Subject();\n\n engagement_entity!: any;\n\n constructor(\n public router: Router,\n private _activatedRoute: ActivatedRoute,\n public memberService: MemberService,\n private kendoHelper: KendoGridHelper,\n private changeOfAddressService: ChangeOfAddressService,\n private dataOwnerService: DataOwnerService,\n public _stepsHelperService: StepsHelperService,\n public translate: TranslateService,\n public toastr: ToastrService,\n private ngZone: NgZone,\n private _dateHelper: DateHelper,\n private _storageService: StorageService\n ) {\n this.fetchEngagementEntity();\n this.loadWebTableData(0);\n _activatedRoute.params.subscribe((params) => {\n this.mode = params['mode'] ?? '';\n if ((this.mode && this.mode === 'edit') || this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n this.makeWebMySelection();\n });\n this.searchSubject.pipe(debounceTime(500)).subscribe(() => {\n this.getData();\n });\n }\n\n fetchEngagementEntity() {\n let dataOwnerString = this._storageService.getLocalStorage(\n appConstants.DataOwner\n );\n let dataOwnerDetails = JSON.parse(dataOwnerString);\n this.engagement_entity = dataOwnerDetails?.engagement_entity;\n }\n\n ngOnInit(): void {\n if (this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n }\n\n // region api call to get data\n async loadWebTableData(pageNo: number) {\n var customerWebColumns =\n await this.dataOwnerService.fetchCustomerFileColumns();\n\n this.customerFields = [...this.standardFields];\n customerWebColumns\n .filter(\n (cf) =>\n cf.field_name.toLowerCase().startsWith('text') ||\n cf.field_name.toLowerCase().startsWith('datetime') ||\n cf.field_name.toLowerCase().startsWith('number') ||\n cf.field_name.toLowerCase().startsWith('boolean')\n )\n .forEach((ele: CustomerField) => {\n let snakeCaseFieldName = this.camelToSnakeCase(ele.field_name);\n if (\n !this.customerFields.find(\n (cf) => cf.field_name === snakeCaseFieldName\n )\n ) {\n ele.display_order = ele.display_order + 100; //offset from standard fields\n ele.field_name = snakeCaseFieldName;\n ele.is_editable = false;\n this.customerFields.push(ele);\n }\n });\n this.customerFields = this.customerFields.sort(\n (a, b) => a.display_order - b.display_order\n );\n await this.getData();\n }\n\n searchAllColumns(event: KeyboardEvent) {\n if (\n this.searchQuery != null &&\n this.searchQuery != '' &&\n this.searchQuery.length >= 3\n ) {\n this.gridState.skip = 0;\n this.searchSubject.next();\n }\n\n //prevent form submission\n if (event.key === 'Enter') event.preventDefault();\n }\n\n updateFilterTypesOfColumns(gridColumnsArray: any) {\n gridColumnsArray.forEach((column: any) => {\n let columnDataType = this.getDataTypeOfCustomerField(column.field);\n if (columnDataType == 'string') column.filter = 'text';\n else if (columnDataType == 'number') column.filter = 'numeric';\n else column.filter = columnDataType;\n });\n return gridColumnsArray;\n }\n\n async getData() {\n // Setting datatype to filter in kendohelper as we cannot set dynamic filter types to kendogrid\n let gridColumnsArray = this.updateFilterTypesOfColumns(\n this.grid?.columns?.toArray()\n );\n\n const filter = this.getPageApiWhereClause(\n this.gridState?.filter,\n gridColumnsArray,\n this.searchQuery\n );\n const sort = this.kendoHelper.getSortString(this.gridState?.sort);\n try {\n this.loadingData = true;\n let response =\n await this.changeOfAddressService.pageCustomerChangeOfAddresses(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n filter\n );\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n this.createFormArray(response.data);\n } catch (err) {\n } finally {\n this.loadingData = false;\n this.fitColumns();\n }\n }\n\n public search() {\n if (this.timeout) clearTimeout(this.timeout);\n this.gridState.skip = 0;\n this.timeout = setTimeout(async () => {\n await this.getData();\n }, 500);\n }\n\n createFormArray(data: ChangeOfAddress[]) {\n let index = 0;\n data.forEach((item) => {\n this.formGroupMap.set(index, this.createFormGroup(item));\n index++;\n });\n }\n\n formatDateTimeValue(value: any) {\n return this._dateHelper.formatShortDate(value);\n }\n\n // endregion\n\n // region Grid Open/Close/fit\n\n openFullWindow() {\n this.router.navigate(['/ncoa-table/full']);\n }\n\n closeFullWindow() {\n this.router.navigate(['/ncoa-review/web']);\n }\n\n private fitColumns(): void {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.kendoHelper.fitColumns(this.grid);\n });\n }\n\n // endregion\n\n // region Grid State change\n\n public getFormControl(index: number, field: string): any {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n let formGroup = this.formGroupMap.get(index);\n return formGroup?.controls[field];\n }\n\n public isValidFormGroup(index: number) {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n\n let formGroup = this.formGroupMap.get(index);\n formGroup?.markAllAsTouched();\n return formGroup?.valid;\n }\n\n public editHandler({ sender, rowIndex, dataItem }: EditEvent): void {\n //this.formGroup = this.createFormGroup(dataItem);\n }\n\n // Create form group with the same keys as the grid columns.\n createFormGroup(dataItem: any) {\n const group: any = {};\n\n group['id'] = new FormControl(dataItem.id);\n this.customerFields.forEach((column: CustomerField) => {\n let validators = [];\n if (column.is_required) {\n validators.push(Validators.required);\n }\n if (column.validation_regex) {\n validators.push(Validators.pattern(column.validation_regex));\n }\n\n if (this.getDataTypeOfCustomerField(column.field_name) == 'date') {\n dataItem[column.field_name] = this._dateHelper.formatShortDate(\n dataItem[column.field_name]\n );\n }\n\n if (validators.length > 0)\n group[column.field_name] = new FormControl(\n dataItem[column.field_name],\n validators\n );\n else\n group[column.field_name] = new FormControl(dataItem[column.field_name]);\n });\n return new FormGroup(group);\n }\n\n public async onStateChange(state: State) {\n this.gridState = state;\n await this.getData();\n this.fitColumns();\n }\n\n // endregion\n // region Cell Click and edit hanlders\n public cellClickHandler(args: CellClickEvent) {\n if (\n !args.isEdited &&\n this.editCellRowIndex !== -1 &&\n args.column.field &&\n args.column.editable &&\n !this.isReview\n ) {\n //field bound to column i.e. not the actions / breach data columns\n this.editCellRowIndex = args.rowIndex;\n this.editCellColumnIndex = args.columnIndex;\n\n let currentFormGroup = this.createFormGroup(args.dataItem);\n args.sender.editCell(args.rowIndex, args.columnIndex, {\n ...currentFormGroup,\n });\n }\n }\n\n public async cellCloseHandler(args: CellCloseEvent) {\n if (!this.isValidFormGroup(args.rowIndex)) {\n // prevent closing the edited cell if there are invalid values.\n args.preventDefault();\n } else if (\n args.dataItem != undefined &&\n args.dataItem != undefined &&\n args.dataItem[args.column.field] !==\n this.getFormControl(args.rowIndex, args.column.field).value\n ) {\n try {\n this.loadingData = true;\n //args.dataItem.values['is_original'] = false;\n\n args.dataItem[args.column.field] = this.getFormControl(\n args.rowIndex,\n args.column.field\n ).value;\n\n let currentStepStatus =\n this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n let updateStepPromise = this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.IN_PROGRESS\n );\n let savePromise = this.changeOfAddressService.save(args.dataItem);\n await Promise.all([savePromise, updateStepPromise]);\n } else {\n await this.changeOfAddressService.save(args.dataItem);\n }\n\n await this.getData();\n\n this.hasChangeAudit = true;\n this.emitOnDataChanged.emit(true);\n } catch {\n this.toastr.error(\n await this.translate.get('globaltext.WebTableSaveError').toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n //If cell being closed is not the one currently being edited, reopen the one being edited after saving / reloading data\n //This is a hack to mimic a tab-like navigation in the editable grid\n }\n }\n\n if (\n this.editCellColumnIndex >= 0 &&\n this.editCellRowIndex >= 0 &&\n (this.editCellRowIndex !== args.rowIndex ||\n this.editCellColumnIndex !== args.column.leafIndex)\n ) {\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n }\n\n public closeEditor() {\n this.editCellRowIndex = 0;\n this.editCellColumnIndex = 0;\n this.grid.closeCell();\n this.grid.closeRow();\n }\n\n public editNextCell(event: Event) {\n if (!this.isValidFormGroup(this.editCellRowIndex)) {\n event.preventDefault();\n return;\n }\n let targetElement = event.target as HTMLInputElement;\n if (targetElement.reportValidity()) {\n //Only increment if form passes validation & isn't a new row\n if (this.editCellRowIndex > -1) {\n event.preventDefault();\n this.grid.closeCell();\n this.grid.closeRow();\n\n let nextColumnToEdit = this.customerFields.filter(\n (c: any) =>\n c.display_order > this.editCellColumnIndex && c.is_editable\n );\n if (nextColumnToEdit.length > 0) {\n this.editCellColumnIndex = nextColumnToEdit[0].display_order;\n } else {\n this.editCellRowIndex++;\n let firstColumnToEdit = this.customerFields.filter(\n (c: any) => c.is_editable\n );\n if (firstColumnToEdit.length > 0) {\n this.editCellColumnIndex = firstColumnToEdit[0].display_order;\n }\n }\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n } else {\n event.preventDefault();\n }\n }\n\n public async cancelHandler(args: CancelEvent) {\n if (args.isNew) {\n this.editCellRowIndex = -1;\n this.editCellColumnIndex = -1;\n this.formGroupMap.delete(-1);\n }\n this.closeEditor();\n }\n\n public dummySaveClick() {\n if (this.isValidFormGroup(this.editCellRowIndex)) {\n this.emitOnDataChanged.emit(true);\n this.closeEditor();\n }\n }\n\n get invalid() {\n for (let formGroup of this.formGroupMap.values()) {\n if (formGroup.invalid) return true;\n }\n return false;\n }\n\n // endregion\n\n // region helpers\n camelToSnakeCase(str: any) {\n str = str[0].toLowerCase() + str.substr(1);\n str = str.replace(/[A-Z]/g, (letter: any) => `_${letter.toLowerCase()}`);\n return str;\n }\n\n getDataTypeOfCustomerField(field_name: string): string {\n let typeOfCustomerField = typeof (this.emptyCustomerChangeOfAddress as any)[\n field_name\n ];\n if (\n typeOfCustomerField == 'object' &&\n (this.emptyCustomerChangeOfAddress as any)[field_name] instanceof Date\n )\n return 'date';\n return typeOfCustomerField;\n }\n\n getPageApiWhereClause(\n gridFilter: CompositeFilterDescriptor,\n gridColumns: ColumnBase[],\n searchText: string\n ) {\n let filter = this.getFullFilterString(gridFilter);\n if (searchText && searchText.length >= 3) {\n let searchFilter = this.getSearchAllColumnsFilter(\n searchText,\n gridColumns\n );\n if (filter) {\n filter = `${filter} AND (${searchFilter})`;\n } else {\n filter = searchFilter;\n }\n }\n return filter;\n }\n\n getFullFilterString(filter: CompositeFilterDescriptor) {\n let result = undefined;\n if (filter) {\n for (var i = 0; i < filter.filters.length; i++) {\n let compositeFilter = filter.filters[i] as CompositeFilterDescriptor;\n for (var j = 0; j < compositeFilter.filters.length; j++) {\n let singleFilter = compositeFilter.filters[j] as FilterDescriptor;\n let field = 'customer.' + singleFilter.field;\n if (\n this.standardFields.find(\n (cf) => cf.field_name == singleFilter.field\n )\n ) {\n field = 'changeOfAddress.' + singleFilter.field;\n }\n if (!result) {\n result = this.kendoHelper.getFilterString(\n this.kendoHelper.getDataFieldName(field),\n singleFilter.operator as string,\n singleFilter.value\n );\n } else {\n result += ` ${\n compositeFilter.logic\n } ${this.kendoHelper.getFilterString(\n this.kendoHelper.getDataFieldName(field),\n singleFilter.operator as string,\n singleFilter.value\n )}`;\n }\n }\n }\n }\n return result;\n }\n\n getSearchAllColumnsFilter(text: any, columns: ColumnBase[]): string {\n let searchFilter = '';\n let numberRegex = new RegExp('[0-9]{1,}[.0-9]?');\n for (let column of columns) {\n let columnComponent = column as ColumnComponent;\n if (columnComponent.field) {\n let field = 'customer.' + columnComponent.field;\n if (\n this.standardFields.find(\n (cf) => cf.field_name == columnComponent.field\n )\n ) {\n field = 'changeOfAddress.' + columnComponent.field;\n }\n let columnName = this.kendoHelper.getDataFieldName(field);\n if (columnComponent.filter === 'text') {\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.kendoHelper.getFilterString(columnName, 'contains', text);\n }\n if (columnComponent.filter === 'numeric') {\n if (numberRegex.test(text) && parseInt(text) > 0)\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.kendoHelper.getFilterString(\n columnName,\n 'eq',\n parseInt(text)\n );\n }\n }\n }\n return searchFilter;\n }\n\n async makeWebMySelection() {\n let data = {\n display_selection: 'web',\n };\n if (this.router.url.indexOf('ncoa-review') > -1) {\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (currentStep.data != null) {\n data = JSON.parse(currentStep.data);\n data.display_selection = 'web';\n }\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n currentStep.step_status_id === STEP_STATUS.PENDING\n ? STEP_STATUS.VIEWED\n : null,\n data\n );\n }\n }\n\n public async removeHandler(args: RemoveEvent) {\n this.recordToDelete = 0;\n if (!args.isNew) {\n this.recordToDelete = args.dataItem['id'];\n this.showConfirmDelete = true;\n }\n }\n\n public async emittedConfirmDelete(event: any) {\n this.showConfirmDelete = false;\n if (event) {\n this.loadingData = true;\n try {\n await this.changeOfAddressService.delete(this.recordToDelete);\n this.emitOnDataChanged.emit(true);\n await this.getData();\n } catch {\n this.toastr.error(\n await this.translate\n .get('globaltext.WebTableRemoveError')\n .toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n }\n }\n }\n}\n","
\n
\n
\n \n \n
\n
\n \n search \n
\n
\n \n open_in_new\n {{\n \"globaltext.ViewInFullWindowButton\" | translate\n }}\n \n \n \n {{\n \"globaltext.CloseFullWindowButton\" | translate\n }}\n \n
\n
\n
\n \n \n \n Save\n \n \n Remove\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n *\n !\n
\n
\n \n \n \n \n {{ dataItem[customerField.field_name] }}\n

\n \n {{ formatDateTimeValue(dataItem[customerField.field_name]) }}\n

\n \n \n \n \n
\n\n\n","import { Component, OnInit } from '@angular/core';\nimport {\n CustomerDownloadProcessingStatus,\n CustomerExceptionService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-review-customer-exceptions-file',\n templateUrl: './review-customer-exceptions-file.component.html',\n styleUrls: ['./review-customer-exceptions-file.component.scss'],\n})\nexport class ReviewCustomerExceptionsFileComponent implements OnInit {\n public loadedTip = '';\n error = '';\n currentDataOwner: any;\n fileType: string = 'xlsx';\n interval: any;\n fileGenerationStatus!: CustomerDownloadProcessingStatus;\n constructor(\n private _stepsHelperService: StepsHelperService,\n private _customerExceptionService: CustomerExceptionService,\n private _loadingService: LoadingService\n ) {}\n\n async ngOnInit(): Promise {\n this._loadingService.show();\n try {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n await this.makeFileAsMySelection();\n this.fileGenerationStatus =\n await this._customerExceptionService.getFileGenerationStatus();\n } catch (err: any) {\n console.error(err);\n } finally {\n this._loadingService.hide();\n }\n\n this.pollForStatusUntilComplete();\n }\n\n async makeFileAsMySelection() {\n let data = {\n display_selection: 'file',\n };\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n if (currentStep.data != null) {\n data = JSON.parse(currentStep.data);\n data.display_selection = 'file';\n }\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n null,\n data\n );\n }\n\n async downloadFile() {\n this.error = '';\n this._loadingService.show();\n try {\n this.fileType = (\n await this._customerExceptionService.getDownloadType()\n ).toLowerCase();\n if (this.fileType === 'xlsx') {\n let response = await this._customerExceptionService.downloadFile();\n this.processFileDownload(response);\n } else if (this.fileType === 'zip') {\n if (!this.fileGenerationStatus) {\n await this._customerExceptionService.startDataFileGeneration();\n this.fileGenerationStatus =\n await this._customerExceptionService.getFileGenerationStatus();\n this.pollForStatusUntilComplete();\n } else if (this.fileGenerationStatus?.percentage_complete > 100) {\n let response = await this._customerExceptionService.downloadZip(\n this.fileGenerationStatus.download_id\n );\n this.processFileDownload(response);\n }\n }\n } catch {\n this.error = 'Error while downloading file. Please contact support';\n }\n this._loadingService.hide();\n }\n\n async processFileDownload(response: any) {\n let downloadLink = document.createElement('a');\n downloadLink.setAttribute('download', 'DataFile.' + this.fileType);\n downloadLink.href = window.URL.createObjectURL(response.body);\n downloadLink.click();\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n\n if (\n currentStep.step_status_id !== STEP_STATUS.NO_UPDATES_REQUIRED &&\n currentStep.step_status_id !== STEP_STATUS.UPDATED &&\n currentStep.step_status_id !== STEP_STATUS.IN_PROGRESS\n ) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n STEP_STATUS.DOWNLOADED\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n }\n\n pollForStatusUntilComplete() {\n this.interval = setInterval(async () => {\n try {\n this.fileGenerationStatus =\n await this._customerExceptionService.getFileGenerationStatus();\n if (\n !this.fileGenerationStatus || //No status was returned -- no files actively being processed\n this.fileGenerationStatus.percentage_complete > 100 //File is complete, no need to keep polling\n ) {\n clearInterval(this.interval);\n }\n } catch (err: any) {\n console.error(err);\n }\n }, 15 * 1000);\n }\n}\n","
\n
\n {{\n \"globaltext.ExceptionFileGenerationInProgress\" | translate\n }}\n 100\">{{\n \"globaltext.ExceptionFileGenerationComplete\" | translate\n }}\n
\n
\n \n
\n
\n\n
\n \n {{ \"globaltext.DownloadButton\" | translate }}\n \n
\n
\n \n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { FormGroup, NgForm, FormControl, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport {\n CustomerField,\n CustomerChangeOfAddress,\n ChangeOfAddressService,\n DataOwnerService,\n STEP_STATUS,\n ChangeOfAddress,\n CustomerExceptionCustomFields,\n CustomerExceptionService,\n CustomerException,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n GridDataResult,\n GridComponent,\n EditEvent,\n CellClickEvent,\n CellCloseEvent,\n CancelEvent,\n ColumnBase,\n ColumnComponent,\n} from '@progress/kendo-angular-grid';\nimport {\n State,\n CompositeFilterDescriptor,\n FilterDescriptor,\n} from '@progress/kendo-data-query';\nimport { ToastrService } from 'ngx-toastr';\nimport { Subject } from 'rxjs';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { DateHelper } from 'src/app/helpers/date.helper';\nimport { KendoGridHelper } from 'src/app/helpers/kendo-grid-helper';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-review-customer-exceptions-web',\n templateUrl: './review-customer-exceptions-web.component.html',\n styleUrls: ['./review-customer-exceptions-web.component.scss'],\n})\nexport class ReviewCustomerExceptionsWebComponent implements OnInit {\n @Output() emitOnDataChanged: EventEmitter =\n new EventEmitter();\n @Output() emitOnNoExceptions: EventEmitter =\n new EventEmitter();\n mode = '';\n totalItems: any;\n gridData!: GridDataResult;\n public gridState: any = {\n sort: [\n {\n field: 'exception.CustomerIdentifier',\n dir: 'asc',\n },\n ],\n skip: 0,\n take: 25,\n };\n searchQuery!: string;\n timeout: any;\n mobileDevice!: boolean;\n editCellRowIndex: number = 0;\n editCellColumnIndex: number = 0;\n isSavingAudit!: boolean;\n booleanTrue = true;\n booleanFalse = false;\n hasChangeAudit: boolean = false;\n loadingData: boolean = true;\n isReview = true;\n customerFields!: CustomerField[];\n standardFields: CustomerField[] = [\n {\n caption: 'SID',\n field_name: 'sid',\n display_order: 1,\n is_editable: false,\n },\n {\n caption: 'ClientID',\n field_name: 'customer_identifier',\n display_order: 2,\n is_editable: false,\n },\n {\n caption: 'SSN',\n field_name: 'social_security_number',\n display_order: 3,\n is_editable: false,\n },\n {\n caption: 'First Name',\n field_name: 'first_name',\n display_order: 5,\n is_editable: true,\n },\n {\n caption: 'Middle Name',\n field_name: 'middle_name',\n display_order: 6,\n is_editable: true,\n },\n {\n caption: 'Last Name',\n field_name: 'last_name',\n display_order: 7,\n is_editable: true,\n },\n {\n caption: 'Suffix',\n field_name: 'suffix',\n display_order: 8,\n is_editable: true,\n },\n {\n caption: 'Address 1',\n field_name: 'address1',\n display_order: 14,\n is_editable: true,\n },\n {\n caption: 'Address 2',\n field_name: 'address2',\n display_order: 15,\n is_editable: true,\n },\n {\n caption: 'City',\n field_name: 'city',\n display_order: 16,\n is_editable: true,\n },\n {\n caption: 'State',\n field_name: 'region',\n display_order: 17,\n is_editable: true,\n },\n {\n caption: 'Zip',\n field_name: 'postal_code',\n display_order: 18,\n is_editable: true,\n },\n {\n caption: 'Primary Group',\n field_name: 'primary_group',\n display_order: 22,\n is_editable: true,\n },\n {\n caption: 'VText1',\n field_name: 'v_text1',\n display_order: 24,\n is_editable: true,\n },\n {\n caption: 'VText2',\n field_name: 'v_text2',\n display_order: 25,\n is_editable: true,\n },\n {\n caption: 'VText3',\n field_name: 'v_text3',\n display_order: 26,\n is_editable: true,\n },\n {\n caption: 'VText4',\n field_name: 'v_text4',\n display_order: 27,\n is_editable: true,\n },\n {\n caption: 'VText5',\n field_name: 'v_text5',\n display_order: 28,\n is_editable: true,\n },\n {\n caption: 'VText6',\n field_name: 'v_text6',\n display_order: 29,\n is_editable: true,\n },\n {\n caption: 'Exception Type',\n field_name: 'exception_type',\n display_order: 29,\n is_editable: false,\n },\n {\n caption: 'Client Action',\n field_name: 'client_action',\n display_order: 300,\n is_editable: true,\n },\n ];\n showConfirmDelete = false;\n recordToDelete = 0;\n emptyCustomerChangeOfAddress = {\n id: '',\n engagement_id: '',\n customer_identifier: '',\n sid: '',\n client_action: '',\n exception_type: '',\n first_name: '',\n middle_name: '',\n last_name: '',\n suffix: '',\n address1: '',\n address2: '',\n city: '',\n region: '',\n postal_code: '',\n social_security_number: '',\n primary_group: '',\n v_text1: '',\n v_text2: '',\n v_text3: '',\n v_text4: '',\n v_text5: '',\n v_text6: '',\n text1: '',\n text2: '',\n text3: '',\n text4: '',\n text5: '',\n text6: '',\n text7: '',\n text8: '',\n text9: '',\n text10: '',\n text11: '',\n text12: '',\n text13: '',\n text14: '',\n text15: '',\n text16: '',\n text17: '',\n text18: '',\n text19: '',\n text20: '',\n text21: '',\n text22: '',\n text23: '',\n text24: '',\n text25: '',\n text26: '',\n text27: '',\n text28: '',\n text29: '',\n text30: '',\n text31: '',\n text32: '',\n text33: '',\n text34: '',\n text35: '',\n text36: '',\n text37: '',\n text38: '',\n text39: '',\n text40: '',\n date_time1: new Date(),\n date_time2: new Date(),\n date_time3: new Date(),\n date_time4: new Date(),\n date_time5: new Date(),\n date_time6: new Date(),\n date_time7: new Date(),\n date_time8: new Date(),\n date_time9: new Date(),\n date_time10: new Date(),\n number1: 0,\n number2: 0,\n number3: 0,\n number4: 0,\n number5: 0,\n number6: 0,\n number7: 0,\n number8: 0,\n number9: 0,\n number10: 0,\n boolean1: false,\n boolean2: false,\n boolean3: false,\n boolean4: false,\n boolean5: false,\n boolean6: false,\n boolean7: false,\n boolean8: false,\n boolean9: false,\n boolean10: false,\n };\n public formGroupMap = new Map();\n public clientActions: string[] = [\n 'Do not enroll',\n 'Enroll as-is',\n 'Edit/Updated',\n ];\n\n @ViewChild('form') form: NgForm | undefined;\n @ViewChild('nativeForm') nativeForm!: ElementRef;\n @ViewChild(GridComponent) grid!: GridComponent;\n\n @Input() editable = '1';\n searchSubject: Subject = new Subject();\n\n engagement_entity!: any;\n\n constructor(\n public router: Router,\n private _activatedRoute: ActivatedRoute,\n public memberService: MemberService,\n private kendoHelper: KendoGridHelper,\n private customerExceptionService: CustomerExceptionService,\n private dataOwnerService: DataOwnerService,\n public _stepsHelperService: StepsHelperService,\n public translate: TranslateService,\n public toastr: ToastrService,\n private ngZone: NgZone,\n private _dateHelper: DateHelper,\n private _storageService: StorageService\n ) {\n this.fetchEngagementEntity();\n this.loadWebTableData(0);\n _activatedRoute.params.subscribe((params) => {\n this.mode = params['mode'] ?? '';\n if ((this.mode && this.mode === 'edit') || this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n this.makeWebMySelection();\n });\n this.searchSubject.pipe(debounceTime(500)).subscribe(() => {\n this.getData();\n });\n }\n\n fetchEngagementEntity() {\n let dataOwnerString = this._storageService.getLocalStorage(\n appConstants.DataOwner\n );\n let dataOwnerDetails = JSON.parse(dataOwnerString);\n this.engagement_entity = dataOwnerDetails?.engagement_entity;\n }\n\n ngOnInit(): void {\n if (this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n }\n\n // region api call to get data\n async loadWebTableData(pageNo: number) {\n var customerWebColumns =\n await this.dataOwnerService.fetchCustomerFileColumns();\n\n this.customerFields = [...this.standardFields];\n customerWebColumns\n .filter(\n (cf) =>\n cf.field_name.toLowerCase().startsWith('text') ||\n cf.field_name.toLowerCase().startsWith('datetime') ||\n cf.field_name.toLowerCase().startsWith('number') ||\n cf.field_name.toLowerCase().startsWith('boolean')\n )\n .forEach((ele: CustomerField) => {\n let snakeCaseFieldName = this.camelToSnakeCase(ele.field_name);\n if (\n !this.customerFields.find(\n (cf) => cf.field_name === snakeCaseFieldName\n )\n ) {\n ele.display_order = ele.display_order + 100; //offset from standard fields\n ele.field_name = snakeCaseFieldName;\n ele.is_editable = false;\n this.customerFields.push(ele);\n }\n });\n this.customerFields = this.customerFields.sort(\n (a, b) => a.display_order - b.display_order\n );\n await this.getData();\n }\n\n searchAllColumns(event: KeyboardEvent) {\n if (\n this.searchQuery != null &&\n this.searchQuery != '' &&\n this.searchQuery.length >= 3\n ) {\n this.gridState.skip = 0;\n this.searchSubject.next();\n }\n\n //prevent form submission\n if (event.key === 'Enter') event.preventDefault();\n }\n\n updateFilterTypesOfColumns(gridColumnsArray: any) {\n gridColumnsArray.forEach((column: any) => {\n let columnDataType = this.getDataTypeOfCustomerField(column.field);\n if (columnDataType == 'string') column.filter = 'text';\n else if (columnDataType == 'number') column.filter = 'numeric';\n else column.filter = columnDataType;\n });\n return gridColumnsArray;\n }\n\n async getData() {\n // Setting datatype to filter in kendohelper as we cannot set dynamic filter types to kendogrid\n let gridColumnsArray = this.updateFilterTypesOfColumns(\n this.grid?.columns?.toArray()\n );\n\n const filter = this.getPageApiWhereClause(\n this.gridState?.filter,\n gridColumnsArray,\n this.searchQuery\n );\n const sort = this.kendoHelper.getSortString(this.gridState?.sort);\n try {\n this.loadingData = true;\n let response = await this.customerExceptionService.pageCustomerExceptions(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n filter\n );\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n\n if (this.gridData.total == 0) {\n this.emitOnNoExceptions.emit(true);\n }\n\n this.createFormArray(response.data);\n } catch (err) {\n } finally {\n this.loadingData = false;\n this.fitColumns();\n }\n }\n\n public search() {\n if (this.timeout) clearTimeout(this.timeout);\n this.gridState.skip = 0;\n this.timeout = setTimeout(async () => {\n await this.getData();\n }, 500);\n }\n\n createFormArray(data: CustomerException[]) {\n let index = 0;\n data.forEach((item) => {\n this.formGroupMap.set(index, this.createFormGroup(item));\n index++;\n });\n }\n\n formatDateTimeValue(value: any) {\n return this._dateHelper.formatShortDate(value);\n }\n\n // endregion\n\n // region Grid Open/Close/fit\n\n openFullWindow() {\n this.router.navigate(['/exceptions-table/full']);\n }\n\n closeFullWindow() {\n this.router.navigate(['/exceptions-review/web']);\n }\n\n private fitColumns(): void {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.kendoHelper.fitColumns(this.grid);\n });\n }\n\n // endregion\n\n // region Grid State change\n\n public getFormControl(index: number, field: string): any {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n let formGroup = this.formGroupMap.get(index);\n return formGroup?.controls[field];\n }\n\n public isValidFormGroup(index: number) {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n\n let formGroup = this.formGroupMap.get(index);\n formGroup?.markAllAsTouched();\n return formGroup?.valid;\n }\n\n public editHandler({ sender, rowIndex, dataItem }: EditEvent): void {\n //this.formGroup = this.createFormGroup(dataItem);\n }\n\n // Create form group with the same keys as the grid columns.\n createFormGroup(dataItem: any) {\n const group: any = {};\n\n group['id'] = new FormControl(dataItem.id);\n this.customerFields.forEach((column: CustomerField) => {\n let validators = [];\n if (column.is_required) {\n validators.push(Validators.required);\n }\n if (column.validation_regex) {\n validators.push(Validators.pattern(column.validation_regex));\n }\n\n if (this.getDataTypeOfCustomerField(column.field_name) == 'date') {\n dataItem[column.field_name] = this._dateHelper.formatShortDate(\n dataItem[column.field_name]\n );\n }\n\n if (validators.length > 0)\n group[column.field_name] = new FormControl(\n dataItem[column.field_name],\n validators\n );\n else\n group[column.field_name] = new FormControl(dataItem[column.field_name]);\n });\n return new FormGroup(group);\n }\n\n public async onStateChange(state: State) {\n this.gridState = state;\n await this.getData();\n this.fitColumns();\n }\n\n // endregion\n // region Cell Click and edit hanlders\n public cellClickHandler(args: CellClickEvent) {\n if (\n !args.isEdited &&\n this.editCellRowIndex !== -1 &&\n args.column.field &&\n args.column.editable &&\n !this.isReview\n ) {\n //field bound to column i.e. not the actions / breach data columns\n this.editCellRowIndex = args.rowIndex;\n this.editCellColumnIndex = args.columnIndex;\n\n let currentFormGroup = this.createFormGroup(args.dataItem);\n args.sender.editCell(args.rowIndex, args.columnIndex, {\n ...currentFormGroup,\n });\n }\n }\n\n public async cellCloseHandler(args: CellCloseEvent) {\n if (!this.isValidFormGroup(args.rowIndex)) {\n // prevent closing the edited cell if there are invalid values.\n args.preventDefault();\n } else if (\n args.dataItem != undefined &&\n args.dataItem != undefined &&\n args.dataItem[args.column.field] !==\n this.getFormControl(args.rowIndex, args.column.field).value\n ) {\n try {\n this.loadingData = true;\n //args.dataItem.values['is_original'] = false;\n\n args.dataItem[args.column.field] = this.getFormControl(\n args.rowIndex,\n args.column.field\n ).value;\n if (args.column.field !== 'client_action') {\n //Automatically set this field if updating a different field\n args.dataItem['client_action'] = 'Edit/Updated';\n }\n\n let currentStepStatus =\n this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n let updateStepPromise = this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n STEP_STATUS.IN_PROGRESS\n );\n let savePromise = this.customerExceptionService.save(args.dataItem);\n await Promise.all([savePromise, updateStepPromise]);\n } else {\n await this.customerExceptionService.save(args.dataItem);\n }\n\n await this.getData();\n\n this.hasChangeAudit = true;\n this.emitOnDataChanged.emit(true);\n } catch {\n this.toastr.error(\n await this.translate.get('globaltext.WebTableSaveError').toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n //If cell being closed is not the one currently being edited, reopen the one being edited after saving / reloading data\n //This is a hack to mimic a tab-like navigation in the editable grid\n }\n }\n\n if (\n this.editCellColumnIndex >= 0 &&\n this.editCellRowIndex >= 0 &&\n (this.editCellRowIndex !== args.rowIndex ||\n this.editCellColumnIndex !== args.column.leafIndex)\n ) {\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n }\n\n public closeEditor() {\n this.editCellRowIndex = 0;\n this.editCellColumnIndex = 0;\n this.grid.closeCell();\n this.grid.closeRow();\n }\n\n public editNextCell(event: Event) {\n if (!this.isValidFormGroup(this.editCellRowIndex)) {\n event.preventDefault();\n return;\n }\n let targetElement = event.target as HTMLInputElement;\n if (targetElement.reportValidity()) {\n //Only increment if form passes validation & isn't a new row\n if (this.editCellRowIndex > -1) {\n event.preventDefault();\n this.grid.closeCell();\n this.grid.closeRow();\n\n let nextColumnToEdit = this.customerFields.filter(\n (c: any) =>\n c.display_order > this.editCellColumnIndex && c.is_editable\n );\n if (nextColumnToEdit.length > 0) {\n this.editCellColumnIndex = nextColumnToEdit[0].display_order;\n } else {\n this.editCellRowIndex++;\n let firstColumnToEdit = this.customerFields.filter(\n (c: any) => c.is_editable\n );\n if (firstColumnToEdit.length > 0) {\n this.editCellColumnIndex = firstColumnToEdit[0].display_order;\n }\n }\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n } else {\n event.preventDefault();\n }\n }\n\n public async cancelHandler(args: CancelEvent) {\n if (args.isNew) {\n this.editCellRowIndex = -1;\n this.editCellColumnIndex = -1;\n this.formGroupMap.delete(-1);\n }\n this.closeEditor();\n }\n\n public dummySaveClick() {\n if (this.isValidFormGroup(this.editCellRowIndex)) {\n this.emitOnDataChanged.emit(true);\n this.closeEditor();\n }\n }\n\n get invalid() {\n for (let formGroup of this.formGroupMap.values()) {\n if (formGroup.invalid) return true;\n }\n return false;\n }\n\n // endregion\n\n // region helpers\n camelToSnakeCase(str: any) {\n str = str[0].toLowerCase() + str.substr(1);\n str = str.replace(/[A-Z]/g, (letter: any) => `_${letter.toLowerCase()}`);\n return str;\n }\n\n getDataTypeOfCustomerField(field_name: string): string {\n let typeOfCustomerField = typeof (this.emptyCustomerChangeOfAddress as any)[\n field_name\n ];\n if (\n typeOfCustomerField == 'object' &&\n (this.emptyCustomerChangeOfAddress as any)[field_name] instanceof Date\n )\n return 'date';\n return typeOfCustomerField;\n }\n\n getPageApiWhereClause(\n gridFilter: CompositeFilterDescriptor,\n gridColumns: ColumnBase[],\n searchText: string\n ) {\n let filter = this.getFullFilterString(gridFilter);\n if (searchText && searchText.length >= 3) {\n let searchFilter = this.getSearchAllColumnsFilter(\n searchText,\n gridColumns\n );\n if (filter) {\n filter = `${filter} AND (${searchFilter})`;\n } else {\n filter = searchFilter;\n }\n }\n return filter;\n }\n\n getFullFilterString(filter: CompositeFilterDescriptor) {\n let result = undefined;\n if (filter) {\n for (var i = 0; i < filter.filters.length; i++) {\n let compositeFilter = filter.filters[i] as CompositeFilterDescriptor;\n for (var j = 0; j < compositeFilter.filters.length; j++) {\n let singleFilter = compositeFilter.filters[j] as FilterDescriptor;\n let field = 'customer.' + singleFilter.field;\n if (\n this.standardFields.find(\n (cf) => cf.field_name == singleFilter.field\n )\n ) {\n field = 'exception.' + singleFilter.field;\n }\n if (!result) {\n result = this.kendoHelper.getFilterString(\n this.kendoHelper.getDataFieldName(field),\n singleFilter.operator as string,\n singleFilter.value\n );\n } else {\n result += ` ${\n compositeFilter.logic\n } ${this.kendoHelper.getFilterString(\n this.kendoHelper.getDataFieldName(field),\n singleFilter.operator as string,\n singleFilter.value\n )}`;\n }\n }\n }\n }\n return result;\n }\n\n getSearchAllColumnsFilter(text: any, columns: ColumnBase[]): string {\n let searchFilter = '';\n let numberRegex = new RegExp('[0-9]{1,}[.0-9]?');\n for (let column of columns) {\n let columnComponent = column as ColumnComponent;\n if (columnComponent.field) {\n let field = 'customer.' + columnComponent.field;\n if (\n this.standardFields.find(\n (cf) => cf.field_name == columnComponent.field\n )\n ) {\n field = 'exception.' + columnComponent.field;\n }\n let columnName = this.kendoHelper.getDataFieldName(field);\n if (columnComponent.filter === 'text') {\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.kendoHelper.getFilterString(columnName, 'contains', text);\n }\n if (columnComponent.filter === 'numeric') {\n if (numberRegex.test(text) && parseInt(text) > 0)\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.kendoHelper.getFilterString(\n columnName,\n 'eq',\n parseInt(text)\n );\n }\n }\n }\n return searchFilter;\n }\n\n async makeWebMySelection() {\n let data = {\n display_selection: 'web',\n };\n if (this.router.url.indexOf('exceptions-review') > -1) {\n let currentStep = await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n if (currentStep.data != null) {\n data = JSON.parse(currentStep.data);\n data.display_selection = 'web';\n }\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n currentStep.step_status_id === STEP_STATUS.PENDING\n ? STEP_STATUS.VIEWED\n : null,\n data\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n }\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n search \n
\n
\n \n open_in_new\n {{\n \"globaltext.ViewInFullWindowButton\" | translate\n }}\n \n \n \n {{\n \"globaltext.CloseFullWindowButton\" | translate\n }}\n \n
\n
\n
\n \n \n \n Save\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n {{ clientAction }}\n \n \n \n
\n \n *\n !\n
\n
\n \n \n \n \n {{ dataItem[customerField.field_name] }}\n

\n \n {{ formatDateTimeValue(dataItem[customerField.field_name]) }}\n

\n \n \n \n \n \n\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n CustomerDownloadProcessingStatus,\n CustomerService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-review-file-download',\n templateUrl: './review-file-download.component.html',\n styleUrls: ['./review-file-download.component.scss'],\n})\nexport class ReviewFileDownloadComponent implements OnInit {\n public loadedTip = '';\n error = '';\n currentDataOwner: any;\n fileType: string = 'xlsx';\n interval: any;\n fileGenerationStatus!: CustomerDownloadProcessingStatus;\n constructor(\n private _stepsHelperService: StepsHelperService,\n private _customerService: CustomerService,\n private _loadingService: LoadingService\n ) {}\n\n async ngOnInit(): Promise {\n this._loadingService.show();\n try {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n await this.makeFileAsMySelection();\n this.fileGenerationStatus =\n await this._customerService.getFileGenerationStatus();\n } catch (err: any) {\n console.error(err);\n } finally {\n this._loadingService.hide();\n }\n\n this.pollForStatusUntilComplete();\n }\n\n async makeFileAsMySelection() {\n let data = {\n display_selection: 'file',\n };\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerReview,\n null,\n data\n );\n let customerUpdateStep =\n await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerUpdate\n );\n if (customerUpdateStep.data != null) {\n data = JSON.parse(customerUpdateStep.data);\n data.display_selection = 'file';\n }\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerUpdate,\n null,\n data\n );\n }\n\n async downloadFile() {\n this.error = '';\n this._loadingService.show();\n try {\n this.fileType = (\n await this._customerService.getDownloadType()\n ).toLowerCase();\n if (this.fileType === 'xlsx') {\n let response = await this._customerService.downloadFile();\n this.processFileDownload(response);\n } else if (this.fileType === 'zip') {\n if (!this.fileGenerationStatus) {\n await this._customerService.startDataFileGeneration();\n this.fileGenerationStatus =\n await this._customerService.getFileGenerationStatus();\n this.pollForStatusUntilComplete();\n } else if (this.fileGenerationStatus?.percentage_complete > 100) {\n let response = await this._customerService.downloadZip(\n this.fileGenerationStatus.download_id\n );\n this.processFileDownload(response);\n }\n }\n } catch (err: any) {\n this.error = 'Error while downloading file. Please contact support';\n }\n this._loadingService.hide();\n }\n\n async processFileDownload(response: any) {\n let downloadLink = document.createElement('a');\n downloadLink.setAttribute('download', 'DataFile.' + this.fileType);\n downloadLink.href = window.URL.createObjectURL(response.body);\n downloadLink.click();\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerReview,\n STEP_STATUS.DOWNLOADED\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n pollForStatusUntilComplete() {\n this.interval = setInterval(async () => {\n try {\n this.fileGenerationStatus =\n await this._customerService.getFileGenerationStatus();\n if (\n !this.fileGenerationStatus || //No status was returned -- no files actively being processed\n this.fileGenerationStatus.percentage_complete > 100 //File is complete, no need to keep polling\n ) {\n clearInterval(this.interval);\n }\n } catch (err: any) {\n console.error(err);\n }\n }, 15 * 1000);\n }\n}\n","
\n
\n {{\n \"globaltext.FileGenerationInProgress\" | translate\n }}\n 100\">{{\n \"globaltext.FileGenerationComplete\" | translate\n }}\n
\n
\n \n
\n
\n\n
\n \n {{ \"globaltext.DownloadButton\" | translate }}\n \n
\n
\n \n
\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-review-file-tips',\n templateUrl: './review-file-tips.component.html',\n styleUrls: ['./review-file-tips.component.scss']\n})\nexport class ReviewFileTipsComponent implements OnInit {\n\n public loadedTip = \"\";\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n info \n \n \n
\n\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-review-web-table-tips',\n templateUrl: './review-web-table-tips.component.html',\n styleUrls: ['./review-web-table-tips.component.scss']\n})\nexport class ReviewWebTableTipsComponent implements OnInit {\n\n public loadedTip = \"\";\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport {\n DataOwnerEntity,\n SessionService,\n DataOwnerService,\n RegistrationService,\n} from '@cyber/navigator-services';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport { combineLatest } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { RegistrationState } from '../complete-registration/complete-registration.component';\n\n@Component({\n selector: 'app-select-event',\n templateUrl: './select-event.component.html',\n styleUrls: ['./select-event.component.scss'],\n})\nexport class SelectEventComponent implements OnInit {\n selectedDataOwnerId: any = \"-1\";\n dataOwners: DataOwnerEntity[] = [];\n\n constructor(\n private sessionService: SessionService,\n private dataOwnerService: DataOwnerService,\n private router: Router,\n public loading: LoadingService,\n private _storageService: StorageService,\n private registrationService: RegistrationService\n ) {}\n\n async ngOnInit(): Promise {\n this.loading.show();\n this.sessionService.appState$.pipe(take(1)).subscribe(async (appState) => {\n try {\n this.loading.show();\n const registrationState = appState.state as RegistrationState;\n //Complete additional registration for additional event if code is passed in state\n if (registrationState?.code) {\n await this.registrationService.complete(registrationState.code);\n await this.sessionService.getAccessTokenSilently(); //Completing registration may involve adding roles, get new token so that user groups are updated\n this.dataOwners = await this.sessionService.getRegisteredDataOwners();\n }\n } catch (err: any) {\n this.loading.hide();\n this.router.navigateByUrl(`/error/${err}`);\n } finally {\n this.loading.hide();\n }\n });\n\n this.dataOwners =\n history.state?.dataOwners ??\n (await this.sessionService.getRegisteredDataOwners());\n this.loading.hide();\n }\n\n async confirmSelection() {\n if (this.selectedDataOwnerId != \"-1\" && this.selectedDataOwnerId != \"\") {\n this.loading.show();\n var existingSession = localStorage.getItem('knn-cache');\n if (existingSession) {\n await this.sessionService.switchDataOwner(this.selectedDataOwnerId);\n } else {\n await this.sessionService.beginSession(this.selectedDataOwnerId);\n }\n let dataOwnerWorkflowCreated =\n await this.dataOwnerService.beginWorkflow();\n if (dataOwnerWorkflowCreated)\n this._storageService.setCookie(appConstants.FirstTimeUser, '1');\n this.loading.hide();\n this.router.navigateByUrl('/settingup?url=/home');\n }\n }\n}\n","
\n
\n
\n
\n \n
\n

{{\"globaltext.SelectEventHeading\" | translate }}

\n
\n
\n
\n
\n {{\"globaltext.SelectEventDescription\" | translate }}\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { OfferedServices } from 'src/app/models/offered-services';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-services-offered',\n templateUrl: './services-offered.component.html',\n styleUrls: ['./services-offered.component.scss'],\n})\nexport class ServicesOfferedComponent implements OnInit {\n currentStep: any;\n stateColor = 'gray';\n loadedTip = '';\n showMakeSelectionPopupValue = false;\n showOptoutConfirmationPopupValue = false;\n optedValue: any;\n subheadingUpdated = '';\n ServicesList: OfferedServices[] = [];\n currentDataOwner: any;\n currentDataOwnerId: any;\n minorServiceList: OfferedServices[] = [];\n adultServiceList: OfferedServices[] = [];\n showSectionsBasedOnOptInEndDateReached = '0';\n optInStartDateReached = '0';\n optInStartDate: string = '';\n\n constructor(\n public translate: TranslateService,\n private _storageService: StorageService,\n private _stepsHelperService: StepsHelperService,\n private _router: Router\n ) {\n this.currentStep = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.getServiceList();\n }\n\n ngOnInit(): void {\n this.optedValue = this.currentStep?.step_status_id;\n this.showSectionsBasedOnOptInEndDateReached =\n this._storageService.getLocalStorage(appConstants.OptInEndDateReached);\n this.optInStartDateReached = this._storageService.getLocalStorage(\n appConstants.OptInStartDateReached\n );\n\n this.getStateColor();\n }\n\n closeTip(event: any) {\n this.loadedTip = '';\n }\n\n showMakeSelectionPopup() {\n this.showMakeSelectionPopupValue = true;\n }\n\n async emittedPendingOption(selected: any) {\n this.showMakeSelectionPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN;\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NotificationOptIn,\n STEP_STATUS.OPTED_IN\n );\n this.resetDepedentStepsWhenOptedIn();\n } else {\n this.showOptoutConfirmationPopupValue = true;\n }\n this.getStateColor();\n }\n\n async emittedOptoutConfirmationPopup(selected: any) {\n this.showOptoutConfirmationPopupValue = false;\n\n if (selected == null) return;\n if (selected) {\n this.optedValue = STEP_STATUS.OPTED_IN;\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NotificationOptIn,\n STEP_STATUS.OPTED_IN\n );\n\n await this.resetDepedentStepsWhenOptedIn();\n } else {\n this.optedValue = STEP_STATUS.OPTED_OUT;\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NotificationOptIn,\n STEP_STATUS.OPTED_OUT\n );\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerUpdate,\n STEP_STATUS.NA_OPTED_OUT\n );\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Notification_Report,\n STEP_STATUS.NA_OPTED_OUT\n );\n const ncoaReviewStep = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (ncoaReviewStep.step_status_id !== STEP_STATUS.NOT_YET_AVAILABLE) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.NA_OPTED_OUT\n );\n }\n const exceptionReviewStep =\n this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Exceptions_Review\n );\n if (\n exceptionReviewStep.step_status_id !== STEP_STATUS.NOT_YET_AVAILABLE\n ) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Exceptions_Review,\n STEP_STATUS.NA_OPTED_OUT\n );\n }\n }\n this.getStateColor();\n }\n\n async resetDepedentStepsWhenOptedIn() {\n let customerUpdateStep = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerUpdate\n );\n if (\n customerUpdateStep?.step_status_id == STEP_STATUS.NA_OPTED_OUT ||\n customerUpdateStep?.step_status_id == STEP_STATUS.NOT_YET_AVAILABLE\n ) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerUpdate,\n STEP_STATUS.PENDING\n );\n }\n let notificationReportStep =\n this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.Notification_Report\n );\n if (notificationReportStep?.step_status_id == STEP_STATUS.NA_OPTED_OUT) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.Notification_Report,\n STEP_STATUS.PENDING\n );\n }\n let ncoaReviewStep = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NCOA_Review\n );\n if (ncoaReviewStep?.step_status_id == STEP_STATUS.NA_OPTED_OUT) {\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.NCOA_Review,\n STEP_STATUS.PENDING\n );\n }\n }\n\n getStateColor() {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n\n switch (this.optedValue) {\n case STEP_STATUS.OPTED_OUT:\n {\n this.stateColor = 'b-red';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.OptedOut')\n );\n }\n break;\n case STEP_STATUS.OPTED_IN:\n {\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.OptedIn')\n );\n }\n break;\n default:\n {\n this.stateColor = 'b-gray';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.PendingSelection')\n );\n }\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n getServiceList() {\n let current_page_content: any;\n this.adultServiceList = [];\n this.minorServiceList = [];\n this.translate.stream('page').subscribe((res: any) => {\n let cms_page_data = res;\n current_page_content = cms_page_data[this.currentStep?.step?.cms_binding];\n\n if (\n current_page_content?.pageservices != null &&\n current_page_content?.pageservices != '' &&\n current_page_content?.pageservices != undefined\n ) {\n let services = this.getOfferedServices();\n current_page_content?.pageservices.forEach((s: any) => {\n let resultService = services.find(\n (item: OfferedServices) => item.binding == s.service\n );\n if (resultService != undefined) {\n if (resultService?.group == 'adult') {\n this.adultServiceList.push(resultService);\n } else {\n this.minorServiceList.push(resultService);\n }\n }\n });\n }\n });\n }\n\n getOfferedServices(): OfferedServices[] {\n let servicesList: OfferedServices[] = [\n {\n name: 'Single Bureau Credit Report',\n group: 'adult',\n content_binding: 'service_single_bureau_credit_report',\n icon: 'single-burea-credit-monitoring',\n binding: 'single_bureau_credit_report',\n },\n {\n name: 'Single Bureau Credit Monitoring',\n group: 'adult',\n content_binding: 'service_single_bureau_credit_monitoring',\n icon: 'single-burea-credit-report',\n binding: 'single_bureau_credit_monitoring',\n },\n {\n name: 'Three Bureau Credit Monitoring',\n group: 'adult',\n content_binding: 'service_three_bureau_credit_monitoring',\n icon: 'three-burea-credit-monitoring',\n binding: 'three_bureau_credit_monitoring',\n },\n {\n name: 'Web Watcher Internet Monitoring',\n group: 'adult',\n content_binding: 'service_web_watcher_internet_monitoring',\n icon: 'web-watcher-internet-monitoring',\n binding: 'web_watcher_internet_monitoring',\n },\n {\n name: 'Public Persona',\n group: 'adult',\n content_binding: 'service_public_persona',\n icon: 'public-persona',\n binding: 'public_persona',\n },\n {\n name: 'Quick Cash Scan',\n group: 'adult',\n content_binding: 'service_quick_cash',\n icon: 'quick-cash',\n binding: 'quick_cash',\n },\n {\n name: '$1 Million Identity Fraud Loss Reimbursement',\n group: 'adult',\n content_binding: 'service_1m_idenity_fraud',\n icon: '1m-idenity-fraud',\n binding: '1m_idenity_fraud',\n },\n {\n name: 'Consumer Consultation',\n group: 'adult',\n content_binding: 'service_consumer_consultation',\n icon: 'consumer-consultation',\n binding: 'consumer_consultation',\n },\n {\n name: 'Consumer Notification',\n group: 'adult',\n content_binding: 'service_consumer_notification',\n icon: 'consumer-notification',\n binding: 'consumer_notification',\n },\n {\n name: 'Identity Restoration',\n group: 'adult',\n content_binding: 'service_identity_restoration',\n icon: 'identity-restoration',\n binding: 'identity_restoration',\n },\n {\n name: 'Call Center Support',\n group: 'adult',\n content_binding: 'service_call_center_support',\n icon: 'call-center-support',\n binding: 'call_center_support',\n },\n {\n name: 'Minor Monitoring',\n group: 'minor',\n content_binding: 'service_minor_monitoring',\n icon: 'minor-monitoring',\n binding: 'minor_monitoring',\n },\n {\n name: 'Minor Consumer Notification',\n group: 'minor',\n content_binding: 'service_consumer_notification_minor',\n icon: 'consumer-notification',\n binding: 'consumer_notification_minor',\n },\n {\n name: 'Minor Consumer Consultation',\n group: 'minor',\n content_binding: 'service_consumer_consultation_minor',\n icon: 'consumer-consultation',\n binding: 'consumer_consultation_minor',\n },\n {\n name: 'Minor Call Center Support',\n group: 'minor',\n content_binding: 'service_call_center_support_minor',\n icon: 'call-center-support',\n binding: 'call_center_support_minor',\n },\n {\n name: 'Minor Identity Restoration',\n group: 'minor',\n content_binding: 'service_identity_restoration_minor',\n icon: 'identity-restoration',\n binding: 'identity_restoration_minor',\n },\n ];\n\n return servicesList;\n }\n}\n","
\n

\n
\n\n \n {{ \"globaltext.MakeYourSelectionButton\" | translate }} \n \n \n {{ \"globaltext.ChangeYourSelectionButton\" | translate }} \n \n\n\n\n\n 0 || minorServiceList.length > 0\"\n>\n

\n\n
\n
0\">\n

\n
\n \n \n \n \n
\n \n\n
0\">\n

\n
\n \n \n \n \n \n \n\n\n\n\n\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'app-session-popup',\n templateUrl: './session-popup.component.html',\n styleUrls: ['./session-popup.component.scss']\n})\nexport class SessionPopupComponent implements OnInit {\n\n @Input() showPopup = false;\n @Output() emitPopupStatus = new EventEmitter();\n\n sessionExtendClicked = false;\n constructor() { }\n\n ngOnInit(): void {\n this.sessionExtendClicked = false;\n }\n\n closeSessionWarningModel(){\n if(!this.sessionExtendClicked){\n this.sessionExtendClicked = true;\n this.emitPopupStatus.emit(true);\n }\n }\n\n}\n","
\n
\n
\n
\n \n
\n
\n
\n
\n
\n

\n {{'globaltext.SessionTimeoutText' | translate}}\n

\n
\n
\n
\n
\n \n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n CmsContentService,\n DataOwnerEntity,\n DataOwnerMilestoneEntity,\n DataOwnerService,\n Milestones,\n RegistrationService,\n SessionService,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DateHelper } from 'src/app/helpers/date.helper';\nimport { ContentService } from 'src/app/services/content.service';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-setting-up-environment',\n templateUrl: './setting-up-environment.component.html',\n styleUrls: ['./setting-up-environment.component.scss'],\n})\nexport class SettingUpEnvironmentComponent implements OnInit {\n redirectToPage = '';\n loadingLanguage!: any;\n timeZones: any;\n\n constructor(\n public activatedRoute: ActivatedRoute,\n public dataOwnerService: DataOwnerService,\n public translateService: TranslateService,\n private loadingService: LoadingService,\n private _storageService: StorageService,\n public router: Router,\n public cmsContentService: CmsContentService,\n public contentService: ContentService,\n private _sessionService: SessionService,\n private _dateHelper: DateHelper,\n private _registrationService: RegistrationService\n ) {\n this.activatedRoute.queryParams.subscribe((params) => {\n this.redirectToPage = params['url'];\n });\n }\n\n lang = 'en';\n\n langCheckTimeOut!: any;\n currentTranslateService!: any;\n async ngOnInit() {\n this.loadingService.show();\n\n // Loading DataOwner Steps and Milestones\n let currentDataOwnerAsync =\n this._sessionService.fetchCurrentDataOwnerSession();\n let userSessionDetailsAsync =\n this._sessionService.fetchCurrentUserSession();\n let timeZoneAsync = this._registrationService.getTimezones();\n let [currentDataOwner, userSessionDetails, timeZoneDetails] =\n await Promise.all([\n currentDataOwnerAsync,\n userSessionDetailsAsync,\n timeZoneAsync,\n ]);\n\n this.timeZones = timeZoneDetails;\n let dataOwnerDetails = currentDataOwner;\n let dataOwnerWorkflowSteps =\n currentDataOwner?.workflows[0]?.actions[0]?.steps?.sort(\n (a, b) => a.step?.execution_order - b.step?.execution_order\n );\n\n this._storageService.setLocalStorage(\n appConstants.DataOwner,\n JSON.stringify(currentDataOwner)\n );\n\n this._storageService.setLocalStorage(\n appConstants.DataOwnerSteps,\n JSON.stringify(dataOwnerWorkflowSteps)\n );\n\n let optInStartDateMileStone: DataOwnerMilestoneEntity | undefined =\n dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) => x.milestone_id == Milestones.OptInStart\n );\n\n let optInStartDate = 'OptIn-Start Date Not Provided';\n let optInStartDateReached = false;\n if (optInStartDateMileStone != null) {\n let optInStartTimeZone = this.timeZones.find(\n (timeZone: any) =>\n timeZone.time_zone_id ==\n optInStartDateMileStone?.effective_date_time_zone_id\n );\n\n if (\n !this._dateHelper.isFutureDateWithTimeZone(\n optInStartDateMileStone.effective_date,\n optInStartTimeZone?.offset\n )\n ) {\n optInStartDateReached = true;\n }\n\n let formattedDate = this._dateHelper.formatToDisplayDate(\n optInStartDateMileStone.effective_date,\n optInStartTimeZone?.offset\n );\n optInStartDate = formattedDate;\n }\n this._storageService.setLocalStorage(\n appConstants.OptInStartDateReached,\n optInStartDateReached ? '1' : '0'\n );\n\n this._storageService.setLocalStorage(\n appConstants.cookieOptInStartDate,\n optInStartDate\n );\n\n let optInEndDateMileStone: DataOwnerMilestoneEntity | undefined =\n dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) => x.milestone_id == Milestones.OptInEnd\n );\n\n let optInEndDate = 'OptIn-End Date Not Provided';\n let optInEndDateReached = false;\n if (optInEndDateMileStone != null) {\n let optInEndTimeZone = this.timeZones.find(\n (timeZone: any) =>\n timeZone.time_zone_id ==\n optInEndDateMileStone?.effective_date_time_zone_id\n );\n if (\n !this._dateHelper.isFutureDateWithTimeZone(\n optInEndDateMileStone.effective_date,\n optInEndTimeZone?.offset\n )\n ) {\n optInEndDateReached = true;\n }\n let formattedDate = this._dateHelper.formatToDisplayDate(\n optInEndDateMileStone.effective_date,\n optInEndTimeZone?.offset\n );\n optInEndDate = formattedDate;\n }\n this._storageService.setLocalStorage(\n appConstants.OptInEndDateReached,\n optInEndDateReached ? '1' : '0'\n );\n\n this._storageService.setLocalStorage(\n appConstants.cookieOptInEndDate,\n optInEndDate\n );\n\n let changeOfAddressMilestone: DataOwnerMilestoneEntity | undefined =\n dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) =>\n x.milestone_id == Milestones.ChangeOfAddressReviewEndDate\n );\n\n let changeOfAddressEndDateReached = false;\n if (changeOfAddressMilestone != null) {\n if (\n !this._dateHelper.isFutureDate(changeOfAddressMilestone.effective_date)\n ) {\n changeOfAddressEndDateReached = true;\n }\n }\n\n this._storageService.setLocalStorage(\n appConstants.ChangeOfAddressEndDateReached,\n changeOfAddressEndDateReached ? '1' : '0'\n );\n\n let exceptionReviewMilestone: DataOwnerMilestoneEntity | undefined =\n dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) =>\n x.milestone_id == Milestones.ExceptionsReviewEndDate\n );\n\n let exceptionReviewEndDateReached = false;\n if (exceptionReviewMilestone != null) {\n if (\n !this._dateHelper.isFutureDate(exceptionReviewMilestone.effective_date)\n ) {\n exceptionReviewEndDateReached = true;\n }\n }\n\n this._storageService.setLocalStorage(\n appConstants.ExceptionReviewEndDateReached,\n exceptionReviewEndDateReached ? '1' : '0'\n );\n\n // Loading Current User Entity to display name\n this._storageService.setLocalStorage(\n appConstants.User,\n JSON.stringify(userSessionDetails)\n );\n\n //Final redirect to page\n this.contentService.loadCmsContent();\n\n this.contentService.getContentState().subscribe(async (data) => {\n if (data) {\n this.loadingService.hide();\n\n let userSessionDetailsFromLocalStorage = JSON.parse(\n this._storageService.getLocalStorage(appConstants.User)\n );\n let dataOwnersList =\n await this._sessionService.getRegisteredDataOwners();\n\n if (\n userSessionDetailsFromLocalStorage?.data_owner_user\n ?.data_owner_user_status_id == 2\n ) {\n if (dataOwnersList?.length > 1)\n this.clearAndRedirectToError('deactivated multiple');\n else this.clearAndRedirectToError('deactivated');\n return;\n }\n if (this.getSiteAccessEndDateEnded(dataOwnerDetails)) {\n if (dataOwnersList?.length > 1)\n this.clearAndRedirectToError('event access ended multiple');\n else this.clearAndRedirectToError('event access ended');\n return;\n }\n\n if (\n !dataOwnerWorkflowSteps ||\n !userSessionDetailsFromLocalStorage?.data_owner_user\n ?.has_completed_welcome\n ) {\n this.router.navigate(['/welcome']);\n } else {\n this.router.navigateByUrl(this.redirectToPage);\n }\n }\n });\n }\n\n getSiteAccessEndDateEnded(dataOwnerDetails: DataOwnerEntity) {\n let siteAccessEndDateMileStone: DataOwnerMilestoneEntity | undefined =\n dataOwnerDetails?.milestones?.find(\n (x: { milestone_id: number }) =>\n x.milestone_id == Milestones.SiteAccessEnd\n );\n\n let siteAccessEndDateReached = false;\n if (siteAccessEndDateMileStone != null) {\n let siteAccessEndTimeZone = this.timeZones.find(\n (timeZone: any) =>\n timeZone.time_zone_id ==\n siteAccessEndDateMileStone?.effective_date_time_zone_id\n );\n if (\n !this._dateHelper.isFutureDateWithTimeZone(\n siteAccessEndDateMileStone.effective_date,\n siteAccessEndTimeZone?.offset\n )\n ) {\n siteAccessEndDateReached = true;\n }\n }\n return siteAccessEndDateReached;\n }\n\n clearAndRedirectToError(errorType: string) {\n this._storageService.removeLocalStorage(appConstants.User);\n this._storageService.removeLocalStorage(appConstants.DataOwner);\n this._storageService.removeLocalStorage(appConstants.DataOwnerSteps);\n this.router.navigateByUrl('error/' + errorType);\n }\n}\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SessionService } from '@cyber/navigator-services';\n@Component({\n selector: 'app-login',\n templateUrl: './sign-in.component.html',\n styleUrls: ['./sign-in.component.scss'],\n})\nexport class SignInComponent implements OnInit {\n errorMessage = '';\n status = 'loaded';\n constructor(public sessionService: SessionService, public router: Router) {\n this.sessionService.isAuthenticated$.subscribe((isAuthenticated) => {\n if (isAuthenticated === false) {\n this.sessionService.loginWithRedirect('/settingup?url=/home');\n } else {\n this.router.navigateByUrl('/settingup?url=/home');\n }\n });\n }\n\n ngOnInit(): void {}\n\n redirectToEnroll() {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n DataOwnerWorkflowStepEntity,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-step-card',\n templateUrl: './step-card.component.html',\n styleUrls: ['./step-card.component.scss'],\n})\nexport class StepCardComponent implements OnInit {\n hidden = true;\n @Input() stepDetails!: DataOwnerWorkflowStepEntity;\n @Input() lastItem = false;\n stepUrl: any;\n statusColor: any;\n disabledStep = false;\n errorMessage = '';\n step: any;\n\n constructor(\n public translate: TranslateService,\n public router: Router,\n public storageService: StorageService,\n public stepHelperService: StepsHelperService\n ) {}\n\n ngOnInit(): void {\n this.loadStepDetails();\n }\n\n loadStepDetails() {\n let currentStep = this.stepDetails;\n let current_page = currentStep?.step.cms_binding;\n\n let key = 'steps.' + current_page;\n this.step = this.translate.instant(key);\n this.stepUrl = '/' + this.stepDetails.step.page_route;\n\n if (\n (current_page == appConstants.WorkflowStep.CustomerReview ||\n current_page == appConstants.WorkflowStep.CustomerUpdate ||\n current_page == appConstants.WorkflowStep.NCOA_Review ||\n current_page == appConstants.WorkflowStep.Exceptions_Review) &&\n currentStep?.data != null\n ) {\n let currentStepData = JSON.parse(currentStep?.data);\n current_page =\n current_page + '_' + this.transform(currentStepData?.display_selection);\n this.storageService.setCookieForLongerDuration(\n appConstants.sessionSelectedViewOrEditMode,\n this.stepDetails.data\n );\n this.stepUrl = this.stepUrl + '/' + currentStepData?.display_selection;\n } else {\n if (\n (current_page == appConstants.WorkflowStep.CustomerReview ||\n current_page == appConstants.WorkflowStep.CustomerUpdate ||\n current_page == appConstants.WorkflowStep.NCOA_Review ||\n current_page == appConstants.WorkflowStep.Exceptions_Review) &&\n currentStep?.data == null\n ) {\n this.stepUrl = this.stepUrl + '/web';\n }\n }\n\n this.statusColor = this.setStatusCardColor(this.stepDetails.step_status_id);\n this.handleStepStatus();\n }\n\n transform(value: string): string {\n if (value) {\n let first = value.substr(0, 1).toUpperCase();\n return first + value.substr(1);\n }\n return '';\n }\n\n handleStepStatus() {\n let optinPeriodEnded =\n this.storageService.getLocalStorage(appConstants.OptInEndDateReached) ==\n '1';\n\n let changeOfAddressPeriodEnded =\n this.storageService.getLocalStorage(\n appConstants.ChangeOfAddressEndDateReached\n ) == '1';\n\n let exceptionReviewPeriodEnded =\n this.storageService.getLocalStorage(\n appConstants.ExceptionReviewEndDateReached\n ) == '1';\n\n let statusId = this.stepDetails.step_status_id;\n\n let reviewStep = this.stepHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerReview\n );\n let optInStep = this.stepHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NotificationOptIn\n );\n\n switch (this.stepDetails?.step.cms_binding) {\n case appConstants.WorkflowStep.NotificationOptIn:\n if (\n reviewStep?.step_status_id != STEP_STATUS.VIEWED &&\n reviewStep?.step_status_id != STEP_STATUS.DOWNLOADED\n ) {\n this.disabledStep = true;\n this.errorMessage = 'CompleteReviewToOptIn';\n }\n if (optinPeriodEnded) {\n this.disabledStep = true;\n this.errorMessage = 'NotificationOptInEndDateCrossed';\n }\n break;\n case appConstants.WorkflowStep.CustomerUpdate:\n if (optInStep?.step_status_id != STEP_STATUS.OPTED_IN) {\n this.disabledStep = true;\n this.errorMessage = 'StepNotAvailableUntilNotificationOptIn';\n }\n if (optinPeriodEnded) {\n this.disabledStep = true;\n this.errorMessage = 'CustomerUpdateOptInEndDateCrossed';\n }\n break;\n case appConstants.WorkflowStep.OCR_OptIn:\n if (optinPeriodEnded) {\n this.disabledStep = true;\n this.errorMessage = 'OCROptInEndDateCrossed';\n }\n break;\n case appConstants.WorkflowStep.Regulator_Notice:\n if (optinPeriodEnded) {\n this.translate\n .get('page.Regulator_Notice.pagecomponents')\n .subscribe(async (res: any) => {\n let stepData = res;\n let hasOptIn = stepData.filter(\n (item: any) =>\n item.component == 'Optin' ||\n item.component == 'FormCollection'\n );\n if (hasOptIn.length > 0) {\n this.disabledStep = true;\n this.errorMessage = 'OCROptInEndDateCrossed';\n }\n });\n }\n break;\n case appConstants.WorkflowStep.Notification_Report:\n if (statusId == STEP_STATUS.NOT_YET_AVAILABLE) {\n this.disabledStep = true;\n this.errorMessage = 'FinalReportNotYetAvailable';\n }\n if (\n statusId == STEP_STATUS.NA_OPTED_OUT ||\n optInStep?.step_status_id != STEP_STATUS.OPTED_IN\n ) {\n this.disabledStep = true;\n this.errorMessage = 'StepNotAvailableUntilNotificationOptIn';\n }\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n case appConstants.WorkflowStep.Exceptions_Review:\n if (optInStep?.step_status_id != STEP_STATUS.OPTED_IN) {\n this.disabledStep = true;\n this.errorMessage = 'StepNotAvailableUntilNotificationOptIn';\n } else if (statusId == STEP_STATUS.NOT_YET_AVAILABLE) {\n this.disabledStep = true;\n this.errorMessage = 'NcoaDataNotYetAvailable';\n }\n if (\n this.stepDetails?.step.cms_binding ===\n appConstants.WorkflowStep.NCOA_Review &&\n changeOfAddressPeriodEnded\n ) {\n this.disabledStep = true;\n this.errorMessage = 'ChangeOfAddressReviewEndedNextStepNotAvailable';\n }\n if (\n this.stepDetails?.step.cms_binding ===\n appConstants.WorkflowStep.Exceptions_Review &&\n exceptionReviewPeriodEnded\n ) {\n this.disabledStep = true;\n this.errorMessage = 'ExceptionReviewEndedNextStepNotAvailable';\n }\n }\n }\n\n setStatusCardColor(statusId: number) {\n if (appConstants.StepStatusColors.Green.indexOf(statusId) > -1) {\n return 'green';\n }\n if (appConstants.StepStatusColors.Yellow.indexOf(statusId) > -1) {\n return 'yellow';\n }\n if (appConstants.StepStatusColors.Red.indexOf(statusId) > -1) {\n return 'red';\n }\n if (appConstants.StepStatusColors.Gray.indexOf(statusId) > -1) {\n return 'gray';\n }\n return 'default';\n }\n\n navigateToPage() {\n this.router.navigate([this.stepUrl]);\n }\n\n toggleHidden() {\n this.hidden = !this.hidden;\n }\n}\n","\n
\n
\n
\n {{step.icon}}\n
\n
\n \n
\n {{step.title}}\n
\n
\n
{{'globaltext.Status_' + stepDetails.step_status_id | translate}}
\n
{{stepDetails?.user?.email}}
\n
{{stepDetails?.modify_time | date : 'MMM d, y'}}
\n
\n
\n \n expand_more\n expand_less\n \n
\n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DynamicComponentHelperService } from 'src/app/services/dynamic-component-helper.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-steps-navigation-buttons',\n templateUrl: './steps-navigation-buttons.component.html',\n styleUrls: ['./steps-navigation-buttons.component.scss'],\n})\nexport class StepsNavigationButtonsComponent implements OnInit {\n pageType = '';\n finishButton = false;\n errorMessage = '';\n backErrorMessage = '';\n @Input() disableNext = false;\n @Input() disableBack = false;\n @Input() prevUrl = '';\n @Input() nextUrl = '';\n @Input() backButton = true;\n @Input() nextButton = true;\n @Input() nextButtonText = '';\n currentStep: any;\n constructor(\n public router: Router,\n public memberService: MemberService,\n public translate: TranslateService,\n public storageService: StorageService,\n private stepsHelperService: StepsHelperService\n ) {\n this.handleStepStatus();\n this.stepsHelperService.stepDataUpdate$.subscribe((data: any) => {\n this.handleStepStatus();\n });\n }\n\n handleStepStatus() {\n let optinPeriodEnded =\n this.storageService.getLocalStorage(appConstants.OptInEndDateReached) ==\n '1';\n\n let changeOfAddressPeriodEnded =\n this.storageService.getLocalStorage(\n appConstants.ChangeOfAddressEndDateReached\n ) == '1';\n\n let exceptionReviewPeriodEnded =\n this.storageService.getLocalStorage(\n appConstants.ExceptionReviewEndDateReached\n ) == '1';\n\n let currentStep = this.stepsHelperService.getCurrentStepByRoute(\n this.router.url\n );\n let current_binding = currentStep?.step?.cms_binding;\n let previousStep = this.stepsHelperService.getStepFromBindingPosition(\n current_binding,\n -1\n );\n let nextStep = this.stepsHelperService.getStepFromBindingPosition(\n current_binding,\n 1\n );\n\n this.errorMessage = '';\n this.backErrorMessage = '';\n this.disableNext = false;\n this.disableBack = false;\n\n switch (nextStep?.step?.cms_binding) {\n case appConstants.WorkflowStep.NotificationOptIn:\n let dataReviewStep = this.stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerReview\n );\n if (\n dataReviewStep?.step_status_id != STEP_STATUS.VIEWED &&\n dataReviewStep?.step_status_id != STEP_STATUS.DOWNLOADED\n ) {\n this.disableNext = true;\n this.errorMessage = 'CustomerReviewNextStepDisabled';\n }\n if (optinPeriodEnded) {\n this.disableNext = true;\n this.errorMessage = 'OptInPeriodEndedNextStepNotAvailable';\n }\n break;\n case appConstants.WorkflowStep.CustomerUpdate:\n let notificationOptInStatus =\n this.stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NotificationOptIn\n );\n if (notificationOptInStatus?.step_status_id != STEP_STATUS.OPTED_IN) {\n this.disableNext = true;\n this.errorMessage = 'StepNotAvailable';\n }\n if (optinPeriodEnded) {\n this.disableNext = true;\n this.errorMessage = 'OptInPeriodEndedNextStepNotAvailable';\n }\n break;\n case appConstants.WorkflowStep.OCR_OptIn:\n if (optinPeriodEnded) {\n this.disableNext = true;\n this.errorMessage = 'OptInPeriodEndedNextStepNotAvailable';\n }\n break;\n case appConstants.WorkflowStep.Regulator_Notice:\n if (optinPeriodEnded) {\n this.translate\n .get('page.Regulator_Notice.pagecomponents')\n .subscribe(async (res: any) => {\n let stepData = res;\n let hasOptIn = stepData.filter(\n (item: any) =>\n item.component == 'Optin' ||\n item.component == 'FormCollection'\n );\n if (hasOptIn.length > 0) {\n this.disableNext = true;\n this.errorMessage = 'OptInPeriodEndedNextStepNotAvailable';\n }\n });\n }\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n if (nextStep?.step_status_id == STEP_STATUS.NOT_YET_AVAILABLE) {\n this.disableNext = true;\n this.errorMessage = 'NextStepNCOAReviewNotAvailable';\n }\n if (changeOfAddressPeriodEnded) {\n this.disableNext = true;\n this.errorMessage = 'ChangeOfAddressReviewEndedNextStepNotAvailable';\n }\n break;\n case appConstants.WorkflowStep.Exceptions_Review:\n if (nextStep?.step_status_id == STEP_STATUS.NOT_YET_AVAILABLE) {\n this.disableNext = true;\n this.errorMessage = 'NextStepNCOAExceptionsNotAvailable';\n }\n if (exceptionReviewPeriodEnded) {\n this.disableNext = true;\n this.errorMessage = 'ExceptionReviewEndedNextStepNotAvailable';\n }\n break;\n case appConstants.WorkflowStep.Notification_Report:\n if (nextStep?.step_status_id == STEP_STATUS.NOT_YET_AVAILABLE) {\n this.disableNext = true;\n this.errorMessage = 'NextStepNotificationReportNotAvailable';\n }\n break;\n }\n\n //Handling back step conditions\n switch (previousStep?.step?.cms_binding) {\n case appConstants.WorkflowStep.CustomerUpdate:\n let notificationOptInStatus =\n this.stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.NotificationOptIn\n );\n if (notificationOptInStatus?.step_status_id != STEP_STATUS.OPTED_IN) {\n this.disableBack = true;\n this.backErrorMessage = 'PreviousStepDisabledNotOptedIn';\n }\n if (optinPeriodEnded) {\n this.disableBack = true;\n this.backErrorMessage = 'PreviousStepDisabledOptInEnded';\n }\n break;\n case appConstants.WorkflowStep.OCR_OptIn:\n if (optinPeriodEnded) {\n this.disableBack = true;\n this.backErrorMessage = 'PreviousStepDisabledOptInEnded';\n }\n break;\n case appConstants.WorkflowStep.Regulator_Notice:\n if (optinPeriodEnded) {\n this.translate\n .get('page.Regulator_Notice.pagecomponents')\n .subscribe(async (res: any) => {\n let stepData = res;\n let hasOptIn = stepData.filter(\n (item: any) =>\n item.component == 'Optin' ||\n item.component == 'FormCollection'\n );\n if (hasOptIn.length > 0) {\n this.disableBack = true;\n this.errorMessage = 'PreviousStepDisabledOptInEnded';\n }\n });\n }\n break;\n }\n\n //Handling next step conditions\n switch (this.stepsHelperService.getAlternateStepType(current_binding)) {\n case appConstants.WorkflowStep.NCOA_Review:\n case appConstants.WorkflowStep.CustomerUpdate:\n if (\n currentStep?.step_status_id != STEP_STATUS.COMPLETED &&\n currentStep?.step_status_id != STEP_STATUS.UPDATED &&\n currentStep?.step_status_id != STEP_STATUS.NO_UPDATES_REQUIRED\n ) {\n this.disableNext = true;\n this.errorMessage = 'NextStepDisabledCustomerUpdate';\n }\n break;\n case appConstants.WorkflowStep.OCR_OptIn:\n if (\n currentStep?.step_status_id != STEP_STATUS.OPTED_OUT &&\n currentStep?.step_status_id != STEP_STATUS.OPTED_IN_SUBMITTED\n ) {\n this.disableNext = true;\n this.errorMessage = 'NextStepDisabledOCROptInOrOptOut';\n }\n break;\n case appConstants.WorkflowStep.Regulator_Notice:\n if (\n currentStep?.step_status_id != STEP_STATUS.OPTED_OUT &&\n currentStep?.step_status_id != STEP_STATUS.OPTED_IN_SUBMITTED &&\n currentStep?.step_status_id != STEP_STATUS.OPTED_IN\n ) {\n this.translate\n .get('page.Regulator_Notice.pagecomponents')\n .subscribe(async (res: any) => {\n let stepData = res;\n let hasOptIn = stepData.filter(\n (item: any) => item.component == 'Optin'\n );\n\n if (hasOptIn.length > 0) {\n this.disableNext = true;\n this.errorMessage = 'NextStepDisabledOptInOrOptOut';\n }\n\n let hasFormCollection = stepData.filter(\n (item: any) => item.component == 'FormCollection'\n );\n if (hasFormCollection.length > 0) {\n this.disableNext = true;\n this.errorMessage =\n 'NextStepDisabledFormCollectionOptInOrOptOut';\n }\n });\n }\n break;\n }\n }\n\n ngOnInit(): void {}\n\n backButtonClick() {\n this.router.navigate([this.prevUrl]);\n }\n nextButtonClick() {\n this.router.navigate([this.nextUrl]);\n }\n}\n","
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-switch-to-file-review',\n templateUrl: './switch-to-file-review.component.html',\n styleUrls: ['./switch-to-file-review.component.scss'],\n})\nexport class SwitchToFileReviewComponent implements OnInit {\n\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-switch-to-file-upload',\n templateUrl: './switch-to-file-upload.component.html',\n styleUrls: ['./switch-to-file-upload.component.scss'],\n})\nexport class SwitchToFileUploadComponent implements OnInit {\n\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-switch-to-web-review',\n templateUrl: './switch-to-web-review.component.html',\n styleUrls: ['./switch-to-web-review.component.scss'],\n})\nexport class SwitchToWebReviewComponent implements OnInit {\n\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-switch-to-web-update',\n templateUrl: './switch-to-web-update.component.html',\n styleUrls: ['./switch-to-web-update.component.scss'],\n})\nexport class SwitchToWebUpdateComponent implements OnInit {\n\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Tip, TipsCard } from 'src/app/models/tips';\n\n@Component({\n selector: 'app-tips',\n templateUrl: './tips.component.html',\n styleUrls: ['./tips.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TipsComponent implements OnInit {\n\n tipDetails!:TipsCard;\n loaded=false;\n showOverlay=false;\n @Input() show!:boolean;\n @Input() pageType!:string;\n @Output() closestate: EventEmitter = new EventEmitter();\n constructor(public translate: TranslateService) {\n }\n\n ngOnInit(): void {\n this.loaded=true;\n }\n\n\n closeTip(){\n this.closestate.emit(true);\n }\n\n}\n","
\n
\n
\n
\n info\n \n close\n \n
\n
\n\n
\n
\n
\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n ChangeOfAddressService,\n CustomerExceptionService,\n CustomerFileUpload,\n CustomerService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n SuccessEvent,\n FileInfo,\n FileRestrictions,\n} from '@progress/kendo-angular-upload';\nimport * as filesize from 'filesize';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-upload-file',\n templateUrl: './upload-file.component.html',\n styleUrls: ['./upload-file.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class UploadFileComponent implements OnInit {\n currentStepDetails!: any;\n showNoChangesPopup = false;\n showConfirmChangesPopup = false;\n modifiedData = false;\n previousState = '';\n fileUploaded = false;\n state = 'selectionPending';\n stateColor = '';\n fileDetails!: FileUploadedDetails;\n submittedDate = '2 Nov 2022';\n currentDataOwner: any;\n loadButtonText = '';\n showFileUpload = true;\n\n allowedFileFormat: FileRestrictions = {\n allowedExtensions: ['.xlsx', '.xls', '.sheets', '.ods'],\n };\n\n fileUploadErrorMsg: any;\n subheadingUpdated: any;\n fileData: any;\n showSectionsBasedOnOptInEndDateReached: any = '0';\n hideResumeButton = false;\n\n showDefaultErrorMsg: boolean = false;\n selectionPendingTitle: any;\n modalType!: string;\n pageType!: string;\n loadedTip: any;\n switchToWebReview!: string;\n\n constructor(\n public translate: TranslateService,\n public memberService: MemberService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService,\n private _customerService: CustomerService,\n private _customerExceptionService: CustomerExceptionService,\n private _changeOfAddressService: ChangeOfAddressService,\n private _loadingService: LoadingService,\n private _storageService: StorageService\n ) {}\n\n ngOnInit(): void {\n this.currentDataOwner =\n this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.currentStepDetails = this._stepsHelperService.getCurrentStepByRoute(\n this._router.url\n );\n\n if (\n this.currentStepDetails.data != null &&\n this.currentStepDetails.data != '' &&\n this.currentStepDetails.data != undefined\n ) {\n let currentStepData = this.currentStepDetails.data;\n currentStepData = JSON.parse(currentStepData);\n this.fileDetails = currentStepData.fileDetails;\n }\n this.fileUploadErrorMsg = '';\n this.loadButtonText = '';\n this.mapToStates(this.currentStepDetails?.step_status_id);\n\n switch (this.currentStepDetails.step.cms_binding) {\n case appConstants.WorkflowStep.CustomerUpdate:\n this.selectionPendingTitle = this.translate.instant(\n 'globalrichtext.FileChangesQuestion'\n );\n this.showSectionsBasedOnOptInEndDateReached =\n this._storageService.getLocalStorage(\n appConstants.OptInEndDateReached\n );\n this.modalType = 'FileUploadNoticeContent';\n this.pageType = 'globalrichtext.UploadFileTipsContent';\n this.switchToWebReview = 'globalrichtext.SwitchToWebUpdateContent';\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n this.selectionPendingTitle = this.translate.instant(\n 'globalrichtext.ChangeOfAddressChangesQuestion'\n );\n this.showSectionsBasedOnOptInEndDateReached =\n this._storageService.getLocalStorage(\n appConstants.ChangeOfAddressEndDateReached\n );\n this.modalType = 'ChangeOfAddressFileUploadNoticeContent';\n this.pageType = 'globalrichtext.ChangeOfAddressUploadFileTipsContent';\n this.switchToWebReview =\n 'globalrichtext.SwitchToWebReviewChangeOfAddressContent';\n break;\n case appConstants.WorkflowStep.Exceptions_Review:\n this.state = 'inProgress';\n this.showSectionsBasedOnOptInEndDateReached =\n this._storageService.getLocalStorage(\n appConstants.ExceptionReviewEndDateReached\n );\n this.pageType = 'globalrichtext.ExceptionUploadFileTipsContent';\n this.switchToWebReview =\n 'globalrichtext.SwitchToWebReviewExceptionsContent';\n break;\n }\n\n if (this.showSectionsBasedOnOptInEndDateReached == '1')\n this.hideResumeButton = true;\n if (\n (this.state == 'noChangesToMake' || this.state == 'fileSaved') &&\n this.showSectionsBasedOnOptInEndDateReached == '1'\n ) {\n this.showSectionsBasedOnOptInEndDateReached = '0';\n }\n this.saveMyPreferrence();\n }\n\n async saveMyPreferrence() {\n let updateNeeded = false;\n let data = {\n display_selection: 'file',\n };\n\n if (this.currentStepDetails.data != null) {\n data = JSON.parse(this.currentStepDetails.data);\n if (data.display_selection != 'file') updateNeeded = true;\n data.display_selection = 'file';\n } else {\n updateNeeded = true;\n }\n if (updateNeeded) {\n let updateEdit = await this._stepsHelperService.updateStepStatus(\n this.currentStepDetails.step.cms_binding,\n null,\n data\n );\n }\n }\n\n mapToStates(stepStatusId: number) {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n switch (stepStatusId) {\n case STEP_STATUS.PENDING:\n this.state = 'selectionPending';\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Pending')\n );\n break;\n case STEP_STATUS.NO_UPDATES_REQUIRED:\n this.state = 'noChangesToMake';\n this.stateColor = 'b-yellow';\n this.loadButtonText = this.translate.instant('globaltext.ResumeButton');\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.NoUpdatesRequired')\n );\n break;\n case STEP_STATUS.IN_PROGRESS:\n this.state = 'inProgress';\n this.stateColor = 'b-yellow';\n this.fileUploaded = false;\n this.loadButtonText = this.translate.instant(\n 'globaltext.ConfirmChangesButton'\n );\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.InProgress')\n );\n break;\n case STEP_STATUS.UPDATED:\n this.state = 'fileSaved';\n this.stateColor = 'b-green';\n this.showFileUpload = false;\n this.loadButtonText = this.translate.instant('globaltext.ResumeButton');\n this.subheadingUpdated = currentStatus.replace(\n '{{Selection_Type}}',\n this.translate.instant('globaltext.Updated')\n );\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n async emittedNoChangesPopup(event: any) {\n if (event) this.state = 'noChangesToMake';\n this.showNoChangesPopup = false;\n await this._stepsHelperService.updateStepStatus(\n this.currentStepDetails.step.cms_binding,\n STEP_STATUS.NO_UPDATES_REQUIRED\n );\n this.mapToStates(STEP_STATUS.NO_UPDATES_REQUIRED);\n }\n\n emittedConfirmChangesPopup(event: any, upload: any) {\n if (event) {\n upload.uploadFiles();\n } else {\n upload.clearFiles();\n }\n this.showConfirmChangesPopup = false;\n }\n\n async loadButtonClick() {\n if (this.state == 'inProgress') {\n await this._stepsHelperService.updateStepStatus(\n this.currentStepDetails.step.cms_binding,\n STEP_STATUS.UPDATED\n );\n this.mapToStates(STEP_STATUS.UPDATED);\n } else if (this.state == 'fileSaved' || this.state == 'noChangesToMake') {\n await this._stepsHelperService.updateStepStatus(\n this.currentStepDetails.step.cms_binding,\n STEP_STATUS.IN_PROGRESS\n );\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n }\n }\n async saveFileClick(upload: any) {\n this._loadingService.show();\n this.fileUploadErrorMsg = '';\n this.showDefaultErrorMsg = false;\n this.memberService.setFileUploadStatus(false);\n let customerFileDetails: CustomerFileUpload = {\n name: this.fileDetails.Name,\n data: this.fileData,\n data_owner_id: this.currentDataOwner.id,\n };\n try {\n switch (this.currentStepDetails.step.cms_binding) {\n case appConstants.WorkflowStep.CustomerUpdate:\n await this._customerService.uploadFile(customerFileDetails);\n break;\n case appConstants.WorkflowStep.NCOA_Review:\n await this._changeOfAddressService.uploadFile(customerFileDetails);\n break;\n case appConstants.WorkflowStep.Exceptions_Review:\n await this._customerExceptionService.uploadFile(customerFileDetails);\n break;\n }\n let currentStepData = JSON.parse(this.currentStepDetails.data);\n currentStepData.fileDetails = this.fileDetails;\n await this._stepsHelperService.updateStepStatus(\n this.currentStepDetails.step.cms_binding,\n STEP_STATUS.IN_PROGRESS,\n currentStepData\n );\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n this.memberService.setFileUploadStatus(true);\n upload.clearFiles();\n this._loadingService.hide();\n } catch (errorResponse: any) {\n if (errorResponse.status == 400) {\n this.showDefaultErrorMsg = false;\n this.fileUploadErrorMsg = errorResponse.error;\n } else {\n this.showDefaultErrorMsg = true;\n }\n this.state = 'inProgress';\n this.memberService.setFileUploadStatus(true);\n this._stepsHelperService.stepDataUpdate$.next(true);\n this._loadingService.hide();\n }\n }\n\n public onUpload(ev: SuccessEvent): void {\n this.fileUploadErrorMsg = '';\n this.showDefaultErrorMsg = false;\n if (ev.files) {\n ev.files.forEach((file: FileInfo) => {\n if (\n file.rawFile &&\n !file.validationErrors &&\n ev.operation === 'upload'\n ) {\n const reader = new FileReader();\n reader.onloadend = () => {\n this.fileUploaded = true;\n\n if (reader.result != null)\n this.fileData = reader.result.toString().split(',')[1];\n\n this.fileDetails = {\n Name: file.name,\n Size: filesize(file.size ?? 0),\n UploadedDate: Date(),\n };\n };\n reader.readAsDataURL(file.rawFile);\n }\n });\n }\n }\n\n makeChangesClick(change: any) {\n if (!change) {\n this.showNoChangesPopup = true;\n } else {\n this.previousState = this.state;\n this.state = 'inProgress';\n }\n }\n\n uploadSaveUrl = 'saveUrl'; // should represent an actual API endpoint\n uploadRemoveUrl = 'removeUrl'; // should represent an actual API endpoint\n public fileCount = 0;\n\n public onSelectEvent(e: any) {\n this.fileCount += 1;\n if (\n this.currentStepDetails.step.cms_binding !==\n appConstants.WorkflowStep.Exceptions_Review\n ) {\n this.showConfirmChangesPopup = true;\n }\n }\n\n public onUploadEvent(e: any) {\n this.fileCount = 0;\n }\n\n public onRemoveEvent(e: any, upload: any) {\n if (this.fileCount > 0) {\n this.fileCount -= 1;\n }\n this.fileUploaded = false;\n }\n\n closeFileUpload() {\n this.showFileUpload = false;\n }\n}\n\nexport class FileUploadedDetails {\n Name = '';\n UploadedDate = '';\n Size = '';\n}\n","\n
\n
\n
\n \n {{ loadButtonText }}\n \n
\n\n
\n

\n
\n
\n

\n
\n \n {{ \"globaltext.NoButton\" | translate }}\n \n \n {{ \"globaltext.YesButton\" | translate }}\n \n
\n
\n \n
\n \n
\n close \n \n {{ \"globaltext.CloseButton\" | translate }}\n \n
\n
\n
\n \n
\n
Upload File
\n
\n \n

Drag file here or browse

\n
\n \n \n \n \n \n \n \n {{ \"globaltext.SaveButton\" | translate }}\n \n \n \n
\n
\n \n info \n \n \n
\n \n
\n\n
\n {{\n \"globaltext.FileUploadFailed\" | translate\n }}\n
    \n
  • \n {{\n error\n }}\n
  • \n
\n
\n\n
\n \n
\n \n\n\n\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { STEP_STATUS } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-web-table-edit-group',\n templateUrl: './web-table-edit-group.component.html',\n styleUrls: ['./web-table-edit-group.component.scss']\n})\nexport class WebTableEditGroupComponent implements OnInit {\n\n loadedTip = '';\n showNoChangesPopup = false;\n showConfirmChangesPopup = false;\n modifiedData = false;\n state = 'pending';\n SubmittedDate = new Date();\n\n loadButtonText = '';\n currentDataOwner: any;\n currentStepDetails: any;\n stateColor = \"\";\n subheadingUpdated: any;\n showSectionsBasedOnOptInEndDateReached = '0';\n hideResumeButton = false;\n\n constructor(public translate: TranslateService,\n public memberService: MemberService,\n private _storageService: StorageService,\n private _router: Router,\n private _stepsHelperService: StepsHelperService) {\n }\n\n ngOnInit(): void {\n this.currentDataOwner = this._stepsHelperService.getDataOwnerFromLocalStorage();\n this.currentStepDetails = this._stepsHelperService.getCurrentStepByRoute(this._router.url);\n this.mapToStates(this.currentStepDetails?.step_status_id);\n this.updateButtonState();\n\n this.showSectionsBasedOnOptInEndDateReached = this._storageService.getLocalStorage(appConstants.OptInEndDateReached);\n if (this.showSectionsBasedOnOptInEndDateReached == '1')\n this.hideResumeButton = true;\n if ((this.state == 'noChanges' || this.state == 'submittedChanges') && (this.showSectionsBasedOnOptInEndDateReached == '1')) {\n this.showSectionsBasedOnOptInEndDateReached = '0';\n }\n this.saveMyPreferrence();\n }\n\n async saveMyPreferrence() {\n let updateNeeded = false;\n let data = {\n 'display_selection': 'web',\n }\n let customerUpdateStep = await this._stepsHelperService.getCurrentStepByBinding(appConstants.WorkflowStep.CustomerUpdate);\n if (customerUpdateStep.data != null) {\n data = JSON.parse(customerUpdateStep.data);\n if(data.display_selection != 'web')\n updateNeeded = true\n data.display_selection = 'web';\n }\n else{\n updateNeeded = true;\n }\n if(updateNeeded){\n let updateEdit = await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.CustomerUpdate, null, data);\n }\n }\n\n mapToStates(stepStatusId: number) {\n let currentStatus = this.translate.instant('globalrichtext.CurrentStatus');\n switch (stepStatusId) {\n case STEP_STATUS.PENDING:\n this.state = 'pending';\n // this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.Pending'));\n break;\n case STEP_STATUS.NO_UPDATES_REQUIRED:\n this.state = 'noChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.NoUpdatesRequired'));\n break;\n case STEP_STATUS.IN_PROGRESS:\n this.state = 'confirmChanges';\n this.stateColor = 'b-yellow';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.InProgress'));\n break;\n case STEP_STATUS.UPDATED:\n this.state = 'submittedChanges';\n this.stateColor = 'b-green';\n this.subheadingUpdated = currentStatus.replace('{{Selection_Type}}', this.translate.instant('globaltext.Updated'));\n break;\n }\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n\n\n async updateStepStatusToInProgress() {\n let currentStepStatus = this._stepsHelperService.getCurrentStepByBinding(appConstants.WorkflowStep.CustomerUpdate);\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.CustomerUpdate, STEP_STATUS.IN_PROGRESS);\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n }\n this.mapToStates(STEP_STATUS.IN_PROGRESS);\n }\n\n\n async emitOnDataChanged(emitstate: boolean) {\n if (emitstate) {\n this.state = 'confirmChanges';\n this.updateButtonState();\n await this.updateStepStatusToInProgress();\n }\n }\n\n updateButtonState() {\n if (this.state === 'pending') {\n this.loadButtonText = this.translate.instant('globaltext.NoChangesButton');\n }\n else if (this.state === 'confirmChanges') {\n this.loadButtonText = this.translate.instant('globaltext.ConfirmChangesButton');\n }\n else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.loadButtonText = this.translate.instant('globaltext.ResumeButton');\n }\n }\n\n mainButtonClick() {\n if (this.state === 'pending') {\n this.showNoChangesPopup = true;\n }\n else if (this.state === 'confirmChanges') {\n this.showConfirmChangesPopup = true;\n }\n else if (this.state === 'submittedChanges' || this.state == 'noChanges') {\n this.state = 'confirmChanges';\n this.updateStepStatusToInProgress();\n }\n this.updateButtonState();\n }\n\n async emittedNoChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.CustomerUpdate, STEP_STATUS.NO_UPDATES_REQUIRED);\n this.mapToStates(STEP_STATUS.NO_UPDATES_REQUIRED);\n }\n this.showNoChangesPopup = false;\n }\n\n async emittedConfirmChangesPopup(event: any) {\n if (event) {\n this.state = 'submittedChanges';\n this.updateButtonState();\n await this._stepsHelperService.updateStepStatus(appConstants.WorkflowStep.CustomerUpdate, STEP_STATUS.UPDATED);\n this.mapToStates(STEP_STATUS.UPDATED);\n }\n this.showConfirmChangesPopup = false;\n }\n}\n","
\n
\n
\n \n \n \n

\n \n \n\n
\n \n
\n \n {{'globaltext.StepCompleteLabel' | translate}} {{'globaltext.WebTableSubmittedSuccessfully' |\n translate}} {{SubmittedDate}}\n \n
\n\n\n\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n FormArray,\n FormControl,\n FormGroup,\n NgForm,\n Validators,\n} from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {\n Customer,\n CustomerField,\n CustomerService,\n DataOwnerService,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n CancelEvent,\n CellClickEvent,\n CellCloseEvent,\n EditEvent,\n GridComponent,\n GridDataResult,\n RemoveEvent,\n SaveEvent,\n} from '@progress/kendo-angular-grid';\nimport { State } from '@progress/kendo-data-query';\nimport { ToastrService } from 'ngx-toastr';\nimport { Subject } from 'rxjs';\nimport { debounceTime, take } from 'rxjs/operators';\nimport { KendoGridHelper } from 'src/app/helpers/kendo-grid-helper';\nimport { MemberService } from 'src/app/services/member.service';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\nimport { appConstants } from 'src/app/shared/app-constants';\nimport { Guid } from 'guid-typescript';\nimport { DateHelper } from 'src/app/helpers/date.helper';\nimport { StorageService } from 'src/app/services/storage.service';\n\n@Component({\n selector: 'app-web-table',\n templateUrl: './web-table.component.html',\n styleUrls: ['./web-table.component.scss'],\n})\nexport class WebTableComponent implements OnInit {\n @Output() emitOnDataChanged: EventEmitter =\n new EventEmitter();\n\n mode = '';\n totalItems: any;\n gridData!: GridDataResult;\n public gridState: any = {\n sort: [\n {\n field: 'CustomerIdentifier',\n dir: 'asc',\n },\n ],\n skip: 0,\n take: 25,\n };\n searchQuery!: string;\n timeout: any;\n mobileDevice!: boolean;\n editCellRowIndex: number = 0;\n editCellColumnIndex: number = 0;\n isSavingAudit!: boolean;\n booleanTrue = true;\n booleanFalse = false;\n hasChangeAudit: boolean = false;\n loadingData: boolean = true;\n isReview = true;\n customerFields!: CustomerField[];\n showConfirmDelete = false;\n recordToDelete = 0;\n emptyCustomer: any;\n public formGroupMap = new Map();\n dataOwnerId!: any;\n\n @ViewChild('form') form: NgForm | undefined;\n @ViewChild('nativeForm') nativeForm!: ElementRef;\n @ViewChild(GridComponent) grid!: GridComponent;\n\n @Input() editable = '0';\n searchSubject: Subject = new Subject();\n\n engagement_entity!: any;\n\n constructor(\n public router: Router,\n private _activatedRoute: ActivatedRoute,\n public memberService: MemberService,\n private kendoHelper: KendoGridHelper,\n private customerService: CustomerService,\n private dataOwnerService: DataOwnerService,\n public _stepsHelperService: StepsHelperService,\n public translate: TranslateService,\n public toastr: ToastrService,\n private ngZone: NgZone,\n private _dateHelper: DateHelper,\n private _storageService: StorageService\n ) {\n this.fillEmptyCustomer();\n this.fetchEngagementEntity();\n _activatedRoute.params.subscribe((params) => {\n this.mode = params['mode'] ?? '';\n if ((this.mode && this.mode === 'edit') || this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n this.makeWebMySelection();\n });\n this.loadWebTableData(0);\n\n this.searchSubject.pipe(debounceTime(500)).subscribe(() => {\n this.getData();\n });\n }\n\n fetchEngagementEntity() {\n let dataOwnerString = this._storageService.getLocalStorage(\n appConstants.DataOwner\n );\n let dataOwnerDetails = JSON.parse(dataOwnerString);\n this.engagement_entity = dataOwnerDetails?.engagement_entity;\n this.dataOwnerId = dataOwnerDetails.id;\n }\n\n async makeWebMySelection() {\n let data = {\n display_selection: 'web',\n };\n if (this.router.url.indexOf('data-review') > -1) {\n let currentStepDetails =\n await this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerReview\n );\n if (currentStepDetails.status != STEP_STATUS.VIEWED)\n await this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerReview,\n STEP_STATUS.VIEWED,\n data\n );\n this._stepsHelperService.stepDataUpdate$.next(true);\n }\n }\n\n ngOnInit(): void {\n if (this.editable !== '0') {\n this.editable = '1';\n this.isReview = false;\n }\n }\n\n getDataTypeOfCustomerField(field_name: string): string {\n let typeOfCustomerField = typeof this.emptyCustomer[field_name];\n if (\n typeOfCustomerField == 'object' &&\n this.emptyCustomer[field_name] instanceof Date\n )\n return 'date';\n return typeOfCustomerField;\n }\n\n // region api call to get data\n async loadWebTableData(pageNo: number) {\n var customeWebColumns =\n await this.dataOwnerService.fetchCustomerFileColumns();\n this.customerFields = [];\n customeWebColumns\n .sort(this.sortByDisplayOrder)\n .forEach((ele: CustomerField) => {\n ele.field_name = this.camelToSnakeCase(ele.field_name);\n this.customerFields.push(ele);\n });\n await this.getData();\n }\n\n sortByDisplayOrder(a: any, b: any) {\n if (a.display_order < b.display_order) {\n return -1;\n }\n if (a.display_order > b.display_order) {\n return 1;\n }\n return 0;\n }\n\n searchAllColumns(event: KeyboardEvent) {\n if (\n this.searchQuery != null &&\n this.searchQuery != '' &&\n this.searchQuery.length >= 3\n ) {\n this.gridState.skip = 0;\n this.searchSubject.next();\n }\n\n //prevent form submission\n if (event.key === 'Enter') event.preventDefault();\n }\n\n updateFilterTypesOfColumns(gridColumnsArray: any) {\n gridColumnsArray.forEach((column: any) => {\n let columnDataType = this.getDataTypeOfCustomerField(column.field);\n if (columnDataType == 'string') column.filter = 'text';\n else if (columnDataType == 'number') column.filter = 'numeric';\n else column.filter = columnDataType;\n });\n return gridColumnsArray;\n }\n\n async getData() {\n // Setting datatype to filter in kendohelper as we cannot set dynamic filter types to kendogrid\n let gridColumnsArray = this.updateFilterTypesOfColumns(\n this.grid?.columns?.toArray()\n );\n\n const filter = this.kendoHelper.getPageApiWhereClause(\n this.gridState?.filter,\n gridColumnsArray,\n this.searchQuery\n );\n const sort = this.kendoHelper.getSortString(this.gridState?.sort);\n try {\n this.loadingData = true;\n let response = await this.customerService.page(\n sort,\n this.gridState.skip / this.gridState.take + 1,\n this.gridState.take,\n filter\n );\n this.gridData = {\n data: response.data,\n total: response.total_count,\n };\n this.createFormArray(response.data);\n } catch (err) {\n } finally {\n this.loadingData = false;\n this.fitColumns();\n }\n }\n\n public search() {\n if (this.timeout) clearTimeout(this.timeout);\n this.gridState.skip = 0;\n this.timeout = setTimeout(async () => {\n await this.getData();\n }, 500);\n }\n\n createFormArray(data: Customer[]) {\n let index = 0;\n data.forEach((item) => {\n this.formGroupMap.set(index, this.createFormGroup(item));\n index++;\n });\n }\n\n formatDateTimeValue(value: any) {\n return this._dateHelper.formatShortDate(value);\n }\n\n // endregion\n\n // region Grid Open/Close/fit\n\n openFullWindow() {\n this.router.navigate([\n '/web-table/' + (this.editable == '1' ? 'edit' : 'view'),\n ]);\n }\n\n closeFullWindow() {\n if (this.editable == '1') this.router.navigate(['/data-update/web']);\n else this.router.navigate(['/data-review/web']);\n }\n\n private fitColumns(): void {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n this.kendoHelper.fitColumns(this.grid);\n });\n }\n\n // endregion\n\n // region Grid State change\n\n public getFormControl(index: number, field: string): any {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n let formGroup = this.formGroupMap.get(index);\n return formGroup?.controls[field];\n }\n\n public isValidFormGroup(index: number) {\n if (index >= this.gridState.skip) index -= this.gridState.skip;\n\n let formGroup = this.formGroupMap.get(index);\n formGroup?.markAllAsTouched();\n return formGroup?.valid;\n }\n\n public editHandler({ sender, rowIndex, dataItem }: EditEvent): void {\n //this.formGroup = this.createFormGroup(dataItem);\n }\n\n // Create form group with the same keys as the grid columns.\n createFormGroup(dataItem: any) {\n const group: any = {};\n\n group['id'] = new FormControl(dataItem.id);\n this.customerFields.forEach((column: CustomerField) => {\n let validators = [];\n if (column.is_required) {\n validators.push(Validators.required);\n }\n if (column.validation_regex) {\n validators.push(Validators.pattern(column.validation_regex));\n }\n\n if (this.getDataTypeOfCustomerField(column.field_name) == 'date') {\n dataItem[column.field_name] = this._dateHelper.formatShortDate(\n dataItem[column.field_name]\n );\n }\n\n if (validators.length > 0)\n group[column.field_name] = new FormControl(\n dataItem[column.field_name],\n validators\n );\n else\n group[column.field_name] = new FormControl(dataItem[column.field_name]);\n });\n return new FormGroup(group);\n }\n\n public async onStateChange(state: State) {\n this.gridState = state;\n await this.getData();\n this.fitColumns();\n }\n\n // endregion\n // region Cell Click and edit hanlders\n public cellClickHandler(args: CellClickEvent) {\n if (\n !args.isEdited &&\n this.editCellRowIndex !== -1 &&\n args.column.field &&\n args.column.editable &&\n !this.isReview\n ) {\n //field bound to column i.e. not the actions / breach data columns\n this.editCellRowIndex = args.rowIndex;\n this.editCellColumnIndex = args.columnIndex;\n\n let currentFormGroup = this.createFormGroup(args.dataItem);\n args.sender.editCell(args.rowIndex, args.columnIndex, {\n ...currentFormGroup,\n });\n }\n }\n\n public async cellCloseHandler(args: CellCloseEvent) {\n if (!this.isValidFormGroup(args.rowIndex)) {\n // prevent closing the edited cell if there are invalid values.\n args.preventDefault();\n } else if (\n args.dataItem != undefined &&\n args.dataItem != undefined &&\n args.dataItem[args.column.field] !==\n this.getFormControl(args.rowIndex, args.column.field).value\n ) {\n try {\n this.loadingData = true;\n //args.dataItem.values['is_original'] = false;\n\n args.dataItem[args.column.field] = this.getFormControl(\n args.rowIndex,\n args.column.field\n ).value;\n\n let currentStepStatus =\n this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerUpdate\n );\n\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n let updateStepPromise = this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerUpdate,\n STEP_STATUS.IN_PROGRESS\n );\n let savePromise = await this.customerService.save(args.dataItem);\n await Promise.all([savePromise, updateStepPromise]);\n } else {\n await this.customerService.save(args.dataItem);\n }\n\n await this.getData();\n //await Promise.all([this.auditService.post(new AuditSaveRequest(this.environment.clientTypeId, AuditTypeIds.ConsumerUpdated, `User modified \"${args.column.title}\" for consumer id: ${args.dataItem.id}`)), this.getData()]);\n this.hasChangeAudit = true;\n this.emitOnDataChanged.emit(true);\n } catch {\n this.toastr.error(\n await this.translate.get('globaltext.WebTableSaveError').toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n //If cell being closed is not the one currently being edited, reopen the one being edited after saving / reloading data\n //This is a hack to mimic a tab-like navigation in the editable grid\n }\n }\n\n if (\n this.editCellColumnIndex >= 0 &&\n this.editCellRowIndex >= 0 &&\n (this.editCellRowIndex !== args.rowIndex ||\n this.editCellColumnIndex !== args.column.leafIndex)\n ) {\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n }\n\n public closeEditor() {\n this.editCellRowIndex = 0;\n this.editCellColumnIndex = 0;\n this.grid.closeCell();\n this.grid.closeRow();\n }\n\n public editNextCell(event: Event, column_name: any = null) {\n if (this.editCellRowIndex == -1) {\n if (this.editCellColumnIndex == -1) {\n var currentColumnIndex = this.customerFields.filter(\n (x) => x.field_name == column_name\n )[0].display_order;\n this.editCellColumnIndex = currentColumnIndex;\n }\n var isValidControl = this.getFormControl(-1, column_name)?.valid;\n if (isValidControl) {\n let nextColumnToEdit = this.customerFields.filter(\n (c: any) =>\n c.display_order > this.editCellColumnIndex && c.is_editable\n );\n if (nextColumnToEdit.length > 0) {\n this.editCellColumnIndex = nextColumnToEdit[0].display_order;\n }\n } else {\n this.getFormControl(-1, column_name)?.markAllAsTouched();\n event.preventDefault();\n }\n return;\n }\n\n if (!this.isValidFormGroup(this.editCellRowIndex)) {\n event.preventDefault();\n return;\n }\n let targetElement = event.target as HTMLInputElement;\n if (targetElement.reportValidity()) {\n //Only increment if form passes validation & isn't a new row\n if (this.editCellRowIndex > -1) {\n event.preventDefault();\n this.grid.closeCell();\n this.grid.closeRow();\n\n let nextColumnToEdit = this.customerFields.filter(\n (c: any) =>\n c.display_order > this.editCellColumnIndex && c.is_editable\n );\n if (nextColumnToEdit.length > 0) {\n this.editCellColumnIndex = nextColumnToEdit[0].display_order;\n } else {\n this.editCellRowIndex++;\n let firstColumnToEdit = this.customerFields.filter(\n (c: any) => c.is_editable\n );\n if (firstColumnToEdit.length > 0) {\n this.editCellColumnIndex = firstColumnToEdit[0].display_order;\n }\n }\n this.grid.editCell(this.editCellRowIndex, this.editCellColumnIndex, {\n ...this.gridData.data[this.editCellRowIndex],\n });\n }\n } else {\n event.preventDefault();\n }\n }\n fillEmptyCustomer() {\n this.emptyCustomer = {\n id: 0,\n sid: 0,\n first_name: '',\n last_name: '',\n customer_identifier: '',\n email: '',\n address1: '',\n address2: '',\n city: '',\n region: '',\n postal_code: '',\n text1: '',\n text2: '',\n text3: '',\n text4: '',\n text5: '',\n text6: '',\n text7: '',\n text8: '',\n text9: '',\n text10: '',\n text11: '',\n text12: '',\n text13: '',\n text14: '',\n text15: '',\n text16: '',\n text17: '',\n text18: '',\n text19: '',\n text20: '',\n text21: '',\n text22: '',\n text23: '',\n text24: '',\n text25: '',\n text26: '',\n text27: '',\n text28: '',\n text29: '',\n text30: '',\n text31: '',\n text32: '',\n text33: '',\n text34: '',\n text35: '',\n text36: '',\n text37: '',\n text38: '',\n text39: '',\n text40: '',\n date_time1: new Date(),\n date_time2: new Date(),\n date_time3: new Date(),\n date_time4: new Date(),\n date_time5: new Date(),\n date_time6: new Date(),\n date_time7: new Date(),\n date_time8: new Date(),\n date_time9: new Date(),\n date_time10: new Date(),\n number1: 0,\n number2: 0,\n number3: 0,\n number4: 0,\n number5: 0,\n number6: 0,\n number7: 0,\n number8: 0,\n number9: 0,\n number10: 0,\n boolean1: false,\n boolean2: false,\n boolean3: false,\n boolean4: false,\n boolean5: false,\n boolean6: false,\n boolean7: false,\n boolean8: false,\n boolean9: false,\n boolean10: false,\n create_time: new Date(),\n create_user_id: 0,\n modify_time: new Date(),\n modify_user_id: 0,\n delete_time: new Date(),\n delete_user_id: 0,\n notification_error_message: '',\n notification_status_id: 0,\n };\n }\n\n addDynamicRowToGrid() {\n let temp_form: any = {};\n this.customerFields.forEach((column: any) => {\n let data: any;\n if (column.field_name.startsWith('boolean')) data = false;\n else if (column.field_name.startsWith('number')) data = 0;\n else data = '';\n\n let validations = [];\n if (column.is_required) {\n validations.push(Validators.required);\n }\n if (column.validation_regex !== '') {\n validations.push(Validators.pattern(column.validation_regex));\n }\n if (validations.length > 0)\n temp_form[column.field_name] = new FormControl(\n data,\n Validators.compose(validations)\n );\n else temp_form[column.field_name] = new FormControl(data);\n });\n\n let formGroup = new FormGroup(temp_form);\n this.grid.addRow(formGroup);\n this.formGroupMap.set(-1, formGroup);\n }\n\n public addHandler() {\n this.closeEditor();\n this.editCellRowIndex = -1;\n this.editCellColumnIndex = -1;\n this.addDynamicRowToGrid();\n //this.grid.addRow({});\n }\n\n // Creates new record\n public async saveHandler(args: SaveEvent) {\n try {\n if (!this.isValidFormGroup(args.rowIndex)) {\n // prevent closing the edited cell if there are invalid values.\n return;\n }\n this.loadingData = true;\n this.hasChangeAudit = true;\n let formValue = this.formGroupMap.get(args.rowIndex)?.value;\n formValue['customer_identifier'] = Guid.create().toString();\n formValue['data_owner_id'] = this.dataOwnerId;\n let currentStepStatus = this._stepsHelperService.getCurrentStepByBinding(\n appConstants.WorkflowStep.CustomerUpdate\n );\n\n if (currentStepStatus.step_status_id != STEP_STATUS.IN_PROGRESS) {\n let updateStepPromise = this._stepsHelperService.updateStepStatus(\n appConstants.WorkflowStep.CustomerUpdate,\n STEP_STATUS.IN_PROGRESS\n );\n let savePromise = this.customerService.save(formValue);\n await Promise.all([savePromise, updateStepPromise]);\n } else {\n await this.customerService.save(formValue);\n }\n await this.getData();\n this.closeEditor();\n this.emitOnDataChanged.emit(true);\n } catch {\n this.toastr.error(\n await this.translate.get('globaltext.WebTableSaveError').toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n }\n }\n\n public async cancelHandler(args: CancelEvent) {\n if (args.isNew) {\n this.editCellRowIndex = -1;\n this.editCellColumnIndex = -1;\n this.formGroupMap.delete(-1);\n }\n this.closeEditor();\n }\n\n public dummySaveClick() {\n if (this.isValidFormGroup(this.editCellRowIndex)) {\n this.emitOnDataChanged.emit(true);\n this.closeEditor();\n }\n }\n\n public async removeHandler(args: RemoveEvent) {\n this.recordToDelete = 0;\n if (!args.isNew) {\n this.recordToDelete = args.dataItem['id'];\n this.showConfirmDelete = true;\n }\n }\n\n public async emittedConfirmDelete(event: any) {\n this.showConfirmDelete = false;\n if (event) {\n this.loadingData = true;\n try {\n let success = await this.customerService.delete(this.recordToDelete);\n if (success) {\n this.emitOnDataChanged.emit(true);\n await this.getData();\n } else {\n this.toastr.error(\n await this.translate\n .get('globaltext.WebTableRemoveError')\n .toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n }\n } catch {\n this.toastr.error(\n await this.translate\n .get('globaltext.WebTableRemoveError')\n .toPromise(),\n '',\n {\n positionClass: 'toast-bottom-center',\n }\n );\n } finally {\n this.loadingData = false;\n }\n }\n }\n\n get invalid() {\n for (let formGroup of this.formGroupMap.values()) {\n if (formGroup.invalid) return true;\n }\n return false;\n }\n\n // endregion\n\n // region helpers\n camelToSnakeCase(str: any) {\n str = str[0].toLowerCase() + str.substr(1);\n str = str.replace(/[A-Z]/g, (letter: any) => `_${letter.toLowerCase()}`);\n return str;\n }\n\n // end region\n}\n","
\n
\n
\n \n \n
\n
\n \n search \n
\n
\n \n open_in_new\n {{\n \"globaltext.ViewInFullWindowButton\" | translate\n }}\n \n \n \n {{\n \"globaltext.CloseFullWindowButton\" | translate\n }}\n \n
\n \n {{ \"globaltext.AddNewButton\" | translate }}\n \n
\n
\n
\n
\n \n \n \n \n Save\n \n \n Remove\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n *\n !\n
\n
\n \n \n \n \n {{ dataItem[customerField.field_name] }}\n

\n \n {{ formatDateTimeValue(dataItem[customerField.field_name]) }}\n

\n \n \n \n \n \n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StepsHelperService } from 'src/app/services/steps-helper.service';\n\n@Component({\n selector: 'app-webtable-or-file-selection',\n templateUrl: './webtable-or-file-selection.component.html',\n styleUrls: ['./webtable-or-file-selection.component.scss']\n})\nexport class WebtableOrFileSelectionComponent implements OnInit {\n\n pageDetails:any;\n loadedTip='';\n constructor(\n public translate: TranslateService,\n public router:Router,\n public stepsHelperService: StepsHelperService) { }\n\n ngOnInit(): void {\n }\n\n async navigateTo(page: string){\n this.router.navigateByUrl('/data-review/'+page);\n }\n\n closeTip(event: any) {\n this.loadedTip = '';\n }\n\n\n}\n","
\n
\n
\n \n {{'globaltext.interactive_web_table' | translate}}\n
\n \n
\n
\n OR\n
\n
\n
\n
\n \n {{'globaltext.file_exchange' | translate}}\n
\n
\n \n
\n
\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ContentService } from 'src/app/services/content.service';\n\n@Component({\n selector: 'app-important-information',\n templateUrl: './important-information.component.html',\n styleUrls: ['./important-information.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ImportantInformationComponent implements OnInit {\n\n\n Content='';\n constructor(private router: Router,\n public contentService: ContentService,\n public translate: TranslateService ) {\n }\n\n ngOnInit(): void {\n }\n\n nextPage(){\n this.router.navigate(['/mobile-device-notice']);\n }\n\n get UpdatedContent(){\n this.Content = this.translate.instant('globalrichtext.ImportantInformationContent');\n return this.contentService.replaceContentMonikers(this.Content);\n }\n}","
\n
\n
\n
\n \n
\n

{{'globaltext.ImportantInformationHeading' | translate}}

\n
\n
\n
\n
\n\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataOwnerService, SessionService } from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StorageService } from 'src/app/services/storage.service';\n\n@Component({\n selector: 'app-legal-disclaimer',\n templateUrl: './legal-disclaimer.component.html',\n styleUrls: ['./legal-disclaimer.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LegalDisclaimerComponent implements OnInit {\n\n constructor(private router: Router, \n public loadingService: LoadingService,\n public dataOwnerService: DataOwnerService, \n public storageService: StorageService,\n public sessionService: SessionService) { }\n\n ngOnInit(): void {\n }\n\n async nextPage(){\n try {\n this.loadingService.show();\n await this.dataOwnerService.beginWorkflow();\n await this.sessionService.completeWelcome();\n this.loadingService.hide();\n this.router.navigateByUrl('settingup?url=/home');\n } catch (err: any) {\n console.error(err);\n } finally {\n this.loadingService.hide();\n }\n }\n\n}\n","
\n
\n
\n
\n \n
\n

{{'globaltext.LegalDisclaimerHeading' | translate}}

\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-mobile-device-notice',\n templateUrl: './mobile-device-notice.component.html',\n styleUrls: ['./mobile-device-notice.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MobileDeviceNoticeComponent implements OnInit {\n\n constructor(private router: Router) { }\n\n ngOnInit(): void {\n }\n\n nextPage(){\n this.router.navigate(['/legal-disclaimer']);\n }\n\n}\n","
\n
\n
\n
\n \n
\n

{{'globaltext.NoticeToMobileUsersHeading' | translate}}

\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DataOwnerService } from '@cyber/navigator-services';\nimport { LoadingService } from 'src/app/services/loading.service';\nimport { StorageService } from 'src/app/services/storage.service';\nimport { appConstants } from 'src/app/shared/app-constants';\n\n@Component({\n selector: 'app-welcome',\n templateUrl: './welcome.component.html',\n styleUrls: ['./welcome.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class WelcomeComponent implements OnInit {\n constructor(private router: Router, public storageService: StorageService) {\n this.storageService.setCookie(appConstants.FirstTimeUser, '1');\n }\n\n async ngOnInit(): Promise { }\n\n nextPage() {\n this.router.navigate(['/important-information']);\n }\n}\n","
\n
\n
\n
\n \n
\n

{{'globaltext.WelcomeHeading' | translate}}

\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\nimport { RegistrationService, SessionService } from '@cyber/navigator-services';\nimport { switchMap } from 'rxjs/operators';\nimport { RegistrationState } from '../components/complete-registration/complete-registration.component';\nimport { LoadingService } from '../services/loading.service';\nimport { StorageService } from '../services/storage.service';\nimport { appConstants } from '../shared/app-constants';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SessionGuard implements CanActivate {\n constructor(\n private sessionService: SessionService,\n private router: Router,\n private storageService: StorageService,\n public loadingService: LoadingService,\n public registrationService: RegistrationService\n ) {}\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.sessionService.isAuthenticated$.pipe(\n switchMap(async (isAuthenticated) => {\n var cacheKey = localStorage.getItem('knn-cache');\n if (isAuthenticated && !cacheKey) {\n try {\n this.loadingService.show();\n const dataOwners =\n await this.sessionService.getRegisteredDataOwners();\n\n if (dataOwners?.length === 1) {\n await this.sessionService.beginSession(dataOwners[0].id);\n\n if (dataOwners[0].workflows.length == 0)\n return this.router.createUrlTree(['/settingup'], {\n queryParams: { url: '/welcome' },\n });\n\n if (\n this.storageService.getLocalStorage(appConstants.DataOwner) ==\n null\n )\n return this.router.createUrlTree(['/settingup'], {\n queryParams: { url: '/home' },\n });\n\n return true;\n } else if (dataOwners?.length > 1) {\n return this.router.navigateByUrl('/select-event', {\n state: {\n dataOwners: dataOwners,\n },\n });\n } else {\n //If user is authenticated but has no data owners attempt to finish setup\n try {\n let code = await this.registrationService.fetchIncompleteCode();\n if (code) {\n const state = {\n code: code,\n is_additional: false, //We can assume it is not additional due to dataOwners array having 0\n };\n this.sessionService.loginWithRedirect('/finish-setup', state);\n } else {\n return this.router.createUrlTree(['/error/Forbidden']);\n }\n } catch {\n return this.router.createUrlTree(['/error/deactivated']);\n }\n }\n } catch {\n return this.router.createUrlTree(['/error/Forbidden']);\n } finally {\n this.loadingService.hide();\n }\n } else if (isAuthenticated && cacheKey) {\n return true;\n }\n return false;\n })\n );\n }\n}\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { Pipe, PipeTransform } from \"@angular/core\";\nimport { AuthService } from \"@auth0/auth0-angular\";\nimport { CmsContentService } from \"@cyber/navigator-services\";\n\n@Pipe({\n name: 'authCmsFile'\n })\n export class AuthCmsFilePipe implements PipeTransform {\n \n constructor(\n private http: HttpClient,\n private cmsContentService: CmsContentService\n ) {}\n \n async transform(src: string): Promise {\n try {\n let slug = false;\n let global = false;\n let asset = src.split('?')[0];\n if(src.indexOf('slug=true') > -1){\n slug = true;\n }\n if(src.indexOf('global=true') > -1){\n global=true;\n }\n const dataBlob = (slug ? await this.cmsContentService.getAssetBySlug(asset, global) :\n await this.cmsContentService.getAssetById(asset, global));\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onloadend = () => resolve(reader.result as string);\n reader.readAsDataURL(dataBlob);\n });\n } catch {\n return '';\n }\n }\n \n }","import * as moment from 'moment';\n\nconst months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\nexport class DateHelper {\n formatToLocalMonthDate(dateTimeOffsetValue: any) {\n let localDate = new Date(dateTimeOffsetValue).toLocaleDateString();\n let displayDate = new Date(localDate);\n return `${months[displayDate.getMonth()]} ${this.padTo2Digits(\n displayDate.getDate()\n )}, ${displayDate.getFullYear()} ${this.formatAMPM(\n displayDate.getHours(),\n displayDate.getMinutes()\n )}`;\n }\n\n formatToDisplayDate(dateTimeOffsetValue: any, offset: any) {\n let displayDate = moment(dateTimeOffsetValue).utcOffset(offset);\n\n let sTimeZone = 'CT';\n switch (offset) {\n case '-04:00':\n sTimeZone = 'ET';\n break;\n case '-05:00':\n sTimeZone = 'CT';\n break;\n case '-06:00':\n sTimeZone = 'MT';\n break;\n case '-07:00':\n sTimeZone = 'PT';\n break;\n }\n return `${months[displayDate.month()]} ${this.padTo2Digits(\n displayDate.date()\n )}, ${displayDate.year()} ${this.formatAMPM(\n displayDate.hours(),\n displayDate.minutes()\n )} ${sTimeZone}`;\n }\n\n formatAMPM(hours: any, minutes: any) {\n let ampm = hours >= 12 ? 'PM' : 'AM';\n hours = hours % 12;\n hours = hours ? hours : 12;\n minutes = minutes.toString().padStart(2, '0');\n let strTime = hours + ':' + minutes + ' ' + ampm;\n return strTime;\n }\n\n private padTo2Digits(num: number) {\n return num.toString().padStart(2, '0');\n }\n\n formatDate(date: Date) {\n return (\n [\n date.getFullYear(),\n this.padTo2Digits(date.getMonth() + 1),\n this.padTo2Digits(date.getDate()),\n ].join('-') +\n ' ' +\n [\n this.padTo2Digits(date.getHours()),\n this.padTo2Digits(date.getMinutes()),\n this.padTo2Digits(date.getSeconds()),\n ].join(':')\n );\n }\n\n formatShortDate(datestring: any) {\n var date = new Date(datestring);\n if (!this.isValid(date)) {\n return datestring;\n }\n var dd = this.padTo2Digits(date.getDate());\n var mm = this.padTo2Digits(date.getMonth() + 1);\n var yyyy = date.getFullYear();\n return mm + '/' + dd + '/' + yyyy;\n }\n\n isFirstDateAfterSecondDate(dateValue1: any, dateValue2: any) {\n let date1 = new Date(dateValue1);\n let date2 = new Date(dateValue2);\n\n let utcDate1 = Date.UTC(\n date1.getUTCFullYear(),\n date1.getUTCMonth(),\n date1.getUTCDate(),\n date1.getUTCHours(),\n date1.getUTCMinutes()\n );\n let utcDate2 = Date.UTC(\n date2.getUTCFullYear(),\n date2.getUTCMonth(),\n date2.getUTCDate(),\n date2.getUTCHours(),\n date2.getUTCMinutes()\n );\n if (utcDate2 - utcDate1 > 0) return false;\n return true;\n }\n\n isFutureDate(dateValue1: any) {\n return this.isFirstDateAfterSecondDate(dateValue1, new Date());\n }\n\n isFutureDateWithTimeZone(dateValue1: any, timeZone: any) {\n let displayDate!: any;\n if (dateValue1 !== null && dateValue1 != undefined) {\n displayDate = moment(dateValue1).utcOffset(timeZone).toDate();\n }\n\n return this.isFirstDateAfterSecondDate(displayDate, new Date());\n }\n\n isValid(value: any) {\n let date = new Date(value);\n if (date.toString() == 'Invalid Date') return false;\n return true;\n }\n}\n","import { ChangeOfAddress, Customer } from '@cyber/navigator-services';\nimport {\n ColumnBase,\n ColumnComponent,\n GridComponent,\n} from '@progress/kendo-angular-grid';\nimport {\n CompositeFilterDescriptor,\n FilterDescriptor,\n SortDescriptor,\n} from '@progress/kendo-data-query';\n\nexport class KendoGridHelper {\n getDataFieldName(propertyName: string) {\n return propertyName.replace(/_/g, '');\n }\n\n getFilterString(\n field: string,\n operator: string,\n value: string | Number | Date\n ): string {\n let result = '';\n if (value instanceof Date) {\n //Discard any time associated with the value\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\n result = this.getDateOperator(field, operator, value);\n } else if (value instanceof Number) {\n result = this.getNumericOperator(field, operator, value);\n } else {\n let trimmedValue = value?.toString()?.trim() ?? '';\n result = this.getStringOperator(field, operator, trimmedValue);\n }\n return result;\n }\n\n getSortString(sorts: SortDescriptor[] | undefined): string {\n let result = '';\n if (sorts !== undefined && sorts[0] && sorts[0].dir) {\n result = this.getDataFieldName(sorts[0].field) + ' ' + sorts[0].dir;\n }\n return result;\n }\n\n getFullFilterString(filter: CompositeFilterDescriptor) {\n let result = undefined;\n if (filter) {\n for (var i = 0; i < filter.filters.length; i++) {\n let compositeFilter = filter.filters[i] as CompositeFilterDescriptor;\n for (var j = 0; j < compositeFilter.filters.length; j++) {\n let singleFilter = compositeFilter.filters[j] as FilterDescriptor;\n if (!result) {\n result = this.getFilterString(\n this.getDataFieldName(singleFilter.field as string),\n singleFilter.operator as string,\n singleFilter.value\n );\n } else {\n result += ` ${compositeFilter.logic} ${this.getFilterString(\n this.getDataFieldName(singleFilter.field as string),\n singleFilter.operator as string,\n singleFilter.value\n )}`;\n }\n }\n }\n }\n return result;\n }\n\n getSearchAllColumnsFilter(text: any, columns: ColumnBase[]): string {\n let searchFilter = '';\n let numberRegex = new RegExp('[0-9]{1,}[.0-9]?');\n for (let column of columns) {\n let columnComponent = column as ColumnComponent;\n if (columnComponent.field) {\n let columnName = this.getDataFieldName(columnComponent.field as string);\n if (columnComponent.filter === 'text') {\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.getFilterString(columnName, 'contains', text);\n }\n if (columnComponent.filter === 'numeric') {\n if (numberRegex.test(text) && parseInt(text) > 0)\n searchFilter +=\n (searchFilter ? ' OR ' : '') +\n this.getFilterString(columnName, 'eq', parseInt(text));\n }\n // TODO we may want to update the full text search to consider dates\n // Commeting date search for full text search\n // if (columnComponent.filter === 'date') {\n // if (moment(text, true).isValid())\n // searchFilter += (searchFilter? ' OR ' : '') + this.getFilterString(columnName, 'eq', new Date(text));\n // else if(moment(text,'YYYY-MM-DD', true).isValid())\n // searchFilter += (searchFilter? ' OR ' : '') + this.getFilterString(columnName, 'eq', new Date(text));\n // }\n }\n }\n return searchFilter;\n }\n\n getPageApiWhereClause(\n gridFilter: CompositeFilterDescriptor,\n gridColumns: ColumnBase[],\n searchText: string\n ) {\n let filter = this.getFullFilterString(gridFilter);\n if (searchText && searchText.length >= 3) {\n let searchFilter = this.getSearchAllColumnsFilter(\n searchText,\n gridColumns\n );\n if (filter) {\n filter = `${filter} AND (${searchFilter})`;\n } else {\n filter = searchFilter;\n }\n }\n return filter;\n }\n\n /* This method exists to convert the equals operator to a comparable expression for a date time offset comparsion.\n Since the kendo date filter only has date, we need to convert that to an expression that covers the full day time range */\n private getDateEqualsDateTimeClause(\n field: string,\n value: Date,\n equals: boolean\n ): string {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n return `((${field}>=\"${value.toISOString()}\" AND ${field}<\"${nextDay.toISOString()}\") = ${equals})`;\n }\n\n private getStringOperator(\n field: string,\n operator: string,\n value: string\n ): string {\n let result = '';\n switch (operator) {\n case 'startswith':\n case 'endswith':\n case 'contains': {\n result = `${field}.${operator}(\"${value}\")`;\n break;\n }\n case 'doesnotcontain': {\n result = `!${field}.contains(\"${value}\")`;\n break;\n }\n case 'isempty':\n case 'eq': {\n result = `${field}=\"${value}\"`;\n break;\n }\n case 'isnotempty':\n case 'neq': {\n result = `${field}!=\"${value}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n\n private getNumericOperator(\n field: string,\n operator: string,\n value: Number\n ): string {\n let result = '';\n switch (operator) {\n case 'isempty':\n case 'eq': {\n result = `${field}=\"${value}\"`;\n break;\n }\n case 'isnotempty':\n case 'neq': {\n result = `${field}!=\"${value}\"`;\n break;\n }\n case 'gte': {\n result = `${field}>=\"${value}\"`;\n break;\n }\n case 'gt': {\n result = `${field}>\"${value}\"`;\n break;\n }\n case 'lte': {\n result = `${field}<=\"${value}\"`;\n break;\n }\n case 'lt': {\n result = `${field}<\"${value}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n private getDateOperator(\n field: string,\n operator: string,\n value: Date\n ): string {\n let result = '';\n switch (operator) {\n case 'eq': {\n result = this.getDateEqualsDateTimeClause(field, value, true);\n break;\n }\n case 'neq': {\n result = this.getDateEqualsDateTimeClause(field, value, false);\n break;\n }\n case 'gte': {\n result = `${field}>=\"${value.toISOString()}\"`;\n break;\n }\n case 'gt': {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n result = `${field}>=\"${nextDay.toISOString()}\"`;\n break;\n }\n case 'lte': {\n let nextDay = new Date(value);\n nextDay.setDate(nextDay.getDate() + 1);\n result = `${field}<\"${nextDay.toISOString()}\"`;\n break;\n }\n case 'lt': {\n result = `${field}<\"${value.toISOString()}\"`;\n break;\n }\n case 'isnull': {\n result = `${field} = NULL`;\n break;\n }\n case 'isnotnull': {\n result = `${field} != NULL`;\n break;\n }\n default: {\n console.error('Unknown operator: ' + operator);\n }\n }\n return result;\n }\n\n fitColumns(grid: GridComponent): void {\n if (grid) {\n grid.autoFitColumns(grid.columns);\n\n /* The code below is an attempt to address the standard kendo grid behavior with autoFitColumns\n that causes there to be weird whitespace if the total autosized column widths end up being less \n than the width of the grid. This expands the last column to fill the remaining width (if possible)*/\n const tableWidth =\n document?.querySelector('.k-grid-table')?.offsetWidth ?? 0;\n const contentWidth =\n document?.querySelector('.k-grid-content')?.offsetWidth ??\n 0;\n let nameColumn = grid.columns.find((c) =>\n (c as ColumnComponent)?.field?.includes('name')\n );\n let lastColumn = grid.columns.get(grid.columns.length - 1);\n let column = nameColumn ?? lastColumn; //use the first column bound to a field containing 'name' or fallback to the last column\n if (column) {\n const availableWidth =\n column.width + (contentWidth - tableWidth - grid.scrollbarWidth);\n if (availableWidth > column.minResizableWidth) {\n column.width = availableWidth;\n }\n }\n }\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpProgressEvent,\n HttpEventType,\n HttpResponse,\n} from \"@angular/common/http\";\nimport { Observable, of, concat } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\n\n@Injectable()\nexport class UploadInterceptor implements HttpInterceptor {\n intercept(\n req: HttpRequest,\n next: HttpHandler\n ): Observable> {\n if (req.url === \"saveUrl\") {\n const events: Observable>[] = [0, 30, 60, 100].map((x) =>\n of({\n type: HttpEventType.UploadProgress,\n loaded: x,\n total: 100,\n }).pipe(delay(1000))\n );\n\n const success = of(new HttpResponse({ status: 200 })).pipe(delay(1000));\n events.push(success);\n\n return concat(...events);\n }\n\n if (req.url === \"removeUrl\") {\n return of(new HttpResponse({ status: 200 }));\n }\n\n return next.handle(req);\n }\n}","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard } from '@auth0/auth0-angular';\nimport { RoleGuard } from '@cyber/navigator-services';\nimport { CmsFileDownloadComponent } from 'src/app/components/cms-file-download/cms-file-download.component';\nimport { DashboardComponent } from 'src/app/components/dashboard/dashboard.component';\nimport { DynamicKendoComponent } from 'src/app/components/dynamic-kendo/dynamic-kendo.component';\nimport { DynamicComponent } from 'src/app/components/dynamic/dynamic.component';\nimport { FinishSetupComponent } from 'src/app/components/finish-setup/finish-setup.component';\nimport { ProfileComponent } from 'src/app/components/profile/profile.component';\nimport { ReviewChangeOfAddressFileComponent } from 'src/app/components/review-change-of-address-file/review-change-of-address-file.component';\nimport { ReviewChangeOfAddressWebComponent } from 'src/app/components/review-change-of-address-web/review-change-of-address-web.component';\nimport { ReviewCustomerExceptionsWebComponent } from 'src/app/components/review-customer-exceptions-web/review-customer-exceptions-web.component';\nimport { SelectEventComponent } from 'src/app/components/select-event/select-event.component';\nimport { WebTableComponent } from 'src/app/components/web-table/web-table.component';\nimport { ImportantInformationComponent } from 'src/app/components/welcome-steps/important-information/important-information.component';\nimport { LegalDisclaimerComponent } from 'src/app/components/welcome-steps/legal-disclaimer/legal-disclaimer.component';\nimport { MobileDeviceNoticeComponent } from 'src/app/components/welcome-steps/mobile-device-notice/mobile-device-notice.component';\nimport { WelcomeComponent } from 'src/app/components/welcome-steps/welcome/welcome.component';\nimport { SessionGuard } from 'src/app/guards/session-guard';\nimport { appConstants } from 'src/app/shared/app-constants';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'home', pathMatch: 'full' },\n {\n path: 'home',\n component: DashboardComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'info-center',\n component: DynamicComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'regulator-resources',\n component: DynamicComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'final-report',\n component: DynamicKendoComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n\n {\n path: 'data-review',\n loadChildren: () =>\n import('../../shared/shared-kendo/shared-kendo.module').then(\n (m) => m.SharedKendoModule\n ),\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'ncoa-review',\n loadChildren: () =>\n import('../../shared/shared-kendo/shared-kendo.module').then(\n (m) => m.SharedKendoModule\n ),\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'data-update',\n loadChildren: () =>\n import('../../shared/shared-kendo/shared-kendo.module').then(\n (m) => m.SharedKendoModule\n ),\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'notification-optin',\n component: DynamicComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'regulator-optin',\n component: DynamicComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'exceptions-review',\n loadChildren: () =>\n import('../../shared/shared-kendo/shared-kendo.module').then(\n (m) => m.SharedKendoModule\n ),\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'exceptions-table/:mode',\n component: ReviewCustomerExceptionsWebComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'web-table/:mode',\n component: WebTableComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'ncoa-table/:mode',\n component: ReviewChangeOfAddressWebComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'd/:page',\n component: DynamicComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'welcome',\n component: WelcomeComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'important-information',\n component: ImportantInformationComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'mobile-device-notice',\n component: MobileDeviceNoticeComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'legal-disclaimer',\n component: LegalDisclaimerComponent,\n canActivate: [\n AuthGuard,\n SessionGuard,\n RoleGuard.forRoles(appConstants.DataOwner),\n ],\n },\n {\n path: 'select-event',\n component: SelectEventComponent,\n canActivate: [AuthGuard, RoleGuard.forRoles(appConstants.DataOwner)],\n },\n {\n path: 'cms-file/:id/:filename',\n component: CmsFileDownloadComponent,\n canActivate: [AuthGuard, RoleGuard.forRoles(appConstants.DataOwner)],\n },\n {\n path: 'finish-setup',\n component: FinishSetupComponent,\n canActivate: [AuthGuard],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PostloginRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\n@Component({\n selector: 'app-postlogin',\n templateUrl: './postlogin.component.html',\n styleUrls: ['./postlogin.component.scss'],\n})\nexport class PostloginComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PostloginRoutingModule } from './postlogin-routing.module';\nimport { PostloginComponent } from './postlogin.component';\nimport { HeaderPostloginComponent } from 'src/app/components/header-postlogin/header-postlogin.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { DashboardComponent } from 'src/app/components/dashboard/dashboard.component';\nimport { StepCardComponent } from 'src/app/components/step-card/step-card.component';\nimport { UploadInterceptor } from 'src/app/helpers/upload.interceptor';\nimport { UploadModule } from '@progress/kendo-angular-upload';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { ProfileComponent } from 'src/app/components/profile/profile.component';\nimport { DynamicComponent } from 'src/app/components/dynamic/dynamic.component';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { PipeTransform, Pipe } from '@angular/core';\nimport { CoveredEntityFormComponent } from 'src/app/components/covered-entity-form/covered-entity-form.component';\nimport { ServicesOfferedComponent } from 'src/app/components/services-offered/services-offered.component';\nimport { DynamicChildComponent } from 'src/app/components/dynamic-child/dynamic-child.component';\nimport { SessionInterceptor } from '@cyber/navigator-services';\nimport { SelectEventComponent } from 'src/app/components/select-event/select-event.component';\nimport { WelcomeComponent } from 'src/app/components/welcome-steps/welcome/welcome.component';\nimport { AuthHttpInterceptor } from '@auth0/auth0-angular';\nimport { ImageComponent } from 'src/app/components/image/image.component';\nimport { AuthCmsFilePipe } from 'src/app/helpers/auth-cms-file.pipe';\nimport { CmsFileDownloadComponent } from 'src/app/components/cms-file-download/cms-file-download.component';\nimport { FinishSetupComponent } from 'src/app/components/finish-setup/finish-setup.component';\nimport { SharedKendoModule } from 'src/app/shared/shared-kendo/shared-kendo.module';\nimport { FormCollectionComponent } from 'src/app/components/form-collection/form-collection.component';\nimport { OptinComponent } from 'src/app/components/optin/optin.component';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(value: any) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@NgModule({\n declarations: [\n SafeHtmlPipe,\n AuthCmsFilePipe,\n ImageComponent,\n CmsFileDownloadComponent,\n CoveredEntityFormComponent,\n ServicesOfferedComponent,\n StepCardComponent,\n PostloginComponent,\n HeaderPostloginComponent,\n DashboardComponent,\n ProfileComponent,\n DynamicComponent,\n DynamicChildComponent,\n SelectEventComponent,\n WelcomeComponent,\n FinishSetupComponent,\n FormCollectionComponent,\n OptinComponent,\n ],\n imports: [\n CommonModule,\n SharedModule,\n\n ButtonsModule,\n PostloginRoutingModule,\n SharedKendoModule,\n ReactiveFormsModule,\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: UploadInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: SessionInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthHttpInterceptor,\n multi: true,\n },\n ],\n exports: [],\n})\nexport class PostloginModule {}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ForgotPasswordSuccessComponent } from 'src/app/components/forgot-password-success/forgot-password-success.component';\nimport { ForgotPasswordComponent } from 'src/app/components/forgot-password/forgot-password.component';\nimport { SignInComponent } from 'src/app/components/sign-in/sign-in.component';\nimport { RequestRegistrationLinkSuccessComponent } from 'src/app/components/request-registration-link-success/request-registration-link-success.component';\nimport { RequestRegistrationLinkComponent } from 'src/app/components/request-registration-link/request-registration-link.component';\nimport { ResetPasswordSuccessComponent } from 'src/app/components/reset-password-success/reset-password-success.component';\nimport { ResetPasswordComponent } from 'src/app/components/reset-password/reset-password.component';\nimport { RedeemComponent } from 'src/app/components/redeem/redeem.component';\nimport { RedeemAddUsersComponent } from 'src/app/components/redeem-add-users/redeem-add-users.component';\nimport { RedeemConfirmationComponent } from 'src/app/components/redeem-confirmation/redeem-confirmation.component';\nimport { GetStartedComponent } from 'src/app/components/get-started/get-started.component';\nimport { CompleteRegistrationComponent } from 'src/app/components/complete-registration/complete-registration.component';\nimport { AddEventComponent } from 'src/app/components/add-event/add-event.component';\nimport { CardErrorComponent } from 'src/app/components/card-error/card-error.component';\nimport { DynamicHtmlComponent } from 'src/app/components/dynamic-html/dynamic-html.component';\nimport { BrowserCompatibilityComponent } from 'src/app/components/footer-pages/browser-compatibility/browser-compatibility.component';\nimport { TermsOfUseComponent } from 'src/app/components/footer-pages/terms-of-use/terms-of-use.component';\nimport { EndUserAgreementComponent } from 'src/app/components/footer-pages/end-user-agreement/end-user-agreement.component';\nimport { ContactUsComponent } from 'src/app/components/contact-us/contact-us.component';\nimport { MaintenanceWrapperComponent } from 'src/app/components/maintenance-wrapper/maintenance-wrapper.component';\n\nconst routes: Routes = [\n { path: 'sign-in', component: SignInComponent },\n { path: 'forgot-password', component: ForgotPasswordComponent },\n {\n path: 'forgot-password-success',\n component: ForgotPasswordSuccessComponent,\n },\n { path: 'registration-reset', component: RequestRegistrationLinkComponent },\n {\n path: 'registration-reset-success',\n component: RequestRegistrationLinkSuccessComponent,\n },\n { path: 'password-reset', component: ResetPasswordComponent },\n { path: 'password-reset-success', component: ResetPasswordSuccessComponent },\n { path: 'redeem', component: RedeemComponent },\n {\n path: 'redeem/add-users',\n component: RedeemAddUsersComponent,\n },\n {\n path: 'redeem/confirmation',\n component: RedeemConfirmationComponent,\n },\n {\n path: 'register/:registrationCode',\n component: CompleteRegistrationComponent,\n },\n {\n path: 'add-engagement',\n component: AddEventComponent,\n },\n {\n path: 'get-started',\n component: GetStartedComponent,\n },\n {\n path: 'error/:error',\n component: CardErrorComponent,\n },\n {\n path: 'docs/:type',\n component: DynamicHtmlComponent,\n },\n {\n path: 'browser-compatibility',\n component: BrowserCompatibilityComponent,\n },\n {\n path: 'terms-of-use',\n component: TermsOfUseComponent,\n },\n {\n path: 'end-user-agreement',\n component: EndUserAgreementComponent,\n },\n {\n path: 'contact-us',\n component: ContactUsComponent,\n },\n {\n path: 'maintenance',\n component: MaintenanceWrapperComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class PreloginRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-prelogin',\n templateUrl: './prelogin.component.html',\n styleUrls: ['./prelogin.component.scss']\n})\nexport class PreloginComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PreloginRoutingModule } from './prelogin-routing.module';\nimport { PreloginComponent } from './prelogin.component';\nimport { HeaderPreloginComponent } from 'src/app/components/header-prelogin/header-prelogin.component';\nimport { SignInComponent } from 'src/app/components/sign-in/sign-in.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { ForgotPasswordComponent } from 'src/app/components/forgot-password/forgot-password.component';\nimport { RequestRegistrationLinkComponent } from 'src/app/components/request-registration-link/request-registration-link.component';\nimport { ResetPasswordComponent } from 'src/app/components/reset-password/reset-password.component';\nimport { ForgotPasswordSuccessComponent } from 'src/app/components/forgot-password-success/forgot-password-success.component';\nimport { RequestRegistrationLinkSuccessComponent } from 'src/app/components/request-registration-link-success/request-registration-link-success.component';\nimport { ResetPasswordSuccessComponent } from 'src/app/components/reset-password-success/reset-password-success.component';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { RedeemComponent } from 'src/app/components/redeem/redeem.component';\nimport { RedeemAddUsersComponent } from 'src/app/components/redeem-add-users/redeem-add-users.component';\nimport { RedeemConfirmationComponent } from 'src/app/components/redeem-confirmation/redeem-confirmation.component';\nimport { RedeemAddUserComponent } from 'src/app/components/redeem-add-user/redeem-add-user.component';\nimport { AddEventComponent } from 'src/app/components/add-event/add-event.component';\nimport { CardErrorComponent } from 'src/app/components/card-error/card-error.component';\nimport { CompleteRegistrationComponent } from 'src/app/components/complete-registration/complete-registration.component';\nimport { GetStartedComponent } from 'src/app/components/get-started/get-started.component';\nimport { ImportantInformationComponent } from 'src/app/components/welcome-steps/important-information/important-information.component';\nimport { LegalDisclaimerComponent } from 'src/app/components/welcome-steps/legal-disclaimer/legal-disclaimer.component';\nimport { MobileDeviceNoticeComponent } from 'src/app/components/welcome-steps/mobile-device-notice/mobile-device-notice.component';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { DynamicHtmlComponent } from 'src/app/components/dynamic-html/dynamic-html.component';\nimport { BrowserCompatibilityComponent } from 'src/app/components/footer-pages/browser-compatibility/browser-compatibility.component';\nimport { EndUserAgreementComponent } from 'src/app/components/footer-pages/end-user-agreement/end-user-agreement.component';\nimport { TermsOfUseComponent } from 'src/app/components/footer-pages/terms-of-use/terms-of-use.component';\nimport { ContactUsComponent } from 'src/app/components/contact-us/contact-us.component';\nimport { NavigatorServicesModule } from '@cyber/navigator-services';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(value: any) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@NgModule({\n declarations: [\n PreloginComponent,\n HeaderPreloginComponent,\n SignInComponent,\n ForgotPasswordComponent,\n ForgotPasswordSuccessComponent,\n RequestRegistrationLinkComponent,\n RequestRegistrationLinkSuccessComponent,\n ResetPasswordComponent,\n ResetPasswordSuccessComponent,\n RedeemComponent,\n RedeemAddUserComponent,\n RedeemAddUsersComponent,\n RedeemConfirmationComponent,\n GetStartedComponent,\n ImportantInformationComponent,\n MobileDeviceNoticeComponent,\n LegalDisclaimerComponent,\n AddEventComponent,\n CardErrorComponent,\n CompleteRegistrationComponent,\n SafeHtmlPipe,\n DynamicHtmlComponent,\n TermsOfUseComponent,\n EndUserAgreementComponent,\n BrowserCompatibilityComponent,\n ContactUsComponent,\n ],\n imports: [\n CommonModule,\n SharedModule,\n PreloginRoutingModule,\n ReactiveFormsModule,\n NavigatorServicesModule,\n ],\n providers: [],\n exports: [],\n})\nexport class PreloginModule {}\n","import { Injectable } from '@angular/core';\nimport { AppConfigService, CmsContentService } from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { DateHelper } from '../helpers/date.helper';\nimport { NavigatorConfig } from '../navigator-config';\nimport { appConstants } from '../shared/app-constants';\nimport { LoadingService } from './loading.service';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ContentService {\n private contentLoaded = false;\n private contentLoadedBehaviorSubject = new BehaviorSubject(\n this.contentLoaded\n );\n\n constructor(\n public loadingService: LoadingService,\n public translateService: TranslateService,\n public cmsContentService: CmsContentService,\n public storageService: StorageService,\n public navigatorConfig: AppConfigService,\n private _dateHelper: DateHelper\n ) {}\n\n public replaceContentMonikers(Content: string): string {\n while (Content.indexOf('[icon:') > -1) {\n let icon = Content.substring(\n Content.indexOf('[icon:') + 6,\n Content.indexOf(':icon]')\n );\n Content = Content.replace(\n '[icon:' + icon + ':icon]',\n \"\" + icon + ''\n );\n }\n while (Content.indexOf('[outlineicon:') > -1) {\n let icon = Content.substring(\n Content.indexOf('[outlineicon:') + 13,\n Content.indexOf(':outlineicon]')\n );\n Content = Content.replace(\n '[outlineicon:' + icon + ':outlineicon]',\n \"\" + icon + ''\n );\n }\n return Content;\n }\n\n public async loadCmsContent(reload: boolean = false) {\n this.contentLoadedBehaviorSubject.next(false);\n\n let lang = 'en';\n let currentEngagementId = 0;\n let currentVariationId = 0;\n let dataOwnerDetails: any;\n let dataOwnerDetailsString = this.storageService.getLocalStorage(\n appConstants.DataOwner\n );\n\n if (dataOwnerDetailsString != '' && dataOwnerDetailsString != undefined) {\n dataOwnerDetails = JSON.parse(dataOwnerDetailsString);\n currentEngagementId = dataOwnerDetails?.engagement_id;\n currentVariationId = dataOwnerDetails?.engagement_cms_variation_id;\n }\n\n let contentCacheKey =\n appConstants.ContentLastModified +\n '-' +\n currentEngagementId +\n '-' +\n currentVariationId;\n let cacheLastModified =\n this.storageService.getLocalStorage(contentCacheKey);\n\n if (cacheLastModified == null || cacheLastModified == '') {\n reload = true;\n } else {\n let lastModifiedDate =\n await this.cmsContentService.getEngagementContentLastModified();\n if (\n this._dateHelper.isFirstDateAfterSecondDate(\n lastModifiedDate,\n cacheLastModified\n )\n )\n reload = true;\n }\n\n if (\n !reload &&\n this.storageService.localStorageTranslationExists(`language-${lang}`)\n ) {\n let data = this.storageService.getLocalStorage(`language-${lang}`);\n this.translateService.setTranslation(lang, JSON.parse(data));\n this.contentLoadedBehaviorSubject.next(true);\n this.loadingService.hide();\n } else {\n this.cmsContentService\n .getPageContent(lang)\n .then((jsonData: any) => {\n let jsonString = JSON.stringify(jsonData.data);\n //replace engagement name from localstorage\n\n jsonString = jsonString.replace(\n /{{FromEmail}}/g,\n appConstants.FromEmail\n );\n jsonString = jsonString.replace(\n /{{ContactEmail}}/g,\n appConstants.ContactEmail\n );\n\n let imageAssetIds = [];\n\n let appConfig = this.navigatorConfig.getConfig();\n if (jsonString.indexOf(appConfig.cmsAssetUrl) > -1) {\n let cmsAssetUrl =\n '(.*?)*';\n let replaceWith =\n '$4';\n\n let regexCmsAssetUrl = new RegExp(cmsAssetUrl);\n while (jsonString.match(regexCmsAssetUrl))\n jsonString = jsonString.replace(regexCmsAssetUrl, replaceWith);\n\n let cmsAssetImgUrl =\n '*';\n let replaceWithImg = '';\n\n let regexCmsAssetImgUrl = new RegExp(cmsAssetImgUrl);\n while (jsonString.match(regexCmsAssetImgUrl)) {\n let regexMatches = jsonString.match(regexCmsAssetImgUrl);\n if (regexMatches) imageAssetIds.push(regexMatches[1]);\n jsonString = jsonString.replace(\n regexCmsAssetImgUrl,\n replaceWithImg\n );\n }\n }\n jsonString = this.replaceContentMonikers(jsonString);\n if (\n dataOwnerDetailsString != '' &&\n dataOwnerDetailsString != undefined\n ) {\n jsonString = jsonString.replace(\n /{{EngagementName}}/g,\n dataOwnerDetails?.engagement_entity?.display_name\n );\n\n //replace optin enddate from cookie\n let optinEndDate = this.storageService.getLocalStorage(\n appConstants.cookieOptInEndDate\n );\n jsonString = jsonString.replace(/{{OptInEndDate}}/g, optinEndDate);\n\n let optinStartDate = this.storageService.getLocalStorage(\n appConstants.cookieOptInStartDate\n );\n jsonString = jsonString.replace(\n /{{OptInStartDate}}/g,\n optinStartDate\n );\n }\n\n this.storageService.setLocalStorage(`language-${lang}`, jsonString);\n this.storageService.setLocalStorage(\n contentCacheKey,\n jsonData.last_modified_date\n );\n this.replaceImageAssets(imageAssetIds, lang);\n\n this.translateService.setTranslation(lang, JSON.parse(jsonString));\n this.contentLoadedBehaviorSubject.next(true);\n this.loadingService.hide();\n })\n .catch((error: any) => {\n console.error(error);\n });\n }\n }\n\n async replaceImageAssets(assetIds: string[], lang: string) {\n let translationContent = this.storageService.getLocalStorage(\n `language-${lang}`\n );\n assetIds.forEach(async (assetId: string) => {\n let response = await this.replaceImageAsset(assetId, lang);\n let originalValue = new RegExp(`${assetId}`);\n let valueToReplace = response;\n translationContent = translationContent.replace(\n originalValue,\n valueToReplace\n );\n this.storageService.setLocalStorage(\n `language-${lang}`,\n translationContent\n );\n this.translateService.setTranslation(\n lang,\n JSON.parse(translationContent)\n );\n });\n }\n async replaceImageAsset(assetId: string, lang: string) {\n const dataBlob = await this.cmsContentService.getAssetById(assetId);\n const reader = new FileReader();\n return new Promise((resolve, reject) => {\n reader.onloadend = () => resolve(reader.result as string);\n reader.readAsDataURL(dataBlob);\n });\n }\n\n public getContentState() {\n return this.contentLoadedBehaviorSubject;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\n@Injectable({\n providedIn: \"root\"\n})\nexport class DigicertService {\n\n constructor(private router: Router) {\n }\n\n digiCertHeadScripts(sealCode: string) {\n const head = document.getElementsByTagName(\"head\")[0];\n const digiCertScriptTag = document.createElement(\"script\");\n\n digiCertScriptTag.innerHTML = `\n var __dcid = __dcid || [];\n __dcid.push([\"DigiCertClickID_` + sealCode + `\", \"3\", \"m\", \"black\", \"` + sealCode + `\"]);\n (function () {\n var cid = document.createElement(\"script\");\n cid.async = true;\n cid.src = \"//seal.digicert.com/seals/cascade/seal.min.js\";\n var s = document.getElementsByTagName(\"script\");\n var ls = s[(s.length - 1)];\n ls.parentNode.insertBefore(cid, ls.nextSibling);\n }());`;\n\n head.insertBefore(digiCertScriptTag, head.firstChild);\n }\n}\n","import {\n CustomerService,\n DataOwnerEntity,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { TranslateService } from '@ngx-translate/core';\nimport { StepsHelperService } from './steps-helper.service';\nimport { StorageService } from './storage.service';\nimport { appConstants } from '../shared/app-constants';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DynamicComponentHelperService {\n current_page = '';\n current_page_content: any = {};\n loaded = false;\n currentStepNo = 0;\n totalSteps = 0;\n prevUrl = '';\n nextUrl = '';\n enableNextButton = false;\n dataOwnerWorkflowSteps: any;\n dataOwnerDetails!: DataOwnerEntity;\n dataOwnerId = 0;\n currentStep: any;\n showStepStatusOnly = false;\n currentStatusContent = '';\n pageContent = '';\n showInformationBox = false;\n totalCustomerRecordsCount = 0;\n faqs!: any[];\n cms_page_data: any;\n entireData = {};\n showStepNotAvailable: boolean = false;\n\n public entireDataBS = new BehaviorSubject(this.entireData);\n constructor(\n private _storageService: StorageService,\n private _stepsHelperService: StepsHelperService,\n private customerService: CustomerService,\n private translate: TranslateService\n ) {\n this._stepsHelperService.stepDataUpdate$.subscribe((data: any) => {\n if (data) {\n this.updateData();\n }\n });\n }\n\n getUpdatedData() {\n return this.entireDataBS;\n }\n\n updateData() {\n this.entireData = {\n current_page: this.current_page,\n current_page_content: this.current_page_content,\n loaded: this.loaded,\n currentStepNo: this.currentStepNo,\n totalSteps: this.totalSteps,\n prevUrl: this.prevUrl,\n nextUrl: this.nextUrl,\n enableNextButton: this.enableNextButton,\n dataOwnerWorkflowSteps: this.dataOwnerWorkflowSteps,\n dataOwnerDetails: this.dataOwnerDetails,\n dataOwnerId: this.dataOwnerId,\n currentStep: this.currentStep,\n showStepStatusOnly: this.showStepStatusOnly,\n currentStatusContent: this.currentStatusContent,\n showStepNotAvailable: this.showStepNotAvailable,\n pageContent: this.pageContent,\n showInformationBox: this.showInformationBox,\n totalCustomerRecordsCount: this.totalCustomerRecordsCount,\n faqs: this.faqs,\n cms_page_data: this.cms_page_data,\n };\n this.entireDataBS.next(this.entireData);\n }\n\n async getCurrentPageFromUrl(route: string) {\n this.dataOwnerWorkflowSteps = JSON.parse(\n this._storageService.getLocalStorage(appConstants.DataOwnerSteps)\n );\n this.dataOwnerDetails = JSON.parse(\n this._storageService.getLocalStorage(appConstants.DataOwner)\n );\n\n let current_page_routes = route.split('/');\n let currentStep = this._stepsHelperService.getCurrentStepByRoute(route);\n\n this.totalSteps = this.dataOwnerWorkflowSteps?.length;\n this.currentStepNo =\n this._stepsHelperService.getCurrentStepIndex(currentStep);\n let prevStepDetails: any;\n let nextStepDetails: any;\n\n if (this.currentStepNo !== -1) {\n if (this.currentStepNo > 0) {\n prevStepDetails = this.dataOwnerWorkflowSteps[this.currentStepNo - 1];\n }\n if (this.currentStepNo < this.dataOwnerWorkflowSteps?.length - 1) {\n nextStepDetails = this.dataOwnerWorkflowSteps[this.currentStepNo + 1];\n }\n\n this.prevUrl = this.getStepUrls(\n prevStepDetails?.step.page_route ?? '/home',\n prevStepDetails\n );\n this.nextUrl = this.getStepUrls(\n nextStepDetails?.step.page_route ?? '/home',\n nextStepDetails\n );\n }\n\n this.current_page = currentStep?.step?.cms_binding;\n this.formatCurrentPageBindingName(currentStep, current_page_routes);\n\n this.showStepStatusOnly = false;\n await this.updateCurrentStepStatus(currentStep);\n\n if (this.current_page == appConstants.WorkflowStep.CustomerReview) {\n let recordsCount = await this.customerService.page('', 1, 1, '');\n this.totalCustomerRecordsCount = recordsCount.total_count;\n }\n\n this.currentStep = currentStep;\n this.showInformationBox = this.getShowInformationBox();\n\n this.translate.stream('page').subscribe((res: any) => {\n this.cms_page_data = res;\n this.current_page_content = this.cms_page_data[this.current_page];\n if (this.current_page == appConstants.WorkflowStep.CustomerReview) {\n this.updateTotalRecordsCount();\n }\n this.loaded = true;\n this.updateData();\n });\n }\n\n private formatCurrentPageBindingName(\n currentStep: any,\n current_page_routes: any\n ) {\n if (\n (this.current_page == appConstants.WorkflowStep.CustomerReview ||\n this.current_page == appConstants.WorkflowStep.CustomerUpdate ||\n this.current_page == appConstants.WorkflowStep.NCOA_Review ||\n this.current_page == appConstants.WorkflowStep.Exceptions_Review) &&\n (currentStep?.data != null || current_page_routes.length > 2)\n ) {\n if (currentStep?.data) {\n let currentStepData = JSON.parse(currentStep?.data);\n if (\n current_page_routes.length > 1 &&\n currentStepData.display_selection !=\n this.transform(current_page_routes[2])\n )\n this.current_page =\n this.current_page + '_' + this.transform(current_page_routes[2]);\n else\n this.current_page =\n this.current_page +\n '_' +\n this.transform(currentStepData?.display_selection);\n } else {\n this.current_page =\n this.current_page + '_' + this.transform(current_page_routes[2]);\n }\n }\n }\n\n private getStepUrls(url: string, stepDetails: any) {\n let generatedUrl = url;\n if (\n (stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.CustomerReview ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.CustomerUpdate ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.NCOA_Review ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.Exceptions_Review) &&\n stepDetails?.data != null\n ) {\n let stepData = JSON.parse(stepDetails?.data);\n generatedUrl = generatedUrl + '/' + stepData.display_selection;\n } else {\n if (\n (stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.CustomerReview ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.CustomerUpdate ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.NCOA_Review ||\n stepDetails?.step?.cms_binding ==\n appConstants.WorkflowStep.Exceptions_Review) &&\n stepDetails?.data == null\n ) {\n generatedUrl = generatedUrl + '/web';\n }\n }\n return generatedUrl;\n }\n\n private getShowInformationBox() {\n return (\n (this.current_page !== 'CustomerUpdate_Web' && !this.enableNextButton) ||\n (this.current_page !== 'CustomerUpdate_File' && !this.enableNextButton)\n );\n }\n\n private async updateCurrentStepStatus(currentStep: any) {\n switch (currentStep?.step?.cms_binding) {\n case appConstants.WorkflowStep.Regulator_Notice:\n case appConstants.WorkflowStep.InfoCenter:\n this.translate\n .get('page.' + currentStep?.step?.cms_binding + '.pagecomponents')\n .subscribe(async (res: any) => {\n let stepData = res;\n let hasOptIn = stepData.filter(\n (item: any) =>\n item.component == 'Optin' || item.component == 'FormCollection'\n );\n if (hasOptIn.length == 0) {\n await this._stepsHelperService.updateStepStatus(\n currentStep?.step?.cms_binding,\n STEP_STATUS.VIEWED\n );\n }\n });\n break;\n case appConstants.WorkflowStep.CustomerUpdate:\n case appConstants.WorkflowStep.Exceptions_Review:\n case appConstants.WorkflowStep.NCOA_Review:\n if (currentStep.step_status_id == STEP_STATUS.NA_OPTED_OUT)\n this.showStepStatusOnly = true;\n let Content = this.translate.instant('globalrichtext.CurrentStatus');\n this.currentStatusContent = Content.replace(\n '{{Selection_Type}}',\n this.translate.instant(\n 'globaltext.Status_' + currentStep.step_status_id\n )\n );\n this.showStepNotAvailable = true;\n break;\n }\n }\n\n private transform(value: string): string {\n if (value) {\n let first = value.substr(0, 1).toUpperCase();\n return first + value.substr(1);\n }\n return '';\n }\n\n private updateTotalRecordsCount() {\n let json_content = this.current_page_content;\n let string_content = JSON.stringify(json_content);\n string_content = this.checkAndReplaceValueInString(\n string_content,\n '{{total_records}}',\n this.totalCustomerRecordsCount\n );\n this.current_page_content = JSON.parse(string_content);\n }\n\n private checkAndReplaceValueInString(\n data: any,\n original_value: any,\n replace_value: any\n ) {\n if (data?.indexOf(original_value) >= 0) {\n data = data.replace(original_value, replace_value);\n }\n return data;\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({\n providedIn:'root'\n})\n\nexport class LoadingService{\n private isLoading = false;\n public BehaviorSubject = new BehaviorSubject(this.isLoading);\n\n public show(){\n this.isLoading = true;\n this.BehaviorSubject.next(this.isLoading);\n }\n\n public hide(){\n this.isLoading = false;\n this.BehaviorSubject.next(this.isLoading);\n }\n\n public getLoading(){\n return this.BehaviorSubject;\n }\n\n public getLoadingStatus(){\n return this.isLoading;\n }\n\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MemberService {\n\n constructor() { }\n\n private isFileUploaded = false;\n private currentStep!: any;\n public isFileUploadeBehaviorSubject = new BehaviorSubject(this.isFileUploaded);\n public currentStepBehaviorSubject = new BehaviorSubject(this.currentStep);\n public errorInForm = new BehaviorSubject(false);\n\n public setFileUploadStatus(value: any) {\n this.isFileUploaded = value;\n this.isFileUploadeBehaviorSubject.next(this.isFileUploaded);\n }\n\n public getFileUploadStatus() {\n return this.isFileUploaded;\n }\n\n public getFileUploaded() {\n return this.isFileUploadeBehaviorSubject;\n }\n\n\n public setCurrentStep(value: any) {\n this.currentStep = value;\n this.currentStepBehaviorSubject.next(this.currentStep);\n }\n\n public getCurrentStepData() {\n return this.currentStep;\n }\n\n public getCurrentStep() {\n return this.currentStepBehaviorSubject;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Language } from '../models/language';\nimport { appConstants } from '../shared/app-constants';\nimport { IRegion, regionConstants } from '../shared/region-resource-constants';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RegionalDataService {\n private messageSource = new BehaviorSubject('languagechanges');\n \n constructor(public storageService: StorageService,public translateService: TranslateService) { }\n\n \n get hostRegion(): string {\n var defaultCountry = \"US\";\n var url = document.location.hostname.toLowerCase();\n\n var urlParts = url.split('.');\n var urlSuffix = urlParts[urlParts.length - 1].toLowerCase();\n switch (urlSuffix)\n {\n case \"com\": {\n defaultCountry = \"US\";\n break;\n }\n case \"ca\": {\n defaultCountry = \"CA\";\n break;\n }\n case \"uk\": {\n defaultCountry = \"UK\";\n break;\n }\n default: {\n defaultCountry = \"US\";\n break;\n }\n }\n\n this.storageService.setCookie(appConstants.sessionCookieCountry, defaultCountry);\n return defaultCountry;\n }\n\n get regionConst(): any {\n var regionname = this.hostRegion + \"Region\";\n return regionConstants.get(regionname);\n }\n\n get Languages(): Language[] {\n return this.regionConst.RegionalLanguages;\n }\n\n //Get Language Codes\n get LanguageCodes(): string[] {\n return this.Languages.map((x) => x.code);\n }\n\n //setting language code when language is selected\n set LanguageCode(code: string) {\n this.storageService.setCookie(appConstants.sessionLanguageCode, code);\n this.translateService.use(code);\n this.changeLanguageCode(code);\n }\n\n changeLanguageCode(message: string) {\n this.messageSource.next(message)\n }\n\n get DefaultLanguage(): string {\n let defaultlang: string;\n defaultlang = \"en_US\";\n\n if (this.Languages.length > 0) {\n this.Languages.forEach(function (a) {\n if (a.default != undefined && a.default === true) {\n defaultlang = a.code;\n }\n });\n }\n\n return defaultlang;\n }\n\n //get language code from cookie\n get LanguageCode(): string {\n const currentLangCode = this.storageService.getCookie(appConstants.sessionLanguageCode);\n return this.ValidLanguageCheck(currentLangCode);\n }\n\n ValidLanguageCheck(languageCode: string) {\n if (\n languageCode != \"\" &&\n this.Languages.length > 0 &&\n this.LanguageCodes.indexOf(languageCode) !== -1\n ) {\n return languageCode;\n } else {\n languageCode = this.DefaultLanguage;\n this.LanguageCode = languageCode;\n return languageCode;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport {\n DataOwnerService,\n DataOwnerWorkflowStepEntity,\n STEP_STATUS,\n} from '@cyber/navigator-services';\nimport { BehaviorSubject } from 'rxjs';\nimport { appConstants } from '../shared/app-constants';\nimport { LoadingService } from './loading.service';\nimport { MemberService } from './member.service';\nimport { StorageService } from './storage.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StepsHelperService {\n private updatedStep = false;\n public stepDataUpdate$ = new BehaviorSubject(this.updatedStep);\n dataOwnerWorkflowSteps!: DataOwnerWorkflowStepEntity[];\n constructor(\n private _storageService: StorageService,\n private _dataOwnerService: DataOwnerService,\n private router: Router,\n private _memberService: MemberService,\n private loadingService: LoadingService\n ) {}\n\n updateStepStatus(binding: string, status: any = null, data: any = '') {\n var promise = new Promise((resolve, reject) => {\n this.getDataOwnerFlowStepsFromLocalStorage();\n let currentStep: DataOwnerWorkflowStepEntity =\n this.getCurrentStepByBinding(binding);\n let currentStepIndex = this.getCurrentStepIndex(currentStep);\n if (status != null) currentStep.step_status_id = parseInt(status);\n if (data != null && data != '') {\n currentStep['data'] = JSON.stringify(data);\n }\n currentStep.user = JSON.parse(\n this._storageService.getLocalStorage(appConstants.User)\n );\n currentStep.modify_time = new Date();\n this.loadingService.show();\n this._dataOwnerService\n .saveWorkflowStep(currentStep)\n .then((d: any) => {\n this.loadingService.hide();\n // update local storage\n this.dataOwnerWorkflowSteps[currentStepIndex] = currentStep;\n this._memberService.setCurrentStep(currentStep);\n this._storageService.setLocalStorage(\n appConstants.DataOwnerSteps,\n JSON.stringify(this.dataOwnerWorkflowSteps)\n );\n resolve();\n })\n .catch((e: any) => {\n reject();\n })\n .finally(() => {\n resolve();\n });\n });\n return promise;\n }\n\n getDataOwnerFlowStepsFromLocalStorage() {\n let json_data = this._storageService.getLocalStorage(\n appConstants.DataOwnerSteps\n );\n if (\n json_data != null &&\n json_data != '' &&\n json_data != undefined &&\n json_data != 'undefined' &&\n json_data != '{}'\n ) {\n this.dataOwnerWorkflowSteps = JSON.parse(json_data);\n }\n }\n\n getDataOwnerFromLocalStorage() {\n let json_data = this._storageService.getLocalStorage(\n appConstants.DataOwner\n );\n if (\n json_data != null &&\n json_data != '' &&\n json_data != undefined &&\n json_data != 'undefined' &&\n json_data != '{}'\n ) {\n return JSON.parse(json_data);\n }\n }\n\n getCurrentStepByRoute(route: string): any {\n this.getDataOwnerFlowStepsFromLocalStorage();\n let current_page_routes = route.split('/');\n let current_page_route = '/' + current_page_routes[1];\n let currentStep = this.dataOwnerWorkflowSteps?.find(\n (x: any) => x.step.page_route == current_page_route\n );\n this._memberService.setCurrentStep(currentStep);\n return currentStep;\n }\n\n getCurrentStepIndex(currentStep: any) {\n this.getDataOwnerFlowStepsFromLocalStorage();\n let currentStepIndex = this.dataOwnerWorkflowSteps.findIndex(\n (x: DataOwnerWorkflowStepEntity) => x.id == currentStep.id\n );\n return currentStepIndex;\n }\n\n getStepFromBindingPosition(binding: any, position: number) {\n let currentStep = this.getCurrentStepByBinding(binding);\n let currentStepIndex = this.getCurrentStepIndex(currentStep);\n\n let get_step_id = currentStepIndex + position;\n if (\n get_step_id > 0 &&\n get_step_id <= this.dataOwnerWorkflowSteps.length - 1\n ) {\n return this.dataOwnerWorkflowSteps[currentStepIndex + position];\n }\n return null;\n }\n\n getCurrentStepByBinding(type: string): any {\n this.getDataOwnerFlowStepsFromLocalStorage();\n let currentStep = this.dataOwnerWorkflowSteps?.find(\n (x: any) => x.step.cms_binding == this.getAlternateStepType(type)\n );\n this._memberService.setCurrentStep(currentStep);\n return currentStep;\n }\n\n getAlternateStepType(type: string) {\n if (type == 'CustomerReview_File') return 'CustomerReview';\n else if (type == 'CustomerReview_Web') return 'CustomerReview';\n else if (type == 'CustomerUpdate_File') return 'CustomerUpdate';\n else if (type == 'CustomerUpdate_Web') return 'CustomerUpdate';\n else if (type == 'NCOA_Review_File') return 'NCOA_Review';\n else if (type == 'NCOA_Review_Web') return 'NCOA_Review';\n else if (type == 'Exception_Review_File') return 'Exception_Review';\n else if (type == 'Exception_Review_Web') return 'Exception_Review';\n return type;\n }\n\n disableStep(stepStatusId: number) {\n switch (stepStatusId) {\n case STEP_STATUS.NA_OPTED_OUT:\n case STEP_STATUS.NOT_YET_AVAILABLE:\n return true;\n default:\n return false;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CookieService } from \"ngx-cookie-service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService {\n\n constructor(private _cookieService: CookieService) { }\n\n setCookie(name: string, value: string) {\n const isLocal = window.location.hostname === \"localhost\";\n const domain = this.getDomain();\n this._cookieService.set(\n name,\n value,\n new Date(new Date().getTime() + (1000 * 60 * 15)),\n \"/\",\n domain,\n !isLocal\n );\n }\n\n removeCookie(key: string) {\n this._cookieService.delete(key);\n }\n\n setLocalStorage(key: string, value: string) {\n localStorage.setItem(key, value);\n }\n\n getLocalStorage(key: string): any {\n return localStorage.getItem(key);\n }\n\n removeLocalStorage(key: string) {\n localStorage.removeItem(key);\n }\n\n localStorageTranslationExists(key: string): boolean {\n return localStorage.getItem(key) != null && localStorage.getItem(key) != 'undefined' && localStorage.getItem(key) != '' && localStorage.getItem(key) != '{}';\n }\n\n clearLocalStorage() {\n localStorage.clear();\n }\n\n setCookieForLongerDuration(name: string, value: string) {\n const isLocal = window.location.hostname === \"localhost\";\n const domain = this.getDomain();\n this._cookieService.set(\n name,\n value,\n new Date(new Date().getTime() + (1000 * 60 * 60 * 24)),\n \"/\",\n domain,\n !isLocal\n );\n }\n\n setSessionStorage(key: string, value: string) {\n sessionStorage.setItem(key, value);\n }\n\n getSessionStorage(key: string): any {\n return sessionStorage.getItem(key) ?? '';\n }\n\n sessionStorageTranslationExists(key: string): boolean {\n return sessionStorage.getItem(key) != null && sessionStorage.getItem(key) != 'undefined' && sessionStorage.getItem(key) != '' && sessionStorage.getItem(key) != '{}';\n }\n removeSessionStorage(key: string) {\n sessionStorage.removeItem(key);\n }\n\n clearSessionStorage() {\n sessionStorage.clear();\n }\n\n getDomain(): string {\n const isLocal = window.location.hostname === \"localhost\";\n let domain = isLocal ? (this.isIEBrowser() ? \"\" : \"localhost\") : window.location.hostname;\n //Change to get dynamic sub domain/domain for US region\n if (!isLocal) {\n const firstDot = window.location.hostname.indexOf('.');\n domain = window.location.hostname.substring(firstDot == -1 ? 0 : firstDot);\n }\n return domain;\n }\n\n isIEBrowser() {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf(\"MSIE \");\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) {\n // If Internet Explorer, return version number\n return true;\n }\n return false;\n }\n\n\n getCookie(name: string): string {\n return this._cookieService.get(name);\n }\n\n cookieExists(name: string): boolean {\n return this._cookieService.check(name);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TranslationResolverService {\n\n constructor(private translate: TranslateService){\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable{\n return this.translate.get(\"text\");\n }\n}","import { Validators } from '@angular/forms';\nimport { STEP_STATUS } from '@cyber/navigator-services/lib/models/data-owner';\n\nconst appFormPatterns = {\n emailRegex: /^[A-Za-z0-9._%+-]+@\\w+([\\-]\\w+)*(\\.[a-zA-Z0-9]{1,24})+$/,\n emailMaxLength: 100,\n passwordMinLength: 8,\n FirstNameRegEx:\n /^(?=.{1,50}$)((?!.*[-']{2})[-']*)[a-zA-Z]+(?:[-']*[a-zA-Z\\s])*$/,\n LastNameRegEx:\n /^(?=.{1,100}$)((?!.*[-']{2})[-']*)[a-zA-Z]+(?:[-']*[a-zA-Z\\s])*$/,\n activationCode: /([^1,0,i,o,I,o]{10})$/,\n zipCode: /^[a-zA-Z0-9]{5}$/,\n phoneNumber: /^(\\d){10}$/,\n phoneUS: /^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s-]\\d{3}[\\s-]\\d{4}$/,\n alphanumericwithspecialcharacters:\n /^[#A-Za-z0-9][A-Za-z0-9\\s\\:\\#\\&\\(\\)\\-\\;\\:\\,\\.\\'\\/]*$/,\n};\n\nexport const appConstants = {\n sessionSelectedViewOrEditMode: 'session-view-mode',\n sessionCookieCountry: 'session-country',\n sessionLanguageCode: 'user-lang-code',\n sessionCookieObject: 'session-cookie',\n DataOwner: 'DataOwner',\n DataOwnerSteps: 'DataOwnerSteps',\n User: 'User',\n FirstTimeUser: 'FirstTimeUser',\n LanguageEn: 'language-en',\n cookieOptInEndDate: 'OptInEndDate',\n cookieOptInStartDate: 'OptInStartDate',\n Regions: 'regions',\n OptInEndDateReached: 'OptInEndDateReached',\n OptInStartDateReached: 'OptInStartDateReached',\n ChangeOfAddressEndDateReached: 'ChangeOfAddressEndDateReached',\n ExceptionReviewEndDateReached: 'ExceptionReviewEndDateReached',\n FromEmail: 'support@krollmonitoring.com',\n ContactEmail: 'incidentsupport@krollsupport.com',\n ContentLastModified: 'ContentLastModified',\n countryId: 6252001,\n EmailRegex: [\n Validators.required,\n Validators.pattern(appFormPatterns.emailRegex),\n Validators.maxLength(appFormPatterns.emailMaxLength),\n ],\n PasswordRegex: [\n Validators.required,\n Validators.minLength(appFormPatterns.passwordMinLength),\n ],\n ActivationCodeRegex: [\n Validators.required,\n Validators.maxLength(10),\n Validators.pattern(appFormPatterns.activationCode),\n ],\n ZipCodeRegex: [\n Validators.required,\n Validators.pattern(appFormPatterns.zipCode),\n ],\n FirstNameRegex: [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.FirstNameRegEx),\n ],\n LastNameRegex: [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.LastNameRegEx),\n ],\n CoveredEntityNameRegex: [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.alphanumericwithspecialcharacters),\n ],\n AddressRegex: [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.alphanumericwithspecialcharacters),\n ],\n Address2Regex: [\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.alphanumericwithspecialcharacters),\n ],\n CityRegex: [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(50),\n Validators.pattern(appFormPatterns.alphanumericwithspecialcharacters),\n ],\n PhoneNumberRegex: [\n Validators.required,\n Validators.pattern(appFormPatterns.phoneUS),\n ],\n SecondaryPhoneNumberRegex: [Validators.pattern(appFormPatterns.phoneUS)],\n StepStatusColors: {\n Green: [\n STEP_STATUS.COMPLETED,\n STEP_STATUS.DOWNLOADED,\n STEP_STATUS.NO_UPDATES_REQUIRED,\n STEP_STATUS.OPTED_IN,\n STEP_STATUS.OPTED_IN_SUBMITTED,\n STEP_STATUS.UPDATED,\n STEP_STATUS.VIEWED,\n ],\n Red: [STEP_STATUS.NA_OPTED_OUT, STEP_STATUS.OPTED_OUT],\n Gray: [STEP_STATUS.NOT_YET_AVAILABLE],\n Default: [STEP_STATUS.PENDING],\n Yellow: [STEP_STATUS.OPTED_IN_PENDING_SUBMISSION, STEP_STATUS.IN_PROGRESS],\n },\n WorkflowStep: {\n InfoCenter: 'InfoCenter',\n CustomerReview: 'CustomerReview',\n NotificationOptIn: 'NotificationOptIn',\n CustomerUpdate: 'CustomerUpdate',\n OCR_OptIn: 'OCR_OptIn',\n Regulator_Notice: 'Regulator_Notice',\n Notification_Report: 'Notification_Report',\n NCOA_Review: 'NCOA_Review',\n Exceptions_Review: 'Exceptions_Review',\n },\n};\n","\nexport interface IRegion {\n RegionalLanguages: any[];\n}\n\nexport const USRegion:IRegion = {\n RegionalLanguages:[{code:\"en\", lang:\"Default\",default:false}, {code:\"en-US\", lang:\"English\",default:true}]\n}\n\nexport const CARegion:IRegion = {\n RegionalLanguages:[{code:\"en-CA\", lang:\"English\",default:true},{code:\"fr-CA\", lang:\"French\",default:true}]\n}\n\nexport const UKRegion:IRegion = {\n RegionalLanguages:[{code:\"en-GB\", lang:\"English\",default:true}]\n}\n\n\nexport const regionConstants = new Map();\nregionConstants.set(\"USRegion\", USRegion);\nregionConstants.set(\"UKRegion\", UKRegion);\nregionConstants.set(\"CARegion\", CARegion);","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DynamicKendoComponent } from 'src/app/components/dynamic-kendo/dynamic-kendo.component';\nimport { SessionGuard } from 'src/app/guards/session-guard';\n\nconst routes: Routes = [\n {\n path: '',\n component: DynamicKendoComponent,\n canActivate: [SessionGuard],\n },\n {\n path: 'file',\n component: DynamicKendoComponent,\n canActivate: [SessionGuard],\n },\n {\n path: 'web',\n component: DynamicKendoComponent,\n canActivate: [SessionGuard],\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class SharedKendoRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-shared-kendo',\n templateUrl: './shared-kendo.component.html',\n styleUrls: ['./shared-kendo.component.scss']\n})\nexport class SharedKendoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SharedKendoRoutingModule } from './shared-kendo-routing.module';\nimport { SharedKendoComponent } from './shared-kendo.component';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DynamicKendoComponent } from 'src/app/components/dynamic-kendo/dynamic-kendo.component';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FileUploadTipsComponent } from 'src/app/components/file-upload-tips/file-upload-tips.component';\nimport { ReviewFileDownloadComponent } from 'src/app/components/review-file-download/review-file-download.component';\nimport { ReviewFileTipsComponent } from 'src/app/components/review-file-tips/review-file-tips.component';\nimport { ReviewWebTableTipsComponent } from 'src/app/components/review-web-table-tips/review-web-table-tips.component';\nimport { SwitchToFileReviewComponent } from 'src/app/components/switch-to-file-review/switch-to-file-review.component';\nimport { SwitchToFileUploadComponent } from 'src/app/components/switch-to-file-upload/switch-to-file-upload.component';\nimport { SwitchToWebReviewComponent } from 'src/app/components/switch-to-web-review/switch-to-web-review.component';\nimport { SwitchToWebUpdateComponent } from 'src/app/components/switch-to-web-update/switch-to-web-update.component';\nimport { UploadFileComponent } from 'src/app/components/upload-file/upload-file.component';\nimport { WebTableEditGroupComponent } from 'src/app/components/web-table-edit-group/web-table-edit-group.component';\nimport { WebTableComponent } from 'src/app/components/web-table/web-table.component';\nimport { WebtableOrFileSelectionComponent } from 'src/app/components/webtable-or-file-selection/webtable-or-file-selection.component';\nimport { SharedModule } from '../shared.module';\nimport { CustomerFileDetailsComponent } from 'src/app/components/customer-file-details/customer-file-details.component';\nimport { DynamicKendoChildComponent } from 'src/app/components/dynamic-kendo-child/dynamic-kendo-child.component';\nimport { UploadModule } from '@progress/kendo-angular-upload';\nimport { GridModule } from '@progress/kendo-angular-grid';\nimport { ProgressBarModule } from '@progress/kendo-angular-progressbar';\nimport { DownloadReportComponent } from 'src/app/components/download-report/download-report.component';\nimport { ReviewChangeOfAddressFileComponent } from 'src/app/components/review-change-of-address-file/review-change-of-address-file.component';\nimport { ReviewChangeOfAddressWebComponent } from 'src/app/components/review-change-of-address-web/review-change-of-address-web.component';\nimport { ChangeOfAddressEditGroupComponent } from 'src/app/components/change-of-address-edit-group/change-of-address-edit-group.component';\nimport { ReviewCustomerExceptionsWebComponent } from 'src/app/components/review-customer-exceptions-web/review-customer-exceptions-web.component';\nimport { ReviewCustomerExceptionsFileComponent } from 'src/app/components/review-customer-exceptions-file/review-customer-exceptions-file.component';\nimport { CustomerExceptionEditGroupComponent } from 'src/app/components/customer-exception-edit-group/customer-exception-edit-group.component';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(value: any) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@NgModule({\n declarations: [\n SafeHtmlPipe,\n SharedKendoComponent,\n DynamicKendoComponent,\n WebtableOrFileSelectionComponent,\n SwitchToFileReviewComponent,\n SwitchToFileUploadComponent,\n ReviewWebTableTipsComponent,\n SwitchToWebReviewComponent,\n SwitchToWebUpdateComponent,\n ReviewFileTipsComponent,\n FileUploadTipsComponent,\n ReviewFileDownloadComponent,\n DownloadReportComponent,\n WebTableEditGroupComponent,\n UploadFileComponent,\n WebTableComponent,\n CustomerFileDetailsComponent,\n DynamicKendoChildComponent,\n ReviewChangeOfAddressWebComponent,\n ReviewChangeOfAddressFileComponent,\n ChangeOfAddressEditGroupComponent,\n ReviewCustomerExceptionsWebComponent,\n ReviewCustomerExceptionsFileComponent,\n CustomerExceptionEditGroupComponent,\n ],\n imports: [\n CommonModule,\n SharedKendoRoutingModule,\n SharedModule,\n GridModule,\n UploadModule,\n TranslateModule,\n ProgressBarModule,\n ],\n})\nexport class SharedKendoModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoadingSpinnerComponent } from '../components/loading-spinner/loading-spinner.component';\nimport { DigicertComponent } from '../components/digicert/digicert.component';\nimport { FooterPreloginComponent } from '../components/footer-prelogin/footer-prelogin.component';\nimport { TranslationResolverService } from '../services/translation-resolver.service';\nimport { CommonModule } from '@angular/common';\nimport { DigicertService } from '../services/digicert.service';\nimport { RouterModule } from '@angular/router';\nimport { TipsComponent } from '../components/tips/tips.component';\nimport { SvgComponent } from '../svg/svg.component';\nimport { StorageService } from '../services/storage.service';\nimport { InfoBoxComponent } from '../components/info-box/info-box.component';\nimport { NgIdleModule } from '@ng-idle/core';\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\nimport { StepsHelperService } from '../services/steps-helper.service';\nimport { SettingUpEnvironmentComponent } from '../components/setting-up-environment/setting-up-environment.component';\nimport { KendoGridHelper } from '../helpers/kendo-grid-helper';\nimport { StepsNavigationButtonsComponent } from '../components/steps-navigation-buttons/steps-navigation-buttons.component';\nimport { FaqTileComponent } from '../components/faq-tile/faq-tile.component';\nimport { ModalPopupComponent } from '../components/modal-popup/modal-popup.component';\nimport { DynamicComponentHelperService } from '../services/dynamic-component-helper.service';\nimport { DateHelper } from '../helpers/date.helper';\nimport { MaintenanceBannerComponent } from '../components/maintenance-banner/maintenance-banner.component';\n\n@Pipe({ name: 'safeHtml' })\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n transform(value: any) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n\n@NgModule({\n declarations: [\n SafeHtmlPipe,\n LoadingSpinnerComponent,\n DigicertComponent,\n FooterPreloginComponent,\n TipsComponent,\n SvgComponent,\n InfoBoxComponent,\n SettingUpEnvironmentComponent,\n StepsNavigationButtonsComponent,\n FaqTileComponent,\n ModalPopupComponent,\n MaintenanceBannerComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n ReactiveFormsModule,\n NgIdleModule,\n NgIdleKeepaliveModule.forRoot(),\n TranslateModule,\n ],\n exports: [\n CommonModule,\n FormsModule,\n TranslateModule,\n ReactiveFormsModule,\n LoadingSpinnerComponent,\n DigicertComponent,\n FooterPreloginComponent,\n TipsComponent,\n SvgComponent,\n InfoBoxComponent,\n StepsNavigationButtonsComponent,\n ModalPopupComponent,\n FaqTileComponent,\n MaintenanceBannerComponent,\n ],\n providers: [\n TranslationResolverService,\n DigicertService,\n StorageService,\n StepsHelperService,\n KendoGridHelper,\n DynamicComponentHelperService,\n DateHelper,\n ],\n schemas: [],\n})\nexport class SharedModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-svg',\n templateUrl: './svg.component.html',\n styleUrls: ['./svg.component.scss']\n})\nexport class SvgComponent implements OnInit {\n svgPath !: string;\n @Input() type!:string;\n constructor() {\n }\n\n ngOnInit(): void {\n this.svgPath = `../../assets/${this.type}.svg`;\n }\n\n}\n","","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","var map = {\n\t\"./af\": 62275,\n\t\"./af.js\": 62275,\n\t\"./ar\": 90857,\n\t\"./ar-dz\": 11218,\n\t\"./ar-dz.js\": 11218,\n\t\"./ar-kw\": 14754,\n\t\"./ar-kw.js\": 14754,\n\t\"./ar-ly\": 66680,\n\t\"./ar-ly.js\": 66680,\n\t\"./ar-ma\": 92178,\n\t\"./ar-ma.js\": 92178,\n\t\"./ar-ps\": 42060,\n\t\"./ar-ps.js\": 42060,\n\t\"./ar-sa\": 56522,\n\t\"./ar-sa.js\": 56522,\n\t\"./ar-tn\": 95682,\n\t\"./ar-tn.js\": 95682,\n\t\"./ar.js\": 90857,\n\t\"./az\": 70164,\n\t\"./az.js\": 70164,\n\t\"./be\": 79774,\n\t\"./be.js\": 79774,\n\t\"./bg\": 60947,\n\t\"./bg.js\": 60947,\n\t\"./bm\": 21832,\n\t\"./bm.js\": 21832,\n\t\"./bn\": 89650,\n\t\"./bn-bd\": 74477,\n\t\"./bn-bd.js\": 74477,\n\t\"./bn.js\": 89650,\n\t\"./bo\": 66005,\n\t\"./bo.js\": 66005,\n\t\"./br\": 98492,\n\t\"./br.js\": 98492,\n\t\"./bs\": 70534,\n\t\"./bs.js\": 70534,\n\t\"./ca\": 52061,\n\t\"./ca.js\": 52061,\n\t\"./cs\": 84737,\n\t\"./cs.js\": 84737,\n\t\"./cv\": 61167,\n\t\"./cv.js\": 61167,\n\t\"./cy\": 77996,\n\t\"./cy.js\": 77996,\n\t\"./da\": 9528,\n\t\"./da.js\": 9528,\n\t\"./de\": 14540,\n\t\"./de-at\": 49430,\n\t\"./de-at.js\": 49430,\n\t\"./de-ch\": 67978,\n\t\"./de-ch.js\": 67978,\n\t\"./de.js\": 14540,\n\t\"./dv\": 83426,\n\t\"./dv.js\": 83426,\n\t\"./el\": 6616,\n\t\"./el.js\": 6616,\n\t\"./en-au\": 63816,\n\t\"./en-au.js\": 63816,\n\t\"./en-ca\": 32162,\n\t\"./en-ca.js\": 32162,\n\t\"./en-gb\": 83305,\n\t\"./en-gb.js\": 83305,\n\t\"./en-ie\": 61954,\n\t\"./en-ie.js\": 61954,\n\t\"./en-il\": 43060,\n\t\"./en-il.js\": 43060,\n\t\"./en-in\": 59923,\n\t\"./en-in.js\": 59923,\n\t\"./en-nz\": 13540,\n\t\"./en-nz.js\": 13540,\n\t\"./en-sg\": 16505,\n\t\"./en-sg.js\": 16505,\n\t\"./eo\": 41907,\n\t\"./eo.js\": 41907,\n\t\"./es\": 86640,\n\t\"./es-do\": 41246,\n\t\"./es-do.js\": 41246,\n\t\"./es-mx\": 56131,\n\t\"./es-mx.js\": 56131,\n\t\"./es-us\": 36430,\n\t\"./es-us.js\": 36430,\n\t\"./es.js\": 86640,\n\t\"./et\": 62551,\n\t\"./et.js\": 62551,\n\t\"./eu\": 32711,\n\t\"./eu.js\": 32711,\n\t\"./fa\": 54572,\n\t\"./fa.js\": 54572,\n\t\"./fi\": 33390,\n\t\"./fi.js\": 33390,\n\t\"./fil\": 87860,\n\t\"./fil.js\": 87860,\n\t\"./fo\": 48216,\n\t\"./fo.js\": 48216,\n\t\"./fr\": 99291,\n\t\"./fr-ca\": 98527,\n\t\"./fr-ca.js\": 98527,\n\t\"./fr-ch\": 58407,\n\t\"./fr-ch.js\": 58407,\n\t\"./fr.js\": 99291,\n\t\"./fy\": 47054,\n\t\"./fy.js\": 47054,\n\t\"./ga\": 49540,\n\t\"./ga.js\": 49540,\n\t\"./gd\": 73917,\n\t\"./gd.js\": 73917,\n\t\"./gl\": 51486,\n\t\"./gl.js\": 51486,\n\t\"./gom-deva\": 56245,\n\t\"./gom-deva.js\": 56245,\n\t\"./gom-latn\": 48868,\n\t\"./gom-latn.js\": 48868,\n\t\"./gu\": 59652,\n\t\"./gu.js\": 59652,\n\t\"./he\": 89019,\n\t\"./he.js\": 89019,\n\t\"./hi\": 42040,\n\t\"./hi.js\": 42040,\n\t\"./hr\": 63402,\n\t\"./hr.js\": 63402,\n\t\"./hu\": 79322,\n\t\"./hu.js\": 79322,\n\t\"./hy-am\": 27609,\n\t\"./hy-am.js\": 27609,\n\t\"./id\": 57942,\n\t\"./id.js\": 57942,\n\t\"./is\": 98275,\n\t\"./is.js\": 98275,\n\t\"./it\": 73053,\n\t\"./it-ch\": 4378,\n\t\"./it-ch.js\": 4378,\n\t\"./it.js\": 73053,\n\t\"./ja\": 46176,\n\t\"./ja.js\": 46176,\n\t\"./jv\": 679,\n\t\"./jv.js\": 679,\n\t\"./ka\": 92726,\n\t\"./ka.js\": 92726,\n\t\"./kk\": 72953,\n\t\"./kk.js\": 72953,\n\t\"./km\": 86957,\n\t\"./km.js\": 86957,\n\t\"./kn\": 59181,\n\t\"./kn.js\": 59181,\n\t\"./ko\": 47148,\n\t\"./ko.js\": 47148,\n\t\"./ku\": 27752,\n\t\"./ku-kmr\": 63898,\n\t\"./ku-kmr.js\": 63898,\n\t\"./ku.js\": 27752,\n\t\"./ky\": 65675,\n\t\"./ky.js\": 65675,\n\t\"./lb\": 41263,\n\t\"./lb.js\": 41263,\n\t\"./lo\": 65746,\n\t\"./lo.js\": 65746,\n\t\"./lt\": 11143,\n\t\"./lt.js\": 11143,\n\t\"./lv\": 38753,\n\t\"./lv.js\": 38753,\n\t\"./me\": 44054,\n\t\"./me.js\": 44054,\n\t\"./mi\": 31573,\n\t\"./mi.js\": 31573,\n\t\"./mk\": 30202,\n\t\"./mk.js\": 30202,\n\t\"./ml\": 68523,\n\t\"./ml.js\": 68523,\n\t\"./mn\": 79794,\n\t\"./mn.js\": 79794,\n\t\"./mr\": 56681,\n\t\"./mr.js\": 56681,\n\t\"./ms\": 56975,\n\t\"./ms-my\": 39859,\n\t\"./ms-my.js\": 39859,\n\t\"./ms.js\": 56975,\n\t\"./mt\": 3691,\n\t\"./mt.js\": 3691,\n\t\"./my\": 5152,\n\t\"./my.js\": 5152,\n\t\"./nb\": 7607,\n\t\"./nb.js\": 7607,\n\t\"./ne\": 21526,\n\t\"./ne.js\": 21526,\n\t\"./nl\": 86368,\n\t\"./nl-be\": 40076,\n\t\"./nl-be.js\": 40076,\n\t\"./nl.js\": 86368,\n\t\"./nn\": 68420,\n\t\"./nn.js\": 68420,\n\t\"./oc-lnc\": 51906,\n\t\"./oc-lnc.js\": 51906,\n\t\"./pa-in\": 94504,\n\t\"./pa-in.js\": 94504,\n\t\"./pl\": 54721,\n\t\"./pl.js\": 54721,\n\t\"./pt\": 74645,\n\t\"./pt-br\": 54548,\n\t\"./pt-br.js\": 54548,\n\t\"./pt.js\": 74645,\n\t\"./ro\": 71977,\n\t\"./ro.js\": 71977,\n\t\"./ru\": 26042,\n\t\"./ru.js\": 26042,\n\t\"./sd\": 78849,\n\t\"./sd.js\": 78849,\n\t\"./se\": 27739,\n\t\"./se.js\": 27739,\n\t\"./si\": 50084,\n\t\"./si.js\": 50084,\n\t\"./sk\": 92449,\n\t\"./sk.js\": 92449,\n\t\"./sl\": 23086,\n\t\"./sl.js\": 23086,\n\t\"./sq\": 33139,\n\t\"./sq.js\": 33139,\n\t\"./sr\": 30607,\n\t\"./sr-cyrl\": 30063,\n\t\"./sr-cyrl.js\": 30063,\n\t\"./sr.js\": 30607,\n\t\"./ss\": 40131,\n\t\"./ss.js\": 40131,\n\t\"./sv\": 21665,\n\t\"./sv.js\": 21665,\n\t\"./sw\": 5642,\n\t\"./sw.js\": 5642,\n\t\"./ta\": 33622,\n\t\"./ta.js\": 33622,\n\t\"./te\": 74825,\n\t\"./te.js\": 74825,\n\t\"./tet\": 48336,\n\t\"./tet.js\": 48336,\n\t\"./tg\": 39238,\n\t\"./tg.js\": 39238,\n\t\"./th\": 99463,\n\t\"./th.js\": 99463,\n\t\"./tk\": 39986,\n\t\"./tk.js\": 39986,\n\t\"./tl-ph\": 29672,\n\t\"./tl-ph.js\": 29672,\n\t\"./tlh\": 40043,\n\t\"./tlh.js\": 40043,\n\t\"./tr\": 51212,\n\t\"./tr.js\": 51212,\n\t\"./tzl\": 50110,\n\t\"./tzl.js\": 50110,\n\t\"./tzm\": 80482,\n\t\"./tzm-latn\": 38309,\n\t\"./tzm-latn.js\": 38309,\n\t\"./tzm.js\": 80482,\n\t\"./ug-cn\": 42495,\n\t\"./ug-cn.js\": 42495,\n\t\"./uk\": 54157,\n\t\"./uk.js\": 54157,\n\t\"./ur\": 80984,\n\t\"./ur.js\": 80984,\n\t\"./uz\": 64141,\n\t\"./uz-latn\": 43662,\n\t\"./uz-latn.js\": 43662,\n\t\"./uz.js\": 64141,\n\t\"./vi\": 12607,\n\t\"./vi.js\": 12607,\n\t\"./x-pseudo\": 66460,\n\t\"./x-pseudo.js\": 66460,\n\t\"./yo\": 92948,\n\t\"./yo.js\": 92948,\n\t\"./zh-cn\": 62658,\n\t\"./zh-cn.js\": 62658,\n\t\"./zh-hk\": 39352,\n\t\"./zh-hk.js\": 39352,\n\t\"./zh-mo\": 38274,\n\t\"./zh-mo.js\": 38274,\n\t\"./zh-tw\": 98451,\n\t\"./zh-tw.js\": 98451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["take","i0","ctx_r2","AppComponent","constructor","regionalDataService","translateService","sessionService","storageService","el","contentService","memberService","loadingService","router","outageService","translationContentLoaded","lang","show","queryParamMap","URLSearchParams","window","location","search","success","get","message","navigateByUrl","loadCmsContent","regionResourceConst","regionConst","addLangs","LanguageCodes","setDefaultLang","errorInForm","subscribe","data","scrollToFirstInvalidControl","next","initializeIdleTimeoutWarning","outageObservable$","outageInfo","display_maintenance_page","isAuthenticated","isAuthenticated$","pipe","toPromise","logout","url","loginWithRedirect","getContentState","hide","ngOnInit","firstInvalidControl","nativeElement","querySelector","scroll","top","getTopOffset","left","behavior","controlEl","labelOffset","getBoundingClientRect","scrollY","selectors","decls","vars","consts","template","appConstants","ChangeOfAddressEditGroupComponent","translate","_storageService","_router","_stepsHelperService","Date","currentDataOwner","getDataOwnerFromLocalStorage","currentStepDetails","getCurrentStepByRoute","mapToStates","_a","step_status_id","updateButtonState","showSectionsBasedOnChangeOfAddressEndDateReached","getLocalStorage","ChangeOfAddressEndDateReached","hideResumeButton","state","saveMyPreferrence","updateNeeded","display_selection","changeOfAddressStep","getCurrentStepByBinding","WorkflowStep","NCOA_Review","JSON","parse","updateEdit","updateStepStatus","stepStatusId","currentStatus","instant","subheadingUpdated","replace","stateColor","stepDataUpdate$","updateStepStatusToInProgress","currentStepStatus","emitOnDataChanged","emitstate","loadButtonText","mainButtonClick","showNoChangesPopup","showConfirmChangesPopup","emittedNoChangesPopup","event","emittedConfirmChangesPopup","ctx","CmsFileDownloadComponent","activatedRoute","cmsContentService","appConfigService","http","loading","params","downloadFile","assetId","fileName","arrayBuffer","getAssetById","link","document","createElement","file","Blob","downloadLink","setAttribute","href","URL","createObjectURL","click","close","CompleteRegistrationComponent","route","registrationService","registrationCode","snapshot","registration","fetch","engagementName","engagement_name","email","isAdditionalEvent","is_additional_event","isAlreadySignedUp","is_already_signed_up","err","invalid","error","errorText","localStorageTranslationExists","LanguageEn","finishSetup","code","is_additional","register","_r1","RegistrationState","FormGroup","FormControl","Validators","ContactUsComponent","_loadingService","_registrationService","formGroup","firstName","FirstNameRegex","lastName","LastNameRegex","EmailRegex","required","updateUserDetails","formatThankYouMessage","userDetailsString","User","userDetails","setValue","first_name","_b","last_name","_c","dataOwnerString","DataOwner","dataOwnerDetails","thankYouContent","engagement_entity","undefined","jsonString","support_phone","support_hours","onSubmit","status","markAllAsTouched","valid","contatctUsData","value","_d","sendContactUsEmail","reset","showThankYou","supportEmail","closeTip","STEP_STATUS","CoveredEntityFormComponent","_regionService","fetchRegionForCountryId","countryId","then","states","currentStep","optedValue","showSectionsBasedOnOptInEndDateReached","OptInEndDateReached","getFormDropDownValues","getStateColor","editable","fg","nameOfCoveredEntity","CoveredEntityNameRegex","typeOfCoveredEntity","streetAddress1","AddressRegex","streetAddress2","Address2Regex","city","CityRegex","zipCode","ZipCodeRegex","primaryPhone","PhoneNumberRegex","primaryPhoneType","secondaryPhone","SecondaryPhoneNumberRegex","secondaryPhoneType","setFormData","formData","_e","patchValue","showMakeSelectionPopup","showMakeSelectionPopupValue","emittedPendingOption","selected","OCR_OptIn","showOptoutConfirmationPopupValue","emittedOptoutConfirmationPopup","stream","res","typeOfCoveredEntityList","getTypes","phoneTypes","typesString","typesList","types","split","forEach","item","type","length","push","id","name","checkSelectedValue","filter","x","typeOfCoveredEntityName","stateName","primaryPhoneTypeName","secondaryPhoneTypeName","onEdit","formControl","control","setErrors","formatAsPhone","keyCode","input","substring","newVal","zip","middle","last","CustomerExceptionEditGroupComponent","showSectionsBasedOnExceptionReviewEndDateReached","ExceptionReviewEndDateReached","Exceptions_Review","emitOnNoExceptions","ctx_r1","CustomerFileDetailsComponent","_customerService","_customerExceptionService","_changeOfAddressService","kendoHelper","_memberService","sort","field","dir","skip","getFileUploaded","getFileDetailsFromLocalStorage","getFileStatus","showErrorGrid","currentStepData","fileDetails","fileStatus","step","cms_binding","CustomerUpdate","fileId","file_id","processed","getFileErrors","loadingError","getSortString","gridState","response","pageErrorsForCustomerFile","pageErrorsForFileUpload","gridData","total","total_count","onStateChange","ctx_r6","DownloadReportComponent","_translationService","availableToDownload","errorMessage","fileGenerationStatus","getFinalReportGenerationStatus","console","pollForStatusUntilComplete","fileType","getDownloadType","toLowerCase","downloadFinalReport","processFileDownload","startFinalReportGeneration","percentage_complete","downloadZip","download_id","body","Notification_Report","interval","setInterval","clearInterval","FinishSetupComponent","appState$","appState","complete","getAccessTokenSilently","updateUserName","FormCollectionComponent","_activityService","ImageComponent","inputs","src","alt","class","OptinComponent","ProfileComponent","_sessionService","stepsHelperService","selectedDataOwnerId","changeNameFormGroup","changeEmailFormGroup","confirmEmail","emailMatcher","dataOwnerUser","dataOwners","getRegisteredDataOwners","c","hasError","nomatch","_f","onChangeNameSubmit","changeNameStatus","setLocalStorage","stringify","onChangeEmailSubmit","closeChangeEvent","showChangeEvent","changeEventClicked","updateEvent","switchDataOwner","fieldsMatch","touched","EventEmitter","RedeemAddUserComponent","_cookieService","eventsSubscription","events","revalidateForm","duplicateEmailCheck","token","sessionCookieObject","redeemDuplicateEmailCheck","target","result","isDuplicate","catch","markAsTouched","isValid","_g","_h","updateValueAndValidity","emitUserDetails","emit","i","controls","outputs","Subject","user_r5","RedeemAddUsersComponent","userDetailsComponent","cmsPageData","pageCms","addUser","users","showAddUser","removeUser","splice","user","getCookie","validateEmails","unique","Set","map","size","submit","eventsSubject","emailCheck","redeemRegisterUsers","navigate","RedeemComponent","activationCode","ActivationCodeRegex","setQuickCookie","expiration","isLocal","hostname","domain","getDomain","set","isIEBrowser","ua","navigator","userAgent","msie","indexOf","match","firstDot","ValidateCode","validateRedeemCode","auth_token","knownErrors","includes","ctx_r4","ReviewChangeOfAddressFileComponent","makeFileAsMySelection","getFileGenerationStatus","startDataFileGeneration","GridComponent","debounceTime","filter_r28","filterService_r30","dataItem_r42","customerField_r24","ctx_r5","ReviewChangeOfAddressWebComponent","_activatedRoute","changeOfAddressService","dataOwnerService","toastr","ngZone","_dateHelper","caption","field_name","display_order","is_editable","customer_identifier","sid","manual_exception_type","address_update","middle_name","suffix","new_address1","new_address2","new_city","new_state","new_zip","address1","address2","social_security_number","primary_group","secondary_group","v_text1","v_text2","v_text3","v_text4","v_text5","v_text6","text1","text2","text3","text4","text5","text6","text7","text8","text9","text10","text11","text12","text13","text14","text15","text16","text17","text18","text19","text20","text21","text22","text23","text24","text25","text26","text27","text28","text29","text30","text31","text32","text33","text34","text35","text36","text37","text38","text39","text40","date_time1","date_time2","date_time3","date_time4","date_time5","date_time6","date_time7","date_time8","date_time9","date_time10","number1","number2","number3","number4","number5","number6","number7","number8","number9","number10","boolean1","boolean2","boolean3","boolean4","boolean5","boolean6","boolean7","boolean8","boolean9","boolean10","Map","fetchEngagementEntity","loadWebTableData","mode","isReview","makeWebMySelection","searchSubject","getData","pageNo","customerWebColumns","fetchCustomerFileColumns","customerFields","standardFields","cf","startsWith","ele","snakeCaseFieldName","camelToSnakeCase","find","a","b","searchAllColumns","searchQuery","key","preventDefault","updateFilterTypesOfColumns","gridColumnsArray","column","columnDataType","getDataTypeOfCustomerField","grid","columns","toArray","getPageApiWhereClause","loadingData","pageCustomerChangeOfAddresses","createFormArray","fitColumns","timeout","clearTimeout","setTimeout","index","formGroupMap","createFormGroup","formatDateTimeValue","formatShortDate","openFullWindow","closeFullWindow","onStable","asObservable","getFormControl","isValidFormGroup","editHandler","sender","rowIndex","dataItem","group","validators","is_required","validation_regex","pattern","cellClickHandler","args","isEdited","editCellRowIndex","editCellColumnIndex","columnIndex","currentFormGroup","editCell","Object","cellCloseHandler","updateStepPromise","savePromise","save","Promise","all","hasChangeAudit","positionClass","leafIndex","closeEditor","closeCell","closeRow","editNextCell","targetElement","reportValidity","nextColumnToEdit","firstColumnToEdit","cancelHandler","isNew","delete","dummySaveClick","values","str","substr","letter","typeOfCustomerField","emptyCustomerChangeOfAddress","gridFilter","gridColumns","searchText","getFullFilterString","searchFilter","getSearchAllColumnsFilter","filters","compositeFilter","j","singleFilter","getFilterString","getDataFieldName","operator","logic","text","numberRegex","RegExp","columnComponent","columnName","test","parseInt","removeHandler","recordToDelete","showConfirmDelete","emittedConfirmDelete","viewQuery","ReviewCustomerExceptionsFileComponent","ReviewCustomerExceptionsWebComponent","customerExceptionService","engagement_id","client_action","exception_type","region","postal_code","pageCustomerExceptions","ReviewFileDownloadComponent","CustomerReview","customerUpdateStep","SelectEventComponent","registrationState","confirmSelection","existingSession","localStorage","getItem","beginSession","dataOwnerWorkflowCreated","beginWorkflow","setCookie","FirstTimeUser","service_r14","service_r17","ServicesOfferedComponent","getServiceList","optInStartDateReached","OptInStartDateReached","loadedTip","NotificationOptIn","resetDepedentStepsWhenOptedIn","ncoaReviewStep","exceptionReviewStep","notificationReportStep","current_page_content","adultServiceList","minorServiceList","cms_page_data","pageservices","services","getOfferedServices","s","resultService","binding","service","servicesList","content_binding","icon","Milestones","SettingUpEnvironmentComponent","queryParams","redirectToPage","currentDataOwnerAsync","fetchCurrentDataOwnerSession","userSessionDetailsAsync","fetchCurrentUserSession","timeZoneAsync","getTimezones","userSessionDetails","timeZoneDetails","timeZones","dataOwnerWorkflowSteps","workflows","actions","steps","execution_order","DataOwnerSteps","optInStartDateMileStone","milestones","milestone_id","optInStartDate","optInStartTimeZone","timeZone","time_zone_id","effective_date_time_zone_id","isFutureDateWithTimeZone","effective_date","offset","formattedDate","formatToDisplayDate","cookieOptInStartDate","optInEndDateMileStone","optInEndDate","optInEndDateReached","optInEndTimeZone","cookieOptInEndDate","changeOfAddressMilestone","changeOfAddressEndDateReached","isFutureDate","exceptionReviewMilestone","exceptionReviewEndDateReached","userSessionDetailsFromLocalStorage","dataOwnersList","data_owner_user","data_owner_user_status_id","clearAndRedirectToError","getSiteAccessEndDateEnded","has_completed_welcome","siteAccessEndDateMileStone","siteAccessEndDateReached","siteAccessEndTimeZone","errorType","removeLocalStorage","styles","StepCardComponent","stepHelperService","loadStepDetails","stepDetails","current_page","stepUrl","page_route","transform","setCookieForLongerDuration","sessionSelectedViewOrEditMode","statusColor","setStatusCardColor","handleStepStatus","first","toUpperCase","optinPeriodEnded","changeOfAddressPeriodEnded","exceptionReviewPeriodEnded","statusId","reviewStep","optInStep","disabledStep","Regulator_Notice","stepData","hasOptIn","component","StepStatusColors","Green","Yellow","Red","Gray","navigateToPage","toggleHidden","hidden","lastItem","StepsNavigationButtonsComponent","current_binding","previousStep","getStepFromBindingPosition","nextStep","backErrorMessage","disableNext","disableBack","dataReviewStep","notificationOptInStatus","getAlternateStepType","hasFormCollection","backButtonClick","prevUrl","nextButtonClick","nextUrl","backButton","nextButton","nextButtonText","filesize","ctx_r8","UploadFileComponent","allowedExtensions","fileUploadErrorMsg","selectionPendingTitle","modalType","pageType","switchToWebReview","fileUploaded","showFileUpload","upload","uploadFiles","clearFiles","loadButtonClick","saveFileClick","showDefaultErrorMsg","setFileUploadStatus","customerFileDetails","Name","fileData","data_owner_id","uploadFile","errorResponse","onUpload","ev","files","rawFile","validationErrors","operation","reader","FileReader","onloadend","toString","Size","UploadedDate","readAsDataURL","makeChangesClick","change","previousState","onSelectEvent","e","fileCount","onUploadEvent","onRemoveEvent","closeFileUpload","FileUploadedDetails","WebTableEditGroupComponent","Guid","filter_r33","filterService_r35","dataItem_r47","customerField_r29","WebTableComponent","customerService","fillEmptyCustomer","dataOwnerId","emptyCustomer","customeWebColumns","sortByDisplayOrder","page","column_name","currentColumnIndex","isValidControl","create_time","create_user_id","modify_time","modify_user_id","delete_time","delete_user_id","notification_error_message","notification_status_id","addDynamicRowToGrid","temp_form","validations","compose","addRow","addHandler","saveHandler","formValue","create","WebtableOrFileSelectionComponent","navigateTo","LegalDisclaimerComponent","nextPage","completeWelcome","WelcomeComponent","switchMap","SessionGuard","canActivate","cacheKey","createUrlTree","fetchIncompleteCode","factory","providedIn","AuthCmsFilePipe","slug","global","asset","dataBlob","getAssetBySlug","resolve","reject","pure","BehaviorSubject","ContentService","navigatorConfig","contentLoaded","replaceContentMonikers","Content","reload","contentLoadedBehaviorSubject","currentEngagementId","currentVariationId","dataOwnerDetailsString","engagement_cms_variation_id","contentCacheKey","ContentLastModified","cacheLastModified","lastModifiedDate","getEngagementContentLastModified","isFirstDateAfterSecondDate","setTranslation","getPageContent","jsonData","FromEmail","ContactEmail","imageAssetIds","appConfig","getConfig","cmsAssetUrl","replaceWith","regexCmsAssetUrl","cmsAssetImgUrl","replaceWithImg","regexCmsAssetImgUrl","regexMatches","display_name","optinEndDate","optinStartDate","last_modified_date","replaceImageAssets","assetIds","translationContent","replaceImageAsset","originalValue","valueToReplace","DigicertService","digiCertHeadScripts","sealCode","head","getElementsByTagName","digiCertScriptTag","innerHTML","insertBefore","firstChild","DynamicComponentHelperService","entireData","updateData","getUpdatedData","entireDataBS","loaded","currentStepNo","totalSteps","enableNextButton","showStepStatusOnly","currentStatusContent","showStepNotAvailable","pageContent","showInformationBox","totalCustomerRecordsCount","faqs","getCurrentPageFromUrl","current_page_routes","getCurrentStepIndex","prevStepDetails","nextStepDetails","getStepUrls","formatCurrentPageBindingName","updateCurrentStepStatus","recordsCount","getShowInformationBox","updateTotalRecordsCount","generatedUrl","InfoCenter","json_content","string_content","checkAndReplaceValueInString","original_value","replace_value"],"sourceRoot":"webpack:///"}