{"version":3,"sources":["./$_lazy_route_resource lazy 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/authentication/anonymous.guard.ts","./src/app/authentication/profile.guard.ts","./src/app/authentication/tokeninterceptor.ts","./src/app/common/ag-grid-currencyFormatter.ts","./src/app/common/ag-grid-resize.directive.ts","./src/app/common/helpers.ts","./src/app/common/phone.pipe.ts","./src/app/common/replace.ts","./src/app/common/yes-no.pipe.ts","./src/app/core/rollbar.ts","./src/app/presentation/components/agent-hierarchy/agent-hierarchy.component.ts","./src/app/presentation/components/agent-hierarchy/agent-hierarchy.component.html","./src/app/presentation/components/agentdetail/agentdetail.component.ts","./src/app/presentation/components/agentdetail/agentdetail.component.html","./src/app/presentation/components/agentgrid/agentgrid.component.ts","./src/app/presentation/components/agentgrid/agentgrid.component.html","./src/app/presentation/components/agentinfomessage/agentinfomessage.component.ts","./src/app/presentation/components/agentinfomessage/agentinfomessage.component.html","./src/app/presentation/components/agentpicker/agentpicker.component.ts","./src/app/presentation/components/agentpicker/agentpicker.component.html","./src/app/presentation/components/annuitybankrates/annuitybankrates.component.ts","./src/app/presentation/components/annuitybankrates/annuitybankrates.component.html","./src/app/presentation/components/annuityrates/annuityrates.component.ts","./src/app/presentation/components/annuityrates/annuityrates.component.html","./src/app/presentation/components/associations/associations.component.ts","./src/app/presentation/components/associations/associations.component.html","./src/app/presentation/components/batchhistory/batchhistory.component.ts","./src/app/presentation/components/batchhistory/batchhistory.component.html","./src/app/presentation/components/channelnews/channelnews.component.ts","./src/app/presentation/components/channelnews/channelnews.component.html","./src/app/presentation/components/commissions/commissions.component.ts","./src/app/presentation/components/commissions/commissions.component.html","./src/app/presentation/components/componentloading/componentloading.component.ts","./src/app/presentation/components/componentloading/componentloading.component.html","./src/app/presentation/components/fileupload/fileupload.component.ts","./src/app/presentation/components/fileupload/fileupload.component.html","./src/app/presentation/components/grid-tooltip/grid-tooltip.component.ts","./src/app/presentation/components/grid-tooltip/grid-tooltip.component.html","./src/app/presentation/components/hero/hero.component.ts","./src/app/presentation/components/hero/hero.component.html","./src/app/presentation/components/kpis/kpis.component.ts","./src/app/presentation/components/kpis/kpis.component.html","./src/app/presentation/components/link-code/link-code.component.ts","./src/app/presentation/components/link-code/link-code.component.html","./src/app/presentation/components/loading/loading.component.ts","./src/app/presentation/components/loading/loading.component.html","./src/app/presentation/components/pendingcollections/pendingcollections.component.ts","./src/app/presentation/components/pendingcollections/pendingcollections.component.html","./src/app/presentation/components/policyinfo/policyinfo.component.ts","./src/app/presentation/components/policyinfo/policyinfo.component.html","./src/app/presentation/components/quicklinks/quicklinks.component.ts","./src/app/presentation/components/quicklinks/quicklinks.component.html","./src/app/presentation/components/reports/reports.component.ts","./src/app/presentation/components/reports/reports.component.html","./src/app/presentation/components/routelist/routelist.component.ts","./src/app/presentation/components/routelist/routelist.component.html","./src/app/presentation/components/statement-search/statement-search.component.ts","./src/app/presentation/components/statement-search/statement-search.component.html","./src/app/presentation/pages/admin/admin.component.ts","./src/app/presentation/pages/admin/admin.component.html","./src/app/presentation/pages/annuitybankreplogin/annuitybankreplogin.component.ts","./src/app/presentation/pages/annuitybankreplogin/annuitybankreplogin.component.html","./src/app/presentation/pages/annuitylogin/annuitylogin.component.ts","./src/app/presentation/pages/annuitylogin/annuitylogin.component.html","./src/app/presentation/pages/briefcase/briefcase.component.ts","./src/app/presentation/pages/briefcase/briefcase.component.html","./src/app/presentation/pages/collections/collections.component.ts","./src/app/presentation/pages/collections/collections.component.html","./src/app/presentation/pages/completeprofile/completeprofile.component.ts","./src/app/presentation/pages/completeprofile/completeprofile.component.html","./src/app/presentation/pages/contact/contact.component.ts","./src/app/presentation/pages/contact/contact.component.html","./src/app/presentation/pages/documents/documents.component.ts","./src/app/presentation/pages/documents/documents.component.html","./src/app/presentation/pages/eapp/eapp.component.ts","./src/app/presentation/pages/eapp/eapp.component.html","./src/app/presentation/pages/eappredirect/eappredirect.component.ts","./src/app/presentation/pages/eappredirect/eappredirect.component.html","./src/app/presentation/pages/forms/forms.component.ts","./src/app/presentation/pages/forms/forms.component.html","./src/app/presentation/pages/home/home.component.ts","./src/app/presentation/pages/home/home.component.html","./src/app/presentation/pages/login/login.component.ts","./src/app/presentation/pages/login/login.component.html","./src/app/presentation/pages/products/products.component.ts","./src/app/presentation/pages/products/products.component.html","./src/app/presentation/pages/profile/profile.component.ts","./src/app/presentation/pages/profile/profile.component.html","./src/app/presentation/pages/rates/rates.component.ts","./src/app/presentation/pages/rates/rates.component.html","./src/app/presentation/pages/redirecting/redirecting.component.ts","./src/app/presentation/pages/redirecting/redirecting.component.html","./src/app/presentation/pages/terms/terms.component.ts","./src/app/presentation/pages/terms/terms.component.html","./src/app/presentation/pages/training/training.component.ts","./src/app/presentation/pages/training/training.component.html","./src/app/presentation/pages/userlist/userslist.component.ts","./src/app/presentation/pages/userlist/userslist.component.html","./src/app/presentation/shared/nav-bar/nav-bar.component.ts","./src/app/presentation/shared/nav-bar/nav-bar.component.html","./src/app/services/cloud-storage.ts","./src/app/services/fileupload.service.ts","./src/app/services/onprem-storage.ts","./src/app/services/siteparameter.service.ts","./src/assets/css/routelist.css","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.6c7a51fbb73ae5c332b0.js","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(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","// src/app/app-routing.module.ts\n\nimport { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginPageComponent } from './presentation/pages/login/login.component';\nimport { AnnuityLoginPageComponent } from './presentation/pages/annuitylogin/annuitylogin.component';\nimport { AnnuityBankRepLoginPageComponent } from './presentation/pages/annuitybankreplogin/annuitybankreplogin.component';\nimport { HomeComponent } from './presentation/pages/home/home.component';\nimport { FormsPageComponent } from './presentation/pages/forms/forms.component';\nimport { ProfileComponent } from './presentation/pages/profile/profile.component';\nimport { TermsPageComponent } from './presentation/pages/terms/terms.component';\nimport { CompleteProfileComponent } from './presentation/pages/completeprofile/completeprofile.component';\nimport { ProductsComponent } from './presentation/pages/products/products.component';\nimport { BriefcaseComponent } from './presentation/pages/briefcase/briefcase.component';\nimport { TrainingComponent } from './presentation/pages/training/training.component';\nimport { EAppComponent } from './presentation/pages/eapp/eapp.component';\nimport { AuthGuard } from '@auth0/auth0-angular';\nimport { UserListPageComponent } from './presentation/pages/userlist/userslist.component';\nimport { AnonymousGuard } from './authentication/anonymous.guard';\nimport { ProfileGuard } from './authentication/profile.guard';\nimport { ContactPageComponent } from './presentation/pages/contact/contact.component';\nimport { AdminPageComponent } from './presentation/pages/admin/admin.component';\r\nimport { DocumentsPageComponent } from './presentation/pages/documents/documents.component';\r\nimport { EAppRedirectComponent } from './presentation/pages/eappredirect/eappredirect.component';\r\nimport { RedirectingComponent } from './presentation/pages/redirecting/redirecting.component';\r\nimport { CollectionsPageComponent } from './presentation/pages/collections/collections.component';\r\nimport { RatesPageComponent } from './presentation/pages/rates/rates.component';\r\n\nconst routes: Routes = [\n {\n path: '',\n component: LoginPageComponent,\n pathMatch: 'full', \n canActivate: [AnonymousGuard],\n },\n {\n path: 'annuitylogin',\n component: AnnuityLoginPageComponent,\n pathMatch: 'full',\n },\n {\n path: 'annuitybankreplogin',\n component: AnnuityBankRepLoginPageComponent,\n pathMatch: 'full',\n },\n {\n path: 'home',\n component: HomeComponent,\n pathMatch: 'full',\n canActivate: [AuthGuard],\n },\n {\n path: 'completeprofile',\n component: CompleteProfileComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'products',\n component: ProductsComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'forms',\n component: FormsPageComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'briefcase',\n component: BriefcaseComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'training',\n component: TrainingComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'eapp',\n component: EAppComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'terms',\n component: TermsPageComponent\n },\n {\n path: 'userlist',\n component: UserListPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n },\n {\n path: 'admin',\n component: AdminPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n },\n {\n path: 'contact',\n component: ContactPageComponent\n },\n {\n path: 'documents',\n component: DocumentsPageComponent\n },\n {\n path: 'eappredirect',\n component: EAppRedirectComponent,\n },\n {\n path: 'redirecting',\n component: RedirectingComponent,\n },\n {\n path: 'collections',\n component: CollectionsPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n },\n {\n path: 'rates',\n component: RatesPageComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","// src/app/app.component.ts\n\nimport { Component, HostListener } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { LicenseManager } from 'ag-grid-enterprise';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n})\nexport class AppComponent {\n constructor(public auth: AuthService) {\n LicenseManager.setLicenseKey('Using_this_{AG_Grid}_Enterprise_key_{AG-074318}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Liberty_Bankers_Life_Insurance_Company}_is_granted_a_{Multiple_Applications}_Developer_License_for_{2}_Front-End_JavaScript_developers___All_Front-End_JavaScript_developers_need_to_be_licensed_in_addition_to_the_ones_working_with_{AG_Grid}_Enterprise___This_key_has_been_granted_a_Deployment_License_Add-on_for_{2}_Production_Environments___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{1_February_2026}____[v3]_[01]_MTc2OTkwNDAwMDAwMA==fb9bff316e6e25150dac5613b3fef89a');}\n}\n","\n
\n
\n\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HeroComponent } from './presentation/components/hero/hero.component';\nimport { AgentGridComponent } from './presentation/components/agentgrid/agentgrid.component';\nimport { ChannelNewsComponent } from './presentation/components/channelnews/channelnews.component';\nimport { LoadingComponent } from './presentation/components/loading/loading.component';\nimport { ComponentLoadingComponent } from './presentation/components/componentloading/componentloading.component';\nimport { NavBarComponent } from './presentation/shared/nav-bar/nav-bar.component';\nimport { LoginPageComponent } from './presentation/pages/login/login.component';\nimport { AnnuityBankRepLoginPageComponent } from './presentation/pages/annuitybankreplogin/annuitybankreplogin.component';\nimport { AnnuityLoginPageComponent } from './presentation/pages/annuitylogin/annuitylogin.component';\nimport { RatesPageComponent } from './presentation/pages/rates/rates.component';\nimport { AnnuityRatesComponent } from './presentation/components/annuityrates/annuityrates.component';\nimport { AnnuityBankRatesComponent } from './presentation/components/annuitybankrates/annuitybankrates.component';\nimport { HomeComponent } from './presentation/pages/home/home.component';\nimport { BriefcaseComponent } from './presentation/pages/briefcase/briefcase.component';\nimport { UserListPageComponent } from './presentation/pages/userlist/userslist.component';\nimport { ProfileComponent } from './presentation/pages/profile/profile.component';\nimport { CompleteProfileComponent } from './presentation/pages/completeprofile/completeprofile.component';\nimport { TermsPageComponent } from './presentation/pages/terms/terms.component';\nimport { ProductsComponent } from './presentation/pages/products/products.component';\nimport { TrainingComponent } from './presentation/pages/training/training.component';\nimport { EAppComponent } from './presentation/pages/eapp/eapp.component';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AuthModule } from '@auth0/auth0-angular';\nimport { environment as env } from '../environments/environment';\nimport { NO_ERRORS_SCHEMA } from '@angular/core';\nimport { MDBBootstrapModule } from 'angular-bootstrap-md';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\nimport { ToastrModule } from 'ngx-toastr';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { KpisComponent } from './presentation/components/kpis/kpis.component';\nimport { AgentPickerComponent } from './presentation/components/agentpicker/agentpicker.component';\nimport { AgentDetailComponent } from './presentation/components/agentdetail/agentdetail.component';\nimport { AgentInfoMessageComponent } from './presentation/components/agentinfomessage/agentinfomessage.component';\nimport { CommissionsComponent } from './presentation/components/commissions/commissions.component';\nimport { FormsPageComponent } from './presentation/pages/forms/forms.component';\nimport { PolicyInfoComponent } from './presentation/components/policyinfo/policyinfo.component';\nimport { ReportsComponent } from './presentation/components/reports/reports.component';\nimport { QuickLinksInfoComponent } from './presentation/components/quicklinks/quicklinks.component';\nimport { TokenInterceptor } from './authentication/tokeninterceptor';\nimport { AgentHierarchyComponent } from './presentation/components/agent-hierarchy/agent-hierarchy.component';\nimport { YesNoPipe } from './common/yes-no.pipe';\nimport { DatePipe } from '@angular/common';\nimport { PhonePipe } from './common/phone.pipe';\nimport { ReplacePipe } from './common/replace';\n//import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { RollbarErrorHandler, rollbarFactory, RollbarService } from './core/rollbar';\nimport { AgGridModule } from 'ag-grid-angular';\nimport 'ag-grid-enterprise';\nimport { ContactPageComponent } from './presentation/pages/contact/contact.component';\nimport { AdminPageComponent } from './presentation/pages/admin/admin.component';\r\nimport { AssociationsComponent } from './presentation/components/associations/associations.component';\r\nimport { LinkCodeComponent } from './presentation/components/link-code/link-code.component';\r\nimport { StatementSearchComponent } from './presentation/components/statement-search/statement-search.component';\r\nimport { AgGridResizeDirective } from './common/ag-grid-resize.directive';\r\nimport { DocumentsPageComponent } from './presentation/pages/documents/documents.component';\r\nimport { FileUploadComponent } from './presentation/components/fileupload/fileupload.component';\r\nimport { EAppRedirectComponent } from './presentation/pages/eappredirect/eappredirect.component';\r\nimport { RedirectingComponent } from './presentation/pages/redirecting/redirecting.component';\r\nimport { CollectionsPageComponent } from './presentation/pages/collections/collections.component';\r\nimport { RouteListComponent } from './presentation/components/routelist/routelist.component';\r\nimport { BatchHistoryComponent } from './presentation/components/batchhistory/batchhistory.component';\r\nimport { PendingCollectionsComponent } from './presentation/components/pendingcollections/pendingcollections.component';\r\nimport { GridTooltipComponent } from './presentation/components/grid-tooltip/grid-tooltip.component';\r\n\n@NgModule({\n\n declarations: [\n AppComponent,\n HeroComponent,\n LoadingComponent,\n ComponentLoadingComponent,\n NavBarComponent,\n HomeComponent,\n ProfileComponent,\n KpisComponent,\n BriefcaseComponent,\n AgentPickerComponent,\n AgentDetailComponent,\n AgentInfoMessageComponent,\n CommissionsComponent,\n FormsPageComponent,\n PolicyInfoComponent,\n LoginPageComponent,\n AnnuityLoginPageComponent,\n AnnuityBankRepLoginPageComponent,\n RatesPageComponent,\n AnnuityBankRatesComponent,\n AnnuityRatesComponent,\n ReportsComponent,\n TrainingComponent,\n EAppComponent,\n ProductsComponent,\n QuickLinksInfoComponent,\n TermsPageComponent,\n ChannelNewsComponent,\n CompleteProfileComponent,\n AgentGridComponent,\n UserListPageComponent,\n AgentHierarchyComponent,\n ContactPageComponent,\n AdminPageComponent,\n AssociationsComponent,\n LinkCodeComponent,\n StatementSearchComponent,\n AgGridResizeDirective,\n DocumentsPageComponent,\n FileUploadComponent,\n YesNoPipe,\n PhonePipe,\n ReplacePipe,\n EAppRedirectComponent,\n RedirectingComponent,\n CollectionsPageComponent,\n RouteListComponent,\n BatchHistoryComponent,\n PendingCollectionsComponent,\n GridTooltipComponent\n ],\n exports: [ \n ],\n imports: [\n MDBBootstrapModule,\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n FontAwesomeModule,\n MDBBootstrapModule.forRoot(), \n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n FormsModule,\n CommonModule,\n AgGridModule.withComponents([]), \n //NgbDatepickerModule,\n NgbTooltipModule,\n AuthModule.forRoot({\n ...env.auth,\n httpInterceptor: {\n allowedList: [`${env.dev.serverUrl}/datawidget/*`],\n },\n }),\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true,\n },\n DatePipe,\n { provide: ErrorHandler, useClass: RollbarErrorHandler },\n { provide: RollbarService, useFactory: rollbarFactory }\n ],\n bootstrap: [AppComponent],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class AppModule {}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnonymousGuard implements CanActivate {\n constructor(private router: Router, public auth: AuthService) { }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree { \n this.auth.isAuthenticated$.subscribe((hasToken: boolean) => {\n if (hasToken) {\n return this.router.navigate(['/home']);\n }\n else {\n return true;\n }\n });\n return true;\n } \n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { SiteParameterService } from '../services/siteparameter.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileGuard implements CanActivate, CanActivateChild {\n private endpoint = './api/clouddata/';\n constructor(private router: Router, public siteParameterService: SiteParameterService) { }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (!this.siteParameterService.profileLoadComplete) {\n return this.siteParameterService.loadProfile();\n }\n else {\n return of(true);\n }\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (!this.siteParameterService.profileLoadComplete) {\n return this.siteParameterService.loadProfile();\n }\n else {\n return of(true);\n }\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Observable } from 'rxjs';\nimport { catchError, mergeMap } from 'rxjs/operators';\nimport { throwError } from 'rxjs';\nimport { RollbarService } from '../core/rollbar';\nimport { environment as env } from '../../environments/environment';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private injector: Injector,public auth: AuthService) { }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n var allowedList = env.dev.anonymousAllowedList.split(\"|\");\n if (allowedList.some(item => request.url.includes(item))) {\n\n return next.handle(request);\r\n\r\n }\n\n return this.auth.getAccessTokenSilently().pipe(\n mergeMap(token => {\n const tokenReq = request.clone({\n headers: request.headers.set('Content-Type', 'application/json').set('Authorization', `Bearer ${token}`)\n });\n return next.handle(tokenReq);\n }),\n catchError((error: HttpErrorResponse) => {\n\n //const rollbar = this.injector.get(RollbarService);\n\n let errorMessage = '';\n if (error.error instanceof ErrorEvent) {\n // client-side error\n errorMessage = 'Error: ${ error.error.message }';\n\n } else {\n // server-side error\n errorMessage = 'Error Code: ${ error.status } \\nMessage: ${ error.message }';\n }\n //rollbar.error(new Error(error.message).stack)\n return throwError(errorMessage);\n })\n );\n }\n\n}\n\n","import { ValueFormatterParams } from \"ag-grid-community\";\r\n\r\nexport function currencyFormatter(params: ValueFormatterParams) {\r\n var currencyValue = isNaN(params.value) ? \"\" : formatNumber(params.value);\r\n return currencyValue;\r\n}\r\n\r\nexport function formatNumber(number: number) {\r\n return number.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD'\r\n });\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ag-grid-resize]'\r\n})\r\nexport class AgGridResizeDirective {\r\n private gridApi: any;\r\n @HostListener('window:resize')\r\n onResize() {\r\n if (!this.gridApi) return;\r\n\r\n setTimeout(() => {\r\n this.gridApi.sizeColumnsToFit();\r\n });\r\n }\r\n\r\n @HostListener('gridReady', ['$event'])\r\n onGridReady(params: any) {\r\n this.gridApi = params.api;\r\n params.api.sizeColumnsToFit();\r\n }\r\n}\r\n","import { AgentDownline } from \"../models/downline\";\n\nexport function ReturnDateRangeFromType(rangeType: string): [Date?, Date?] {\n\n var startDate: Date | null;\n var endDate: Date | null;\n\n switch (rangeType) {\n case \"MTD\": {\n let [firstDay, lastDay] = getFirstDayofMonth(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"QTD\": {\n let [firstDay, lastDay] = getFirstDayofQuarter(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"WTD\": {\n let [firstDay, lastDay] = getFirstDayofWeek(new Date());\n startDate = firstDay;\n endDate = lastDay; \n break;\n }\n case \"YTD\": { \n let [firstDay, lastDay] = getFirstDayofYear(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"MTDP\": {\n let [firstDay, lastDay] = getPreviousMonth(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"QTDP\": {\n let [firstDay, lastDay] = getPreviousQuarter(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"WTDP\": {\n let [firstDay, lastDay] = getPreviousWeek(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"YTDP\": {\n let [firstDay, lastDay] = getPreviousYear(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"ALL\": {\n startDate = null;\n endDate = null;\n break;\n }\n }\n\n return [startDate!, endDate!];\n}\n\nfunction getFirstDayofWeek(d: Date): [Date, Date] {\n const day = d.getDay(),\n diff = d.getDate() - day + (day == 0 ? -6:1);\n const firstday = new Date(d.setDate(diff));\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate() + 6);\n return [firstday, lastday]\n}\n\nfunction getPreviousWeek(d: Date): [Date, Date] {\n const day = d.getDay(), \n diff = d.getDate() - day + (day == 0 ? -6:1);\n const firstday = new Date(d.setDate(diff - 7));\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate() +6);\n return[firstday, lastday]\n}\n\nfunction getFirstDayofMonth(d: Date): [Date, Date] {\n const monthDate = d.getMonth();\n const firstday = new Date(d.getFullYear(), monthDate, 1);\n const lastday = new Date(d.getFullYear(), monthDate + 1, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousMonth(d: Date): [Date, Date] {\n const month = d.getMonth();\n const monthDate = month - 1;\n\n const firstday = new Date(d.getFullYear(), monthDate, 1);\n const lastday = new Date(d.getFullYear(), monthDate + 1, 0);\n\n return[firstday, lastday];\n}\n\nfunction getFirstDayofQuarter(d: Date): [Date, Date] {\n const quarter = Math.floor((d.getMonth() / 3));\n const firstday = new Date(d.getFullYear(), quarter * 3, 1);\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth() + 3, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousQuarter(d: Date): [Date, Date] {\n const quarter = Math.floor((d.getMonth() / 3)); \n const firstday = new Date(d.getFullYear(), quarter * 3 - 3, 1);\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth() + 3, 0);\n\n return[firstday, lastday];\n}\n\nfunction getFirstDayofYear(d: Date): [Date, Date] {\n const year = d.getFullYear();\n const firstday = new Date(year, 0, 1);\n const lastday = new Date(year + 1, 0, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousYear(d: Date): [Date, Date] {\n const year = d.getFullYear();\n const yearDate = year - 1;\n\n const firstday = new Date(yearDate, 0, 1);\n const lastday = new Date(yearDate + 1, 0, 0);\n\n return[firstday, lastday];\n}\n\nexport function DateComparator(date1: string, date2: string) {\n const date1Number = monthToComparableNumber(date1);\n const date2Number = monthToComparableNumber(date2);\n if (date1Number === null && date2Number === null) {\n return 0;\n }\n if (date1Number === null) {\n return -1;\n }\n if (date2Number === null) {\n return 1;\n }\n return date1Number - date2Number;\n}\n\nfunction monthToComparableNumber(date: string) {\n if (date === undefined || date === null || date.length !== 10) {\n return null;\n }\n const yearNumber = Number.parseInt(date.substring(6, 10));\n const dayNumber = Number.parseInt(date.substring(3, 5));\n const monthNumber = Number.parseInt(date.substring(0, 2));\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phone'\r\n})\r\n\r\nexport class PhonePipe implements PipeTransform {\r\n transform(value: string): string {\r\n var returnValue: string = 'N/A';\r\n\r\n if (value.length === 10)\r\n returnValue = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n\r\n return returnValue;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'replace' })\r\nexport class ReplacePipe implements PipeTransform {\r\n transform(value: string, strToReplace: string, replacementStr: string): string {\r\n\r\n if (!value || !strToReplace || !replacementStr) {\r\n return value;\r\n }\r\n\r\n return value.replace(new RegExp(strToReplace, 'g'), replacementStr);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'yesNo'\n})\nexport class YesNoPipe implements PipeTransform {\n\n transform(value: boolean): string {\n return value ? \"Yes\" : \"No\";\n }\n}\n","//import * as Rollbar from 'rollbar'; // When using Typescript < 3.6.0.\n import Rollbar from 'rollbar'; \n// However, it will only work when setting either `allowSyntheticDefaultImports` \n// or `esModuleInterop` in your Typescript options.\n\nimport {\n Injectable,\n Inject,\n InjectionToken,\n ErrorHandler\n} from '@angular/core';\n\nconst rollbarConfig = {\n accessToken: '0dadd8790caf4e5da2bf738003214845',\n captureUncaught: true,\n captureUnhandledRejections: true,\n};\n\nexport const RollbarService = new InjectionToken('rollbar');\n\n@Injectable()\nexport class RollbarErrorHandler implements ErrorHandler {\n constructor(@Inject(RollbarService) private rollbar: Rollbar) { }\n\n handleError(err: any): void {\n try {\n //this.rollbar.error(err.originalError || err);\n }\n catch {\n //swallow exception if our rollbar account has reached the monthly limit\n }\n }\n}\n\nexport function rollbarFactory() {\n return new Rollbar(rollbarConfig);\n}\n\n\n\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AgentDownline } from '../../../models/downline';\nimport { Profile } from '../../../models/profile';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { CellClassParams, RowSelectedEvent } from 'ag-grid-community';\n\n@Component({\n selector: 'app-agent-hierarchy',\n templateUrl: './agent-hierarchy.component.html',\n styleUrls: ['./agent-hierarchy.component.css']\n})\nexport class AgentHierarchyComponent implements OnInit {\n private selectedAgentID: string = \"\";\n profile!: Profile;\n public showSpinner = false;\n public showDownlineGrid = true;\n private agentUpdate: Subscription;\n public downlineAgents: AgentDownline[] = [];\n public filteredDownline: AgentDownline[] = [];\n public downlineAgentsByStatus: AgentDownline[] = [];\n private gridApi: any;\n private gridColumnApi: any;\n private gridApi1: any;\n private gridColumnApi1: any;\n private hierarchy: string[] = [];\n private savedFilter: {} = {};\n public columnDefs = [\n { field: 'agentName', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true } },\n { field: 'commissionLevel' },\n { field: 'status', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true }, cellStyle: cellStyle }\n ];\n public columnDefs1 = [\n { headerName: 'Agent', valueGetter: idAndNameGetter, minWidth: 300, filterParams: { suppressAndOrCondition: true } },\n { field: 'agentName', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true } },\n { field: 'commissionLevel' },\n { field: 'status', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true }, cellStyle: cellStyle }\n ];\n public defaultColDef = { flex: 1 };\n public autoGroupColumnDef = {\n headerName: 'Agent',\n minWidth: 300,\n cellRendererParams: { suppressCount: true },\n };\n public groupDefaultExpanded = -1;\n public getDataPath = function (data: AgentDownline) {\n return data.orgHierarchy;\n };\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n }\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.getdownlineList();\n });\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getdownlineList();\n }\n getdownlineList(): void {\n this.showSpinner = true;\n this.onPremService.getAgentDownlineList(this.selectedAgentID)\n .subscribe(downline => {\n this.downlineAgents = downline;\n this.downlineAgentsByStatus = [];\n for (let agent of this.downlineAgents) {\n if (agent.managerID) {\n this.hierarchy.length = 0;\n this.findManager(agent.managerID);\n this.hierarchy.reverse();\n this.hierarchy.push(agent.agentID + ' - ' + agent.agentName);\n agent.orgHierarchy = JSON.parse(JSON.stringify(this.hierarchy));\n } else {\n agent.orgHierarchy = [agent.agentID + ' - ' + agent.agentName];\n }\n }\n this.showSpinner = false;\n });\n }\n onRowSelected(event: any) {\n this.siteParmService.sendAgentDetailUpdate(event.data.agentID);\n }\n onFilterChanged(event: any) {\n const model = event.api.getFilterModel();\n if (JSON.stringify(this.savedFilter) !== JSON.stringify(model)) {\n this.savedFilter = model;\n if (!model.status && !model.agentName) {\n event.api.setRowData(this.downlineAgents);\n return;\n }\n if (model.status) {\n if (model.status.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().indexOf(model.status.filter.toUpperCase()) != -1)));\n }\n if (model.status.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().startsWith(model.status.filter.toUpperCase()))));\n }\n }\n if (model.agentName) {\n if (model.agentName.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.agentName.toUpperCase().indexOf(model.agentName.filter.toUpperCase()) != -1)));\n }\n if (model.agentName.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.agentName.toUpperCase().startsWith(model.agentName.filter.toUpperCase()))));\n }\n }\n if (model.status && model.agentName) {\n if (model.status.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().indexOf(model.status.filter.toUpperCase()) != -1)));\n }\n if (model.status.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().startsWith(model.status.filter.toUpperCase()))));\n }\n if (model.agentName.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.filteredDownline.filter(f => f.agentName.toUpperCase().indexOf(model.agentName.filter.toUpperCase()) != -1)));\n }\n if (model.agentName.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.filteredDownline.filter(f => f.agentName.toUpperCase().startsWith(model.agentName.filter.toUpperCase()))));\n }\n }\n for (let agent of this.filteredDownline) {\n agent.orgHierarchy.length = 0;\n if (agent.managerID) {\n this.hierarchy.length = 0;\n this.findFilteredManager(agent.managerID);\n this.hierarchy.reverse();\n this.hierarchy.push(agent.agentID + ' - ' + agent.agentName);\n agent.orgHierarchy = JSON.parse(JSON.stringify(this.hierarchy));\n } else {\n agent.orgHierarchy = [agent.agentID + ' - ' + agent.agentName];\n }\n }\n event.api.setRowData(this.filteredDownline);\n event.api.setFilterModel(model);\n }\n }\n onRowClicked(event: RowSelectedEvent) {\n this.siteParmService.sendAgentDetailUpdate(event.data.agentID);\n }\n findManager(s: string): any {\n let obj = this.downlineAgents.find(i => i.agentID === s);\n if (obj) {\n this.hierarchy.push(obj.agentID + ' - ' + obj.agentName);\n return this.findManager(obj.managerID);\n } else {\n return;\n }\n }\n findFilteredManager(s: string): any {\n let obj = this.filteredDownline.find(i => i.agentID === s);\n if (obj) {\n this.hierarchy.push(obj.agentID + ' - ' + obj.agentName);\n return this.findFilteredManager(obj.managerID);\n } else {\n return;\n }\n }\n onSearchChanged() {\n let field = document.getElementById('search') as HTMLInputElement;\n\n if (this.showDownlineGrid)\n this.gridApi.setQuickFilter(field.value);\n else\n this.gridApi1.setQuickFilter(field.value);\r\n }\n exportToExcel() {\n const params = {\n fileName: this.profile.selectedAgentNumber + '_AgentDownline',\n sheetName: 'Agent Downline'\n };\n\n if (this.showDownlineGrid)\n this.gridApi.exportDataAsExcel(params);\n else\n this.gridApi1.exportDataAsExcel(params);\n }\n onStatusClick($event: any) {\n let clickedElement = $event.target || $event.srcElement;\n\n if (clickedElement.nodeName === \"BUTTON\") {\n if (!clickedElement.classList.contains(\"active\")) {\n let isCertainButtonAlreadyActive = clickedElement.parentElement.querySelector(\".active\");\n // if a Button already has Class: .active\n if (isCertainButtonAlreadyActive) {\n isCertainButtonAlreadyActive.classList.remove(\"active\");\n }\n clickedElement.className += \" active\"; \n }\n\n selectedStatus = $event.srcElement.value;\n\n if (selectedStatus == \"All\") {\n this.showDownlineGrid = true;\r\n }\n else {\n this.showDownlineGrid = false;\r\n this.downlineAgentsByStatus = this.downlineAgents.filter(f => f.status == selectedStatus);\r\n }\n let field = document.getElementById('search') as HTMLInputElement;\n field.value = '';\n }\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.agentUpdate.unsubscribe();\n }\n}\nvar selectedStatus = 'All';\nfunction cellStyle(params: CellClassParams) {\r\n const color = buttonColorToColorCode(params.node.data.color.toLowerCase());\r\n return {\r\n color: color,\r\n };\r\n}\nfunction buttonColorToColorCode(color: any) {\r\n var fontColor = '#28a745';\n switch (color) {\n case 'success':\n fontColor = '#28a745';\n break;\n case 'warning':\n fontColor = '#ffc107';\n break;\n case 'info':\n fontColor = '#17a2b8';\n break;\n case 'danger':\n fontColor = '#dc3545';\n break;\n }\n return fontColor;\r\n}\r\nfunction idAndNameGetter(params: any) {\r\n return params.data.agentID + ' - ' + params.data.agentName;\r\n}\r\n","
\n
\n

\n Downline Agents\n

\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n \n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\r\nimport { AgentDetail } from '../../../models/agentDetail';\nimport { Profile } from '../../../models/profile';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-agent-detail',\n templateUrl: './agentdetail.component.html',\n styleUrls: ['./agentdetail.component.css']\n})\n\n//@AutoUnsub()\nexport class AgentDetailComponent implements OnInit {\n private selectedAgentID: string = \"\";\n profile!: Profile;\n private agentDetailUpdate!: Subscription; //important to create a subscription\n private agentUpdate!: Subscription; //important to create a subscription \n public agentDetail: AgentDetail = {};\n \n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.agentDetailUpdate = this.siteParmService.getAgentDetailUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.getAgentDetail();\n });\n try {\n this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.getAgentDetail();\n });\n } catch (error) {}\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getAgentDetail();\n }\n\n getAgentDetail(): void {\n this.onPremService.getAgentDetail(this.selectedAgentID)\n .pipe(take(1))\n .subscribe(apiResponse => {\n this.agentDetail = apiResponse.data[0]; \n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.agentUpdate.unsubscribe();\n this.agentDetailUpdate.unsubscribe();\n }\n}\n","
\n
\n

\n Agent Detail\n

\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { Profile } from '../../../models/profile';\nimport { AgentGrid } from '../../../models/agentGrid';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { Observable } from 'rxjs';\r\n\n@Component({\n selector: 'app-agentgrid',\n templateUrl: './agentgrid.component.html',\n styleUrls: ['./agentgrid.component.css']\n})\nexport class AgentGridComponent implements OnInit {\n private gridApi: any;\n private gridColumnApi: any;\n public linkedAgents$?: Observable\n private profile!: Profile;\n public columnDefs = [\n {\n headerName: 'Default',\n width: 100,\n checkboxSelection: true,\n cellStyle: { 'pointer-events': 'none' },\n cellRenderer: (params: any) => {\n if (params.node.data.selected == 1) {\n params.node.setSelected(true);\n };\n },\n field: 'selected'\n },\n { headerName: 'Agent ID', field: 'agentId' },\n { headerName: 'Channel', field: 'channelName' },\n { headerName: 'Channel ID', field: 'channelId', hide: true },\n { headerName: 'Status', field: 'status' },\n { headerName: 'NPN', field: 'npn' },\n { headerName: 'Manager', field: 'manager' },\n { headerName: 'IMO', field: 'imo' }\n ];\n public defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n constructor(public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) { }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\r\n }\n onRowSelected(event: any) {\n if (event.node.selected) {\n this.siteParmService.sendDefaultAgentUpdate(event.data.agentId);\n this.siteParmService.sendDefaultChannelUpdate(event.data.channelName);\n }\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n this.gridApi.sizeColumnsToFit();\n this.linkedAgents$ = this.cloudStorageService.getLinkedAgents(this.profile.auth0Id);\n }\n}\n"," \n \n\n","import { Component, OnInit } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { Profile } from '../../../models/profile';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\nimport { take } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-agent-info-message',\r\n templateUrl: './agentinfomessage.component.html',\r\n styles: [\r\n ]\r\n})\r\n\r\nexport class AgentInfoMessageComponent implements OnInit {\r\n public showHeaderText = false;\r\n public headerText = \"\";\r\n public profile!: Profile;\r\n private channelUpdate: Subscription;\r\n\r\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) {\r\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\r\n (message => {\r\n this.profile = this.siteParmService.getStaticProfile();\r\n this.getMessage();\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.profile = this.siteParmService.getStaticProfile();\r\n this.getMessage();\r\n }\r\n getMessage(): void {\r\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\r\n this.cloudStorageService.getChannel(selectedBusinessChannel)\r\n .pipe(take(1))\r\n .subscribe(channel => {\r\n this.headerText = channel.agentInfoMessage;\r\n this.showHeaderText = channel.agentInfoMessage == null ? false : true;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Subscription } from 'rxjs';\nimport { Profile } from '../../../models/profile';\nimport { Agent } from '../../../models/agent';\n\n@Component({\n selector: 'app-agentpicker',\n templateUrl: './agentpicker.component.html',\n styleUrls: ['./agentpicker.component.css']\n})\nexport class AgentPickerComponent implements OnInit {\n public agents!: Array;\n public profile!: Profile;\n public selectedAgentId = \"\";\n private subscriptionName: Subscription;\n constructor(private siteParmService: SiteParameterService) {\n this.subscriptionName = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.selectedAgentId = this.profile.selectedAgentNumber;\n this.profile.selectedAgentNumber = this.selectedAgentId;\n this.agents = this.profile.agents.filter(x => x.channel == this.profile.channelPreferenceValue);\n this.siteParmService.sendAgentUpdate(this.selectedAgentId); //send update to subscribers for default first agent \n });\n }\n\n ngOnInit(): void { \n this.profile = this.siteParmService.getStaticProfile();\n if (!this.profile.selectedAgentNumber) {\n this.selectedAgentId = this.profile.defaultAgentNumber; \n } else {\n this.selectedAgentId = this.profile.selectedAgentNumber;\n } \n this.agents = this.profile.agents.filter(x => x.channel === this.profile.channelPreferenceValue);\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n public changeAgent(selectedAgent: string, selectedChannel: number): void {\n this.selectedAgentId = selectedAgent;\n this.profile.selectedAgentNumber = selectedAgent;\n this.siteParmService.setProfile(this.profile);\n this.siteParmService.sendAgentUpdate(selectedAgent);\n }\n}\n","
  • \n \n Agent: {{selectedAgentId}}  \n \n \n
  • \n\n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { ColSpanParams, ColDef } from 'ag-grid-community';\r\nimport { take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\r\n@Component({\n selector: 'app-annuitybankrates',\n templateUrl: './annuitybankrates.component.html',\n})\n\nexport class AnnuityBankRatesComponent implements OnInit {\n\n public currentDate = new Date();\n public channelId = 2;\n public screenWidthForLargeDevice: number = 992;\n public screenWidthForSmallDevice: number = 576;\n public channelProduct!: channelProduct;\n public newBusinessDeferredRatesRowData: [] = [];\n public newBusinessImmediateRatesRowData: [] = [];\n public newBusinessFixedIndexRatesRowData: [] = [];\n public renewalDeferredRatesRowData: [] = [];\n public renewalImmediateRatesRowData: [] = [];\n private gridApi: any;\n private gridApi1: any;\n private gridApi2: any;\n private gridApi3: any;\n private gridApi4: any;\n private gridColumnApi: any;\n private gridColumnApi1: any;\n private gridColumnApi2: any;\n private gridColumnApi3: any;\n private gridColumnApi4: any;\n public noRowsTemplate: string = \"\";\n public groupDefaultExpanded = 1;\n public domLayout = \"autoHeight\";\n public innerWidth: any;\n\n ratesDeferredNBRatesColumnDefs!: ColDef[];\n ratesDeferredRenewalRatesColumnDefs!: ColDef[];\n ratesImmediateNBRatesColumnDefs!: ColDef[];\n ratesImmediateRenewalRatesColumnDefs!: ColDef[];\n fixedIndexRatesColumnDefs!: ColDef[];\n\n defaultColumnDef = {\n sortable: true,\n suppressMenu: true,\n suppressMovable: true\n };\n\n public autoGroupColumnDef: ColDef = {\r\n headerName: '',\r\n cellRendererParams: {\r\n suppressCount: true\r\n },\r\n maxWidth: 5,\r\n colSpan: (params: ColSpanParams) => {\r\n if (params.data) {\r\n return 1;\r\n } else {\r\n return 5;\r\n }\r\n }\r\n };\n\n constructor(private onPremService: OnPremStorageService, private cloudStorageService: CloudStorageService,\n private siteParmService: SiteParameterService) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.getChannelProductLinks();\n }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\r\n this.getListColumnDefs();\n this.getRateLists();\n $('#NewBusinessList').addClass('tab-pane active');\n }\n\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.innerWidth = window.innerWidth;\r\n this.getListColumnDefs();\r\n }\n \n getRateLists(): void {\n let rateType = 'NB';\n this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessImmediateRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessFixedIndexRatesRowData = rates.data;\n });\r\n rateType = 'RENEW';\r\n this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.renewalDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.renewalImmediateRatesRowData = rates.data;\n });\r\n }\n\n getListColumnDefs(): void {\n if (this.innerWidth >= this.screenWidthForLargeDevice) {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', resizable: true }, \n { cellRenderer: rateCLICGetter, headerName: 'NB Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 300, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', maxWidth: 175, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', resizable: true },\n { valueGetter: rateCLICGetter, headerName: 'Ren. Interest Rate ', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 275, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', maxWidth: 150, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', resizable: true },\n { field: 'rateCLICO', headerName: 'NB Interest Rate ', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n }\n\n else if (this.innerWidth < this.screenWidthForLargeDevice && this.innerWidth > this.screenWidthForSmallDevice) {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per / NB Int Rate', maxWidth: 200, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\r\n ];\r\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 275, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per / Ren. Int Rate', maxWidth: 200, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 275, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per / NB Int Rate', maxWidth: 200, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n }\n\n else {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per /\\nNB Int Rate', maxWidth: 100, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per /\\nRen. Int Rate', maxWidth: 100, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 100, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income *', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 100, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per /\\nNB Int Rate', maxWidth: 100, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n }\n }\n\n getChannelProductLinks(): void {\n this.cloudStorageService.getAnonymousProductsByChannel(this.channelId)\n .pipe(take(1))\n .subscribe(productList => {\n this.channelProduct = productList;\n });\r\n }\n\n getRateTooltip(rateStartDate: string): string {\n let returnValue = rateStartDate != undefined ? 'Effective as of ' + rateStartDate : '';\n return returnValue;\r\n }\n\n onClickTabSelect(link: string) {\n $('#listMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(link).addClass('router-link-exact-active');\n\n switch (link) {\r\n\r\n case '#RenewalList-tab':\r\n this.gridApi3.sizeColumnsToFit();\n this.gridApi4.sizeColumnsToFit();\r\n break;\r\n default:\r\n this.gridApi.sizeColumnsToFit();\n this.gridApi1.sizeColumnsToFit();\n this.gridApi2.sizeColumnsToFit();\r\n }\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n }\n onGridReady2(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n }\n onGridReady3(params: any) {\n this.gridApi3 = params.api;\n this.gridColumnApi3 = params.columnApi;\n }\n onGridReady4(params: any) {\n this.gridApi4 = params.api;\n this.gridColumnApi4 = params.columnApi;\n }\n}\n\nfunction seriesAndProductGetter(params: any) {\r\n return params.data.product + ' - ' + params.data.series;\r\n}\r\n\r\nfunction rateLBLGetter(params: any) {\r\n let rateValue = \"\";\r\n if (params.data.rateLBL !== params.data.rateFirstYearLBL) {\r\n rateValue = params.data.rateFirstYearLBL + ' (FY)
    ' + params.data.rateLBL + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateLBL;\r\n }\r\n\r\n return rateValue;\r\n}\r\n\r\nfunction rateCLICGetter(params: any) {\r\n let rateValue = \"\";\r\n if (params.data.rateCLICO !== params.data.rateFirstYearCLICO) {\r\n rateValue = params.data.rateFirstYearCLICO + ' (FY)
    ' + params.data.rateCLICO + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateCLICO;\r\n }\r\n\r\n return rateValue;\r\n}\r\n\r\nfunction periodAndRateLBLGetter(params: any) {\r\n let returnValue = \"\"\r\n let rateValue = \"\";\r\n if (params.data.rateFirstYearLBL !== \"\" && params.data.rateLBL !== params.data.rateFirstYearLBL) {\r\n rateValue = params.data.rateFirstYearLBL + ' (FY)
    ' + params.data.rateLBL + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateLBL;\r\n }\r\n\r\n if (params.data.guaranteePeriod === \"\") {\r\n returnValue = rateValue;\r\n }\r\n else {\r\n returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n }\r\n\r\n return returnValue;\r\n}\n\nfunction periodAndRateCLICGetter(params: any) {\r\n let returnValue = \"\"\r\n let rateValue = \"\";\r\n if (params.data.rateFirstYearCLICO !== \"\" && params.data.rateCLICO !== params.data.rateFirstYearCLICO) {\r\n rateValue = params.data.rateFirstYearCLICO + ' (FY)
    ' + params.data.rateCLICO + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateCLICO;\r\n }\r\n\r\n if (params.data.guaranteePeriod === \"\") {\r\n returnValue = rateValue;\r\n }\r\n else {\r\n returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n }\r\n\r\n return returnValue;\r\n}\r\n\n","
    \r\n
    \r\n
    \r\n

    Current Annuity Interest Rates ({{ currentDate | date:'MM/dd/yyyy' }})

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n For further rate details please refer to this guide:
    \r\n \r\n \r\n  State Availability\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n 0\">\r\n
    \r\n

    Deferred Annuities

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

    CLIC Immediate Annuities

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    * Current monthly income factors provided are based on a $100,000 non-qualified premium for a 65 year old malein a state with no premium tax.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0\">\r\n
    \r\n

    Fixed Index Annuities

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

    Deferred Annuities

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

    Immediate Annuities

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    * Current monthly income factors provided are based on a $100,000 non-qualified premium for a 65 year old male in a state with no premium tax.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { ColSpanParams, ColDef } from 'ag-grid-community';\r\nimport { take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\r\n@Component({\n selector: 'app-annuityrates',\n templateUrl: './annuityrates.component.html',\n})\n\nexport class AnnuityRatesComponent implements OnInit {\n\n public currentDate = new Date();\n public channelId = 1;\n public screenWidthForLargeDevice: number = 992;\n public screenWidthForSmallDevice: number = 576;\n public channelProduct!: channelProduct;\n public newBusinessDeferredRatesRowData: [] = [];\n public newBusinessImmediateRatesRowData: [] = [];\n public newBusinessFixedIndexRatesRowData: [] = [];\n public renewalDeferredRatesRowData: [] = [];\n public renewalImmediateRatesRowData: [] = [];\n public newBusinessCADeferredRatesRowData: [] = [];\n public newBusinessCAImmediateRatesRowData: [] = [];\n public newBusinessCAFixedIndexRatesRowData: [] = [];\n private gridApi: any;\n private gridApi1: any;\n private gridApi2: any;\n private gridApi3: any;\n private gridApi4: any;\n private gridApi5: any;\n private gridApi6: any;\n private gridApi7: any;\n private gridColumnApi: any;\n private gridColumnApi1: any;\n private gridColumnApi2: any;\n private gridColumnApi3: any;\n private gridColumnApi4: any;\n private gridColumnApi5: any;\n private gridColumnApi6: any;\n private gridColumnApi7: any;\n public noRowsTemplate: string = \"\";\n public groupDefaultExpanded = 1;\n public domLayout = \"autoHeight\";\n public innerWidth: any;\n\n ratesDeferredNBRatesColumnDefs!: ColDef[];\n ratesDeferredRenewalRatesColumnDefs!: ColDef[];\n ratesImmediateNBRatesColumnDefs!: ColDef[];\n ratesImmediateRenewalRatesColumnDefs!: ColDef[];\n fixedIndexRatesColumnDefs!: ColDef[];\n\n defaultColumnDef = {\n sortable: true,\n suppressMenu: true,\n suppressMovable: true\n };\n\n public autoGroupColumnDef: ColDef = {\r\n headerName: '',\r\n cellRendererParams: {\r\n suppressCount: true\r\n },\r\n maxWidth: 5,\r\n colSpan: (params: ColSpanParams) => {\r\n if (params.data) {\r\n return 1;\r\n } else {\r\n return 5;\r\n }\r\n }\r\n };\n\n constructor(private onPremService: OnPremStorageService, private cloudStorageService: CloudStorageService,\n private siteParmService: SiteParameterService) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.getChannelProductLinks();\n }\n\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\r\n this.getListColumnDefs();\n this.getRateLists();\n $('#NewBusinessList').addClass('tab-pane active');\n }\n\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.innerWidth = window.innerWidth;\r\n this.getListColumnDefs();\r\n }\n\n getListColumnDefs(): void {\n if (this.innerWidth >= this.screenWidthForLargeDevice) {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', resizable: true },\n { cellRenderer: rateLBLGetter, headerName: 'LBL\\nNB Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: rateCLICGetter, headerName: 'CLIC\\nNB Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 300, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'LBL\\nMonthly Income*', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'CLIC\\nMonthly Income*', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', resizable: true },\n { valueGetter: rateLBLGetter, headerName: 'LBL\\nRen. Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { valueGetter: rateCLICGetter, headerName: 'CLIC\\nRen. Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 300, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'Monthly Income LBL*', maxWidth: 150, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income CLIC*', maxWidth: 150, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 300, resizable: true },\n { field: 'guaranteePeriod', headerName: 'Guarantee Period', minWidth: 175, cellClass: 'text-center', maxWidth: 150, resizable: true },\n { field: 'rateLBL', headerName: 'LBL\\nNB Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'rateCLICO', headerName: 'CLIC\\nNB Interest Rate', maxWidth: 150, headerClass: \"text-center\", cellClass: 'text-center', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\n }\n\n else if (this.innerWidth < this.screenWidthForLargeDevice && this.innerWidth > this.screenWidthForSmallDevice) {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'LBL\\nGuar Per / NB Int Rate', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'CLIC\\nGuar Per / NB Int Rate', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\r\n ];\r\n\r\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 275, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'LBL\\nMonthly Income*', maxWidth: 150, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'CLIC\\nMonthly Income*', maxWidth: 150, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'Guar Per /\\nRen. Int Rate LBL', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'Guar Per /\\nRen. Int Rate CLIC', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 275, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'Monthly Income* LBL', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'Monthly Income* CLIC', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 275, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'LBL\\nGuar Per / NB Int Rate', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'CLIC\\nGuar Per / NB Int Rate', maxWidth: 175, headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n }\n\n else {\n this.ratesDeferredNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 150, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'LBL\\nGuar Per / NB Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'CLIC\\nGuar Per / NB Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateNBRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 150, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'LBL\\nMonthly Income*', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'CLIC\\nMonthly Income*', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesDeferredRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Product', minWidth: 150, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'LBL\\nGuar Per / Ren Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'CLIC\\nGuar Per / Ren Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.ratesImmediateRenewalRatesColumnDefs = [\n { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n { field: 'product', headerName: 'Income Duration', minWidth: 150, resizable: true },\n { field: 'monthlyIncomeFactorLBL', headerName: 'LBL\\nMonthly Income*', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { field: 'monthlyIncomeFactorCLICO', headerName: 'CLIC\\nMonthly Income*', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n this.fixedIndexRatesColumnDefs = [\n { field: 'product', rowGroup: true, hide: true },\n { field: 'rateTypeDesc', headerName: 'Product', minWidth: 150, resizable: true },\n { cellRenderer: periodAndRateLBLGetter, headerName: 'LBL\\nGuar Per / NB Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateLBL); }, resizable: true },\n { cellRenderer: periodAndRateCLICGetter, headerName: 'CLIC\\nGuar Per / NB Int Rate', headerClass: \"text-center\", cellClass: 'cellCenter', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data.rateStartDateCLICO); }, resizable: true }\n ];\r\n }\n }\n\n getRateLists(): void {\n let rateType = 'NB';\n this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessImmediateRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessFixedIndexRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, true)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessCADeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, true)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessCAImmediateRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, true)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessCAFixedIndexRatesRowData = rates.data;\n });\r\n rateType = 'RENEW';\r\n this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.renewalDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n .pipe(take(1))\n .subscribe(rates => {\n this.renewalImmediateRatesRowData = rates.data;\n });\r\n }\n\n getChannelProductLinks(): void {\n this.cloudStorageService.getAnonymousProductsByChannel(this.channelId)\n .pipe(take(1))\n .subscribe(productList => {\n this.channelProduct = productList;\n });\r\n }\n\n getRateTooltip(rateStartDate: string): string {\n let returnValue = rateStartDate != undefined ? 'Effective as of ' + rateStartDate : '';\n return returnValue;\r\n }\n\n onClickTabSelect(link: string) {\n $('#listMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(link).addClass('router-link-exact-active');\n\n switch (link) {\r\n\r\n case '#NewCABusinessList-tab':\r\n this.gridApi5.sizeColumnsToFit();\n this.gridApi6.sizeColumnsToFit();\n this.gridApi7.sizeColumnsToFit();\r\n break;\r\n case '#RenewalList-tab':\r\n this.gridApi3.sizeColumnsToFit();\n this.gridApi4.sizeColumnsToFit();\r\n break;\r\n default:\r\n this.gridApi.sizeColumnsToFit();\n this.gridApi1.sizeColumnsToFit();\n this.gridApi2.sizeColumnsToFit();\r\n }\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n }\n onGridReady2(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n }\n onGridReady3(params: any) {\n this.gridApi3 = params.api;\n this.gridColumnApi3 = params.columnApi;\n }\n onGridReady4(params: any) {\n this.gridApi4 = params.api;\n this.gridColumnApi4 = params.columnApi;\n }\n onGridReady5(params: any) {\n this.gridApi5 = params.api;\n this.gridColumnApi5 = params.columnApi;\n }\n onGridReady6(params: any) {\n this.gridApi6 = params.api;\n this.gridColumnApi6 = params.columnApi;\n }\n onGridReady7(params: any) {\n this.gridApi7 = params.api;\n this.gridColumnApi7 = params.columnApi;\n }\n}\n\nfunction seriesAndProductGetter(params: any) {\r\n return params.data.product + ' - ' + params.data.series;\r\n}\r\n\r\nfunction rateLBLGetter(params: any) {\r\n let rateValue = \"\";\r\n if (params.data.rateLBL !== params.data.rateFirstYearLBL) {\r\n rateValue = params.data.rateFirstYearLBL + ' (FY)
    ' + params.data.rateLBL + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateLBL;\r\n }\r\n\r\n return rateValue;\r\n}\r\n\r\nfunction rateCLICGetter(params: any) {\r\n let rateValue = \"\";\r\n if (params.data.rateCLICO !== params.data.rateFirstYearCLICO) {\r\n rateValue = params.data.rateFirstYearCLICO + ' (FY)
    ' + params.data.rateCLICO + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateCLICO;\r\n }\r\n\r\n return rateValue;\r\n}\r\n\r\nfunction periodAndRateLBLGetter(params: any) {\r\n let returnValue = \"\"\r\n let rateValue = \"\";\r\n if (params.data.rateFirstYearLBL !== \"\" && params.data.rateLBL !== params.data.rateFirstYearLBL) {\r\n rateValue = params.data.rateFirstYearLBL + ' (FY)
    ' + params.data.rateLBL + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateLBL;\r\n }\r\n\r\n if (params.data.guaranteePeriod === \"\") {\r\n returnValue = rateValue;\r\n }\r\n else {\r\n returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n }\r\n\r\n return returnValue;\r\n}\n\nfunction periodAndRateCLICGetter(params: any) {\r\n let returnValue = \"\"\r\n let rateValue = \"\";\r\n if (params.data.rateFirstYearCLICO !== \"\" && params.data.rateCLICO !== params.data.rateFirstYearCLICO) {\r\n rateValue = params.data.rateFirstYearCLICO + ' (FY)
    ' + params.data.rateCLICO + ' (Base) ';\r\n }\r\n else {\r\n rateValue = params.data.rateCLICO;\r\n }\r\n\r\n if (params.data.guaranteePeriod === \"\") {\r\n returnValue = rateValue;\r\n }\r\n else {\r\n returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n }\r\n\r\n return returnValue;\r\n}\n","
    \n
    \n
    \n
    \n

    Current Annuity Interest Rates ({{ currentDate | date:'MM/dd/yyyy' }})

    \n
    \n
    \n
    \n
    \n For further rate details please refer to this guide:
    \n \n \n  State Availability\n
    \n
    \n
    \n \n
    \n
    \n
    \n 0\">\n
    \n

    Deferred Annuities

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

    Immediate Annuities

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    * Current monthly income factors provided are based on a $100,000 non-qualified premium for a 65 year old male in a state with no premium tax.
    \n
    \n
    \n
    \n
    \n 0\">\n
    \n

    Fixed Index Annuities

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

    Deferred Annuities

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

    Immediate Annuities

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    * Current monthly income factors provided are based on a $100,000 non-qualified premium for a 65 year old male in a state with no premium tax.
    \n
    \n
    \n
    \n
    \n 0\">\n
    \n

    CLIC Fixed Index Annuities

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

    Deferred Annuities

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

    Immediate Annuities

    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    * Current monthly income factors provided are based on a $100,000 non-qualified premium for a 65 year old male in a state with no premium tax.
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { DatePipe } from '@angular/common';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, NgForm } from '@angular/forms';\r\nimport { ColDef, ColGroupDef, RowSelectedEvent } from 'ag-grid-community';\r\nimport { Observable } from 'rxjs';\r\nimport { first, map, take } from 'rxjs/operators';\r\nimport { AgentDetail } from '../../../models/agentDetail';\r\nimport { agentLinkAssociation } from '../../../models/association';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\r\n@Component({\r\n selector: 'app-associations',\r\n templateUrl: './associations.component.html',\r\n styles: [\r\n ]\r\n})\r\nexport class AssociationsComponent implements OnInit {\r\n public showList: boolean = true;\r\n public showDetail: boolean = false;\r\n public showAddButton: boolean = true;\r\n public showUpdateForm: boolean = false;\r\n public showAddForm: boolean = false;\r\n public disableUpdate: boolean = true;\r\n public disableAdd: boolean = true;\r\n public showLinkedAgentIDFound: boolean = false;\r\n public showLinkedAgentIDNotFound: boolean = false;\r\n public showAssociationAgentIDFound: boolean = false;\r\n public showAssociationAgentIDNotFound: boolean = false;\r\n\r\n public associations$?: Observable;\r\n public selectedAssociation$?: Observable;\r\n public unassociatedLinkedAgents$?: Observable;\r\n private gridApi: any;\r\n public noRowsTemplate: string = \"\";\r\n private gridColumnApi: any;\r\n\r\n private agentLinkAssociationID: number = 0;\r\n private agentID: string = \"\";\r\n private linkedAgentName: string = \"\";\r\n private associatedAgentID: string = \"\";\r\n private associatedAgentName: string = \"\";\r\n private channelID: number = 0;\r\n private regionID: number = 0;\r\n private associatedRegionID: number = 0;\r\n\r\n public columnDefs: (ColDef | ColGroupDef)[] = [\r\n {\r\n headerName: 'Linked Agents',\r\n children: [\r\n { field: 'agentID', headerName: 'Agent ID', width: 100 },\r\n { field: 'agentName', headerName: 'Agent Name' },\r\n ],\r\n },\r\n {\r\n headerName: 'Associated Agents',\r\n children: [\r\n { field: 'associatedAgentID', headerName: 'Agent ID', width: 100 },\r\n { field: 'associatedAgentName', headerName: 'Agent Name' }\r\n ],\r\n },\r\n ];\r\n\r\n defaultColumnDef = {\r\n sortable: true,\r\n resizable: true,\r\n };\r\n\r\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService, private cloudStorageService: CloudStorageService,\r\n private datePipe: DatePipe) {\r\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.listAssociations();\r\n this.getUnassociatedLinkedAgentList();\r\n }\r\n\r\n listAssociations() {\r\n this.associations$ = this.onPremService.getAssociations().pipe(map(response => response.data));\r\n }\r\n\r\n getUnassociatedLinkedAgentList(): void {\r\n this.unassociatedLinkedAgents$ = this.onPremService.getUnassociatedLinkedAgentList().pipe(\r\n map(apiReponse => apiReponse.data));\r\n }\r\n\r\n onRowClicked(event: RowSelectedEvent) {\r\n this.selectedAssociation$ = this.onPremService.getAssociation(event.data.agentLinkAssociationID)\r\n .pipe(map(response => response.data[0]));\r\n\r\n this.agentLinkAssociationID = event.data.agentLinkAssociationID;\r\n this.associatedRegionID = event.data.associatedRegionID;\r\n\r\n this.showList = false;\r\n this.showDetail = true;\r\n this.showAddButton = false;\r\n this.showUpdateForm = true;\r\n this.showAddForm = false;\r\n }\r\n\r\n onAddClicked() {\r\n this.agentID = \"\";\r\n this.associatedAgentID = \"\";\r\n this.associatedAgentName = \"\";\r\n this.showList = false;\r\n this.showDetail = true;\r\n this.showAddForm = true;\r\n this.showUpdateForm = false;\r\n this.showAddButton = false;\r\n }\r\n\r\n closeDetail() {\r\n this.agentLinkAssociationID = 0;\r\n this.agentID = \"\";\r\n this.linkedAgentName = \"\";\r\n this.channelID = 0;\r\n this.regionID = 0;\r\n this.associatedRegionID = 0;\r\n this.associatedAgentName = \"\";\r\n\r\n this.showLinkedAgentIDFound = false;\r\n this.showLinkedAgentIDNotFound = false;\r\n this.showAssociationAgentIDFound = false;\r\n this.showAssociationAgentIDNotFound = false;\r\n this.disableAdd = true;\r\n this.disableUpdate = true;\r\n\r\n this.showDetail = false;\r\n this.showList = true;\r\n this.showAddButton = true;\r\n }\r\n\r\n changeLinkedAgentID(event: any) {\r\n this.regionID = 0;\r\n this.linkedAgentName = \"\";\r\n this.disableAdd = true;\r\n this.showLinkedAgentIDFound = false;\r\n this.showLinkedAgentIDNotFound = false;\r\n }\r\n\r\n changeAssociatedAgentID(event: any) {\r\n this.associatedRegionID = 0;\r\n this.associatedAgentName = \"\";\r\n this.disableAdd = true;\r\n this.disableUpdate = true;\r\n this.showAssociationAgentIDFound = false;\r\n this.showAssociationAgentIDNotFound = false;\r\n }\r\n\r\n addAssociation(formData: any): void {\r\n this.onPremService.addAssociation(this.agentID, this.channelID, this.regionID, formData.associatedAgentID, this.associatedRegionID)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n let agentLinkID = apiResponse.data;\r\n let date = new Date();\r\n date.setDate(date.getDate() - 1);\r\n let yesterdayDateString = this.datePipe.transform(date, 'MM/dd/yyyy');\r\n if (yesterdayDateString !== null) {\r\n this.cloudStorageService.updateDateModified(agentLinkID, yesterdayDateString)\r\n .pipe(take(1))\r\n .subscribe();\r\n }\r\n }\r\n );\r\n\r\n this.closeDetail();\r\n }\r\n\r\n updateAssociation(formData: any): void {\r\n this.onPremService.updateAssociation(this.agentLinkAssociationID, formData.associatedAgentID, this.associatedRegionID)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n let agentLinkID = apiResponse.data;\r\n let date = new Date();\r\n date.setDate(date.getDate() - 1);\r\n let yesterdayDateString = this.datePipe.transform(date, 'MM/dd/yyyy');\r\n if (yesterdayDateString !== null) {\r\n this.cloudStorageService.updateDateModified(agentLinkID, yesterdayDateString)\r\n .pipe(take(1))\r\n .subscribe();\r\n }\r\n }\r\n );\r\n\r\n this.closeDetail();\r\n }\r\n\r\n deleteAssociation() {\r\n if (confirm(\"Are you sure you want to delete this Agent Association?\")) {\r\n this.onPremService.deleteAssociation(this.agentLinkAssociationID)\r\n .pipe(take(1))\r\n .subscribe();\r\n\r\n this.showDetail = false;\r\n this.showList = true;\r\n this.showAddButton = true;\r\n }\r\n }\r\n\r\n searchLinkedAgentID(formAgentIdCtrl: AbstractControl, formAgentNameCtrl: AbstractControl) {\r\n var agentId = formAgentIdCtrl.value;\r\n\r\n this.onPremService.getLinkedAgentDetail(agentId)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n if (apiResponse.data.length === 0) {\r\n this.showLinkedAgentIDFound = false;\r\n this.showLinkedAgentIDNotFound = true;\r\n }\r\n else {\r\n this.showLinkedAgentIDFound = true;\r\n this.showLinkedAgentIDNotFound = false;\r\n }\r\n\r\n this.setAddButton();\r\n\r\n formAgentIdCtrl.setValue(apiResponse.data[0].agentID);\r\n formAgentNameCtrl.setValue(apiResponse.data[0].name);\r\n this.channelID = apiResponse.data[0].channelID;\r\n this.regionID = apiResponse.data[0].regionID;\r\n });\r\n }\r\n\r\n checkAssociatedAgentID(formAgentIdCtrl: AbstractControl, formAgentNameCtrl: AbstractControl) {\r\n var agentId = formAgentIdCtrl.value;\r\n\r\n this.onPremService.getAgentDetail(agentId)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n if (apiResponse.data.length === 0) {\r\n this.showAssociationAgentIDFound = false;\r\n this.showAssociationAgentIDNotFound = true;\r\n //this.disableAdd = true;\r\n this.disableUpdate = true;\r\n }\r\n else {\r\n this.showAssociationAgentIDFound = true;\r\n this.showAssociationAgentIDNotFound = false;\r\n //this.disableAdd = false;\r\n this.disableUpdate = false;\r\n\r\n //if (this.agentID === \"\")\r\n // this.disableAdd = true;\r\n }\r\n\r\n this.setAddButton();\r\n\r\n formAgentIdCtrl.setValue(apiResponse.data[0].agentID);\r\n formAgentNameCtrl.setValue(apiResponse.data[0].name);\r\n this.associatedRegionID = apiResponse.data[0].regionID;\r\n });\r\n }\r\n\r\n resetAddForm(): void {\r\n this.agentLinkAssociationID = 0;\r\n this.agentID = \"\";\r\n this.linkedAgentName = \"\";\r\n this.channelID = 0;\r\n this.regionID = 0;\r\n this.associatedRegionID = 0;\r\n this.associatedAgentID = \"\";\r\n this.associatedAgentName = \"\";\r\n this.showLinkedAgentIDFound = false;\r\n this.showLinkedAgentIDNotFound = false;\r\n this.showAssociationAgentIDFound = false;\r\n this.showAssociationAgentIDNotFound = false;\r\n this.disableAdd = true;\r\n }\r\n\r\n setAddButton(): void {\r\n this.disableAdd = !(this.showLinkedAgentIDFound && this.showAssociationAgentIDFound);\r\n }\r\n\r\n //onAgentChange(formAgentIdCtrl: AbstractControl) {\r\n // var agentId = formAgentIdCtrl.value;\r\n\r\n // if (agentId != \"\") {\r\n // this.onPremService.getAgentDetail(agentId)\r\n // .pipe(take(1))\r\n // .subscribe(apiResponse => {\r\n // this.agentID = apiResponse.data[0].agentID;\r\n // this.channelID = apiResponse.data[0].channelID;\r\n // this.regionID = apiResponse.data[0].regionID;\r\n // });\r\n // this.disableAdd = false;\r\n // }\r\n // else {\r\n // this.disableAdd = true;\r\n // }\r\n //}\r\n\r\n onGridReady(params: any) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Agent Associations (Admin)\r\n

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

    \r\n Agent Link Association Detail\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n    \r\n \r\n  \r\n Agent ID Found!\r\n \r\n \r\n  \r\n Agent ID Not Found!\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n    \r\n \r\n  \r\n Agent ID Found!\r\n \r\n \r\n  \r\n Agent ID Not Found!\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n    \r\n \r\n  \r\n Agent ID Found!\r\n \r\n \r\n  \r\n Agent ID Not Found!\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { GridApi } from \"ag-grid\";\r\nimport { Observable } from \"rxjs\";\r\nimport { take } from \"rxjs/operators\";\r\nimport { Profile } from \"../../../models/profile\";\r\nimport { CloudStorageService } from \"../../../services/cloud-storage\";\r\nimport { OnPremStorageService } from \"../../../services/onprem-storage\";\r\nimport { SiteParameterService } from \"../../../services/siteparameter.service\";\r\n\r\n@Component({\n selector: 'app-batchhistory',\n templateUrl: './batchhistory.component.html'\n})\nexport class BatchHistoryComponent implements OnInit {\n public batchHistoryRowData: [] = [];\n private gridApi!: GridApi;\n public noRowsTemplate: string = \"\";\n private gridColumnApi: any;\n\n public profile: Profile = {};\n //private impersonationSubscription: Subscription;\n //public agents: AgentGrid[] = [];\n public agents: TempBatchHistoryAgent[] = [];\n public selectedAgentId: string = \"\";\n public selectedAgentName: string = \"\";\n\n columnDefs = [\r\n { field: 'batchNum', headerName: 'Batch No.' },\r\n { field: 'cashAmt', headerName: 'Cash' },\r\n { field: 'suspenseAmt', headerName: 'Suspense' },\r\n { field: 'estCommAmt', headerName: 'Est. Commission' },\r\n { field: 'createDTM', headerName: 'Batch Date' },\r\n { field: 'collectionBatchStatus', headerName: 'Status' },\r\n { field: 'statusUpdateDTM', headerName: 'Status Date' }\r\n ];\r\n defaultColumnDef = {\r\n sortable: true,\r\n resizable: true,\r\n };\n\n constructor(public onPremService: OnPremStorageService, private siteParmService: SiteParameterService, public cloudStorageService: CloudStorageService,) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n //this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n // (message => {\n // this.selectedAgentID = message.value;\n // this.getdownlineList();\n // });\n let agent: TempBatchHistoryAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n this.selectedAgentId = agent.agentId;\n this.selectedAgentName = agent.agentName;\n this.getbatchHistory();\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getAgentList();\n }\n\n getbatchHistory() {\r\n this.onPremService.getBatchHistory(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.batchHistoryRowData = policyInfo.data;\n });\r\n }\n\n getAgentList(): void {\n //this.cloudStorageService.getLinkedAgents(this.profile.auth0Id)\n // .subscribe(agents => {\n // this.agents = agents;\n // });\n let agents: TempBatchHistoryAgent[] = [];\n\n let agent1: TempBatchHistoryAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n let agent2: TempBatchHistoryAgent = {\r\n agentId: \"M1030665\",\r\n agentName: \"Hessenauer, James\"\r\n };\n let agent3: TempBatchHistoryAgent = {\r\n agentId: \"AML11135\",\r\n agentName: \"LASTRAPES, MARK STEPHEN\"\r\n };\n let agent4: TempBatchHistoryAgent = {\r\n agentId: \"LWWG\",\r\n agentName: \"GUERRIER, WILNER\"\r\n };\n agents.push(agent1);\n agents.push(agent2);\n agents.push(agent3);\n agents.push(agent4);\n\n this.agents = agents;\n }\n\n changeAgentId(e: any) {\r\n this.selectedAgentId = e.target.value;\r\n\r\n //Temporarily acquire selected name for UserID\r\n let arr = e.target.options[e.target.options.selectedIndex].text.split(\"-\");\r\n this.selectedAgentName = arr[1].trim();\r\n\r\n this.getbatchHistory();\r\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n params.api.sizeColumnsToFit();\n }\n\n onSearchChanged() {\n this.gridApi.setQuickFilter(\n (document.getElementById('search') as HTMLInputElement).value\n );\n }\n}\nexport interface TempBatchHistoryAgent {\n agentId: string,\n agentName: string\n}\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Batch History\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Profile } from '../../../models/profile'\nimport { Subscription } from 'rxjs';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { alertItem } from '../../../models/alertItem';\n\n@Component({\n selector: 'app-channelnews',\n templateUrl: './channelnews.component.html',\n styleUrls: ['./channelnews.component.css']\n})\nexport class ChannelNewsComponent implements OnInit {\n alertItems: alertItem[] = [];\n profile: Profile;\n accordionExanded: boolean[] = [];\n private subscriptionName: Subscription; //important to create a subscription\n constructor(public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) {\n this.profile = this.siteParmService.getStaticProfile();\n this.subscriptionName = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.cloudStorageService.getAlertsByChannel(this.profile.channelPreferenceValue)\n .subscribe(alerts => this.alertItems = alerts);\n });\n }\n ngOnInit(): void {\n this.cloudStorageService.getAlertsByChannel(this.profile.channelPreferenceValue)\n .subscribe(alerts =>\n this.alertItems = alerts\n );\n }\n toggleAccordion(index: number) {\n this.accordionExanded[index] = !this.accordionExanded[index];\n }\n getAccordionArrowStyle(index: number) {\n return this.accordionExanded[index] ? 'fas fa-angle-up' : 'fas fa-angle-down';\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\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 { RowSelectedEvent } from 'ag-grid-community';\nimport { DatePipe } from '@angular/common';\nimport { Statement } from '../../../models/statement';\nimport { ReturnDateRangeFromType } from '../../../common/helpers';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { Profile } from '../../../models/profile';\nimport { map, take } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\n@Component({\n selector: 'app-commissions',\n templateUrl: './commissions.component.html',\n styleUrls: ['./commissions.component.css']\n})\nexport class CommissionsComponent implements OnInit {\n public showSearch: boolean = false;\n policyType: number = 0;\n timeFrame: string = \"ALL\";\n timeFrameEnable: boolean = true;\n startDate: Date = new Date(\"\");\n endDate: Date = new Date(\"\");\n includedAgents: number = 1;\n public statements$?: Observable;\n public profile!: Profile;\n private gridApi: any;\n private gridColumnApi: any;\n public noRowsTemplate: string;\n\n columnDefs = [\n { field: 'date' },\n { field: 'agentID' },\n { field: 'agentName' },\n { field: 'type' },\n { headerName: 'Download', cellRenderer: (params: any) => { return ''; } },\n ];\n defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService, private datePipe: DatePipe) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n }\n changeTimeFrame(e: any) {\n this.timeFrame = e.target.value;\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\n this.startDate = start!;\n this.endDate = end!;\n }\n searchStatements(): void {\n this.showSearch = true;\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\n this.startDate = start!;\n this.endDate = end!;\n const startDate = (this.startDate != null ? this.datePipe.transform(this.startDate, 'MM/dd/yyyy') : \"\") as string;\n const endDate = (this.endDate != null ? this.datePipe.transform(this.endDate, 'MM/dd/yyyy') : \"\") as string;\n\n this.statements$ = this.onPremService.searchStatements(this.profile.selectedAgentNumber, this.policyType, startDate, endDate,\n this.includedAgents).pipe(map(response => response.data));\n }\n onRowDoubleClicked(event: RowSelectedEvent) {\n const statement: Statement = event.data;\n this.onPremService.downloadStatement(statement.statementID)\n .pipe(take(1))\n .subscribe(data => {\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData, { type: data.type });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.download = event.data.date.replace('/', '_').trim() + \"_\" + event.data.agentID.trim() + \"_\" + event.data.type.trim() + \"_stmt.pdf\";\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n this.gridApi.sizeColumnsToFit();\n }\n}\n","
    \n
    \n
    \n
    \n

    \n Commission Statement Search\n

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

    \n Search Results (1 Statement - Double click to download)\n Search Results (0 Statements)\n Search Results ({{(statements$ | async)?.length}} Statements - Double click to download)\n

    \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: 'component-loading',\n templateUrl: './componentloading.component.html',\n})\nexport class ComponentLoadingComponent implements OnInit {\n loadingImg =\n 'https://cdn.auth0.com/blog/auth0-react-sample/assets/loading.svg';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { HttpEvent, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { Observable, Subscription } from 'rxjs';\nimport { finalize, map, take } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { environment as env } from '../../../../environments/environment';\r\nimport { fileTarget } from '../../../models/fileTarget';\r\nimport { Profile } from '../../../models/profile';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { FileUploadService } from '../../../services/fileupload.service';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { DateComparator } from '../../../common/helpers';\r\n\n@Component({\n selector: 'app-fileupload',\n templateUrl: './fileupload.component.html',\n styles: [\n ]\n})\nexport class FileUploadComponent implements OnInit {\n public profile!: Profile;\n private channelUpdate: Subscription;\r\n public showHeaderText = false;\r\n public headerText = \"\";\r\n public fileTargets$?: Observable;\r\n public fileTargetId: number = 0;\r\n public fileExtensionsAllowed: Array = ['.doc', '.docx', '.txt', '.pdf', '.tif', '.tiff', '.xls', '.xlsx'];\r\n public policyNumber: string = '';\r\n public clientName: string = '';\r\n public disableUpload: boolean = true;\r\n public hideUploadButtons: boolean = false;\r\n public currentFile?: File;\r\n public currentFileName: string = '';\r\n public progress: number = 0;\r\n public showUploadComplete: boolean = false;\r\n public message: string = '';\r\n public rowData: [] = [];\r\n public uploadRowCount = 0;\r\n public noRowsTemplate: string = '';\r\n public showSpinner = false;\r\n private gridApi: any;\n private gridColumnApi: any;\r\n columnDefs = [\n { field: 'uploadDtm', headerName: 'Upload Date', minWidth: 100, comparator: DateComparator },\n { field: 'fileIdentifier', headerName: 'Identifier', minWidth: 100 },\n { field: 'uploadCategory', headerName: 'Category', minWidth: 100 },\n { field: 'fileName', headerName: 'File Name', minWidth: 200 },\n { field: 'policyNumber', headerName: 'Policy #', minWidth: 100 },\n { field: 'clientName', headerName: 'Owner Name', minWidth: 100 }\n ];\r\n defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\r\n\r\n constructor(private router: Router, private cloudStorageService: CloudStorageService, private onPremService: OnPremStorageService, private fileUploadService: FileUploadService, private siteParmService: SiteParameterService) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile(); \n this.getFileTargetListAndMessage();\n });\n }\n\n ngOnInit(): void {\r\n this.profile = this.siteParmService.getStaticProfile();\r\n this.getFileTargetListAndMessage();\r\n this.getFileUploadList();\r\n this.hideUploadFunctions();\r\n }\n\n getFileTargetListAndMessage(): void {\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.fileTargets$ = this.onPremService.getFileTargetList(selectedBusinessChannel).pipe(\r\n map(apiReponse => {\n return apiReponse.data;\r\n }));\n this.cloudStorageService.getChannel(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(channel => {\n this.headerText = channel.documentUploadPageMessage;\n this.showHeaderText = channel.documentUploadPageMessage == null ? false : true;\n });\n }\n\n getFileUploadList(): void {\n this.onPremService.getFileUploadList(this.profile.auth0Id)\n .pipe(take(1))\n .subscribe(resp => {\n this.rowData = resp.data;\n this.uploadRowCount = resp.data.length;\n });\n }\n\n hideUploadFunctions(): void {\n this.hideUploadButtons = env.dev.disableFileUpload === 'yes';\r\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n\n onSelectFile(event: any): void {\r\n this.currentFile = event.target.files[0];\r\n this.currentFileName = event.target.files[0].name;\r\n this.validateFields();\r\n }\n\n onFileTargetChange(event: any): void {\r\n this.validateFields();\r\n }\n\n onPolicyNumberChange(event: any): void {\n const invalidChars = /[/\\\\?%*:|\"<>]/g;\n this.policyNumber = event.target.value.replace(invalidChars, '');\r\n }\n\n onClientNameChange(event: any): void {\n const invalidChars = /[/\\\\?%*:|\"<>]/g;\n this.clientName = event.target.value.replace(invalidChars, '');\r\n this.validateFields();\r\n }\n\n validateFields(): void {\n if (this.currentFile !== undefined && this.fileTargetId > 0 && this.clientName.length > 0) {\r\n this.disableUpload = false;\r\n }\r\n else {\r\n this.disableUpload = true;\r\n }\r\n }\n\n uploadFile(): void {\n var ext = this.currentFile?.name.substr(this.currentFile?.name.lastIndexOf('.')).toLowerCase();\n\n if (!this.fileExtensionsAllowed.find(x => x === ext) ) {\n this.message = 'File type is not allowed';\r\n } else if (this.currentFile!.size > env.dev.maxFileSize * 1024) {\n this.message = 'File is too large';\r\n } else if (this.currentFile!.size === 0) {\r\n this.message = 'File contains no data';\r\n }\r\n else {\r\n this.fileUploadService.upload(this.fileTargetId, this.profile.channelPreferenceValue, this.profile.emailAddress, this.profile.auth0Id,\r\n this.profile.selectedAgentNumber, this.policyNumber, this.clientName, this.currentFileName, this.currentFile!)\r\n .pipe(finalize(() => {\r\n this.getFileUploadList();\r\n }))\r\n .subscribe({\r\n next: (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n } else if (event instanceof HttpResponse) {\r\n this.message = event.body.message;\r\n };\r\n if (event.loaded === event.total) {\r\n setTimeout(() => {\r\n this.showUploadComplete = true;\r\n }, 1000);\r\n }\r\n },\r\n error: (err: any) => {\r\n this.progress = 0;\r\n\r\n if (err.error && err.error.message) {\r\n this.message = err.error.message;\r\n this.showUploadComplete = false;\r\n } else {\r\n this.message = 'Error uploading the file';\r\n this.showUploadComplete = false;\r\n }\r\n\r\n this.currentFile = undefined;\r\n }\r\n });\r\n this.disableUpload = true;\r\n }\r\n }\n\n resetUpload(): void {\n this.currentFile = undefined;\r\n this.fileTargetId = 0;\r\n this.policyNumber = '';\r\n this.clientName = '';\r\n this.progress = 0\r\n this.showUploadComplete = false;\r\n this.message = '';\r\n this.disableUpload = true;\r\n }\n\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","
    \r\n
    \r\n
    \r\n

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

    \r\n Document Upload\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{ progress }}% Uploaded\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {{ message }}
    \r\n
    \r\n
    \r\n
    \r\n \r\n  \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n {{uploadRowCount === 1 ? uploadRowCount + \" Upload\" : uploadRowCount + \" Uploads\"}}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component } from \"@angular/core\";\r\nimport { ITooltipAngularComp } from \"ag-grid-angular\";\r\nimport { ITooltipParams } from \"ag-grid-community\";\r\n\r\n@Component({\r\n selector: 'grid-tooltip-component',\r\n templateUrl: './grid-tooltip.component.html',\r\n styles: [\r\n `\r\n :host {\r\n position: absolute;\r\n width: 150px;\r\n height: 70px;\r\n pointer-events: none;\r\n transition: opacity 1s;\r\n }\r\n\r\n :host.ag-tooltip-hiding {\r\n opacity: 0;\r\n }\r\n\r\n .custom-tooltip p {\r\n margin: 5px;\r\n white-space: nowrap;\r\n }\r\n\r\n .custom-tooltip p:first-of-type {\r\n font-weight: bold;\r\n }\r\n `,\r\n ],\r\n})\r\nexport class GridTooltipComponent implements ITooltipAngularComp {\r\n private params!: { color: string } & ITooltipParams;\r\n public data!: any;\r\n public color!: string;\r\n\r\n agInit(params: { color: string } & ITooltipParams): void {\r\n this.params = params;\r\n\r\n this.data = params.api!.getDisplayedRowAtIndex(params.rowIndex!)!.data;\r\n this.color = this.params.color || 'white';\r\n }\r\n}\r\n","
    \r\n

    \r\n \r\n TEST\r\n

    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\nimport { CarouselImage } from '../../../models/carouselimage';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-hero',\n templateUrl: './hero.component.html',\n})\nexport class HeroComponent implements OnInit {\n heroLogo = 'https://cdn.auth0.com/blog/auth0-angular-sample/assets/logo.png';\n public carouselImages!: Array;\n\n\n constructor(public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) { }\n\n ngOnInit(): void {\n this.cloudStorageService.getCarouselImages().subscribe((carouselImages) => {this.carouselImages = carouselImages;});\n }\n}\n","
    \n \n \n \n \"{{carouselImage.description}}\"\n \n \"{{carouselImage.description}}\"\n \n \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Observable, Subscription } from 'rxjs';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { Profile } from '../../../models/profile';\nimport { KPI } from '../../../models/kpi';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { APIResponse } from '../../../models/apiresponse';\n@Component({\n selector: 'app-kpis',\n templateUrl: './kpis.component.html',\n styleUrls: ['./kpis.component.css']\n})\nexport class KpisComponent implements OnInit {\n public kpis$?: Observable;\n public kpimessage$?: Observable;\n selectedAgentID: any;\n selectedChannel: number = 0;\n profile!: Profile;\n images: Array = [];\n bgColors: Array = [];\n private agentUpdateSubscription: Subscription; //important to create a subscription\n constructor(private onPremService: OnPremStorageService,\n private siteParmService: SiteParameterService) {\n this.agentUpdateSubscription = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.selectedChannel = this.siteParmService.getStaticProfile().channelPreferenceValue;\n this.getKpis();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedChannel = this.profile.channelPreferenceValue;\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getKpis();\n }\n getKpis(): void {\n const response$ = this.onPremService.getKpis(this.selectedAgentID).pipe(\n map(response => response));\n\n this.kpis$ = response$.pipe(\n map(kpi => kpi.data.kpis));\n\n this.kpimessage$ = response$.pipe(\n map(message => message.data.kpimessage));\n }\n public searchKPI(executeSearch: boolean, kpi: string): void {\n if (executeSearch) { this.siteParmService.sendkpiSearchUpdate(kpi); }\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.agentUpdateSubscription.unsubscribe();\n }\n}\n","
    \n
    \n

    \n Key Performance Indicators\n

    \n
    \n
    \n
    \n
    \n
    0\">\n
    \n
    \n
    {{kpimessage.message}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    {{kpi.description}}
    \n \n {{kpi.kpiDisplayValue}}\n \n
    {{kpi.subText}} 
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { agentLinkCode } from '../../../models/linkCode';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\nimport { CellClassParams, RowSelectedEvent } from 'ag-grid-community';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n selector: 'app-linkcode',\r\n templateUrl: './link-code.component.html',\r\n styles: [\r\n ]\r\n})\r\nexport class LinkCodeComponent implements OnInit {\r\n public showList: boolean = true;\r\n public showDetail: boolean = false;\r\n public showRefreshButton: boolean = true;\r\n public showUpdateForm: boolean = false;\r\n public disableUpdate: boolean = true;\r\n public showAgentIDFound: boolean = false;\r\n public showAgentIDNotFound: boolean = false;\r\n\r\n public linkCodes$?: Observable;\r\n public selectedLinkCode$?: Observable;\r\n public selectedCode: string = \"\";\r\n\r\n private gridApi: any;\r\n public noRowsTemplate: string = \"\";\r\n private gridColumnApi: any;\r\n\r\n private agentLinkCodeID: number = 0;\r\n private agentID: string = \"\";\r\n\r\n columnDefs = [\r\n { field: 'emailAddress', minWidth: 300 },\r\n { field: 'agentID' },\r\n { field: 'code', headerName: 'Link Code' },\r\n { field: 'codeStatus', cellStyle: cellStyle },\r\n { field: 'codeCreateDTM', headerName: 'Code Creation Date/Time' },\r\n ];\r\n defaultColumnDef = {\r\n sortable: true,\r\n resizable: true,\r\n };\r\n\r\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\r\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\r\n }\r\n ngOnInit(): void {\r\n this.listLinkCodes();\r\n }\r\n\r\n listLinkCodes() {\r\n this.linkCodes$ = this.onPremService.getAgentLinkCodeRecords().pipe(map(response => response.data));\r\n }\r\n\r\n onRefreshClicked() {\r\n this.listLinkCodes();\r\n }\r\n\r\n onRowClicked(event: RowSelectedEvent) {\r\n this.selectedLinkCode$ = this.onPremService.getAgentLinkCodeRecord(event.data.agentLinkCodeID)\r\n .pipe(map(response => response.data[0]));\r\n\r\n this.agentLinkCodeID = event.data.agentLinkCodeID;\r\n this.selectedCode = event.data.code;\r\n\r\n this.showList = false;\r\n this.showRefreshButton = false;\r\n this.showDetail = true;\r\n this.showUpdateForm = true;\r\n }\r\n\r\n closeDetail() {\r\n this.showAgentIDFound = false;\r\n this.showAgentIDNotFound = false;\r\n this.disableUpdate = true;\r\n\r\n this.showDetail = false;\r\n this.showList = true;\r\n this.showRefreshButton = true;\r\n }\r\n\r\n changeAgentID(event: any) {\r\n this.disableUpdate = true;\r\n this.showAgentIDFound = false;\r\n this.showAgentIDNotFound = false;\r\n }\r\n\r\n updateLinkCode(formData: any): void {\r\n this.onPremService.updateAgentLinkCodeRecord(this.agentLinkCodeID, formData.agentID)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n this.selectedCode = apiResponse.data[0].code;\r\n });\r\n\r\n this.showAgentIDFound = false;\r\n this.showAgentIDNotFound = false;\r\n this.disableUpdate = true;\r\n\r\n //this.showDetail = false;\r\n //this.showList = true;\r\n }\r\n\r\n onGridReady(params: any) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n\r\n checkAgentID(formAgentIdCtrl: AbstractControl, formAgentNameCtrl: AbstractControl) {\r\n var agentId = formAgentIdCtrl.value;\r\n\r\n this.onPremService.getAgentDetail(agentId)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n if (apiResponse.data.length === 0) {\r\n this.showAgentIDFound = false;\r\n this.showAgentIDNotFound = true;\r\n this.disableUpdate = true;\r\n }\r\n else {\r\n this.showAgentIDFound = true;\r\n this.showAgentIDNotFound = false;\r\n this.disableUpdate = false;\r\n }\r\n\r\n formAgentIdCtrl.setValue(apiResponse.data[0].agentID);\r\n formAgentNameCtrl.setValue(apiResponse.data[0].name);\r\n });\r\n }\r\n}\r\n\r\nfunction cellStyle(params: CellClassParams) {\r\n var color = params.node.data.codeStatusColor.toLowerCase();\r\n var fontColor = '#28a745';\r\n switch (color) {\r\n case 'success':\r\n fontColor = '#28a745';\r\n break;\r\n case 'warning':\r\n fontColor = '#ffc107';\r\n break;\r\n case 'info':\r\n fontColor = '#17a2b8';\r\n break;\r\n case 'danger':\r\n fontColor = '#dc3545';\r\n break;\r\n }\r\n\r\n return {\r\n color: fontColor,\r\n };\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Agent Link Codes (Admin)\r\n

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

    \r\n Agent Link Code Detail\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n    \r\n \r\n  \r\n Agent ID Found!\r\n \r\n \r\n  \r\n Agent ID Not Found!\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n})\nexport class LoadingComponent implements OnInit {\n loadingImg =\n 'https://cdn.auth0.com/blog/auth0-react-sample/assets/loading.svg';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
    \n \"Loading...\"\n
    \n","import { Component, OnInit } from \"@angular/core\";\r\nimport { GridApi } from \"ag-grid\";\r\nimport { take } from \"rxjs/operators\";\r\nimport { Profile } from \"../../../models/profile\";\r\nimport { CloudStorageService } from \"../../../services/cloud-storage\";\r\nimport { OnPremStorageService } from \"../../../services/onprem-storage\";\r\nimport { SiteParameterService } from \"../../../services/siteparameter.service\";\r\n\r\n@Component({\n selector: 'app-pendingcollections',\n templateUrl: './pendingcollections.component.html'\n})\nexport class PendingCollectionsComponent implements OnInit {\n public pendingCollectionsRowData: [] = [];\n private gridApi!: GridApi;\n public noRowsTemplate: string = \"\";\n private gridColumnApi: any;\n\n public profile: Profile = {};\n //private impersonationSubscription: Subscription;\n //public agents: AgentGrid[] = [];\n public agents: TempPendingCollectionsAgent[] = [];\n public selectedAgentId: string = \"\";\n public selectedAgentName: string = \"\";\n\n columnDefs = [\r\n { field: 'sequenceNo', headerName: 'Route Seq #' },\r\n { field: 'insuredName', headerName: 'Insured' },\r\n { field: 'policyNum', headerName: 'Policy Number' },\r\n { field: 'cashAmt', headerName: 'Cash' },\r\n { field: 'suspenseAmt', headerName: 'Suspense' },\r\n { field: 'estCommissionAmt', headerName: 'Est. Commission' }\r\n ];\r\n\r\n defaultColumnDef = {\r\n sortable: true,\r\n resizable: true,\r\n };\n\n constructor(public onPremService: OnPremStorageService, private siteParmService: SiteParameterService, public cloudStorageService: CloudStorageService,) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n //this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n // (message => {\n // this.selectedAgentID = message.value;\n // this.getdownlineList();\n // });\n let agent: TempPendingCollectionsAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n this.selectedAgentId = agent.agentId;\n this.selectedAgentName = agent.agentName;\n this.getPendingCollections();\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getAgentList();\n }\n\n getPendingCollections() {\r\n this.onPremService.getPendingCollections(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.pendingCollectionsRowData = policyInfo.data;\n });\r\n }\n\n getAgentList(): void {\n //this.cloudStorageService.getLinkedAgents(this.profile.auth0Id)\n // .subscribe(agents => {\n // this.agents = agents;\n // });\n let agents: TempPendingCollectionsAgent[] = [];\n\n let agent1: TempPendingCollectionsAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n let agent2: TempPendingCollectionsAgent = {\r\n agentId: \"M1030665\",\r\n agentName: \"Hessenauer, James\"\r\n };\n let agent3: TempPendingCollectionsAgent = {\r\n agentId: \"AML11135\",\r\n agentName: \"LASTRAPES, MARK STEPHEN\"\r\n };\n let agent4: TempPendingCollectionsAgent = {\r\n agentId: \"LWWG\",\r\n agentName: \"GUERRIER, WILNER\"\r\n };\n agents.push(agent1);\n agents.push(agent2);\n agents.push(agent3);\n agents.push(agent4);\n\n this.agents = agents;\n }\n\n changeAgentId(e: any) {\r\n this.selectedAgentId = e.target.value;\r\n\r\n //Temporarily acquire selected name for UserID\r\n let arr = e.target.options[e.target.options.selectedIndex].text.split(\"-\");\r\n this.selectedAgentName = arr[1].trim();\r\n\r\n this.getPendingCollections();\r\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n params.api.sizeColumnsToFit();\n }\n\n onSearchChanged() {\n this.gridApi.setQuickFilter(\n (document.getElementById('search') as HTMLInputElement).value\n );\n }\n}\n\nexport interface TempPendingCollectionsAgent {\n agentId: string,\n agentName: string\n}\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Pending Collections\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\n\nimport { DatePipe } from '@angular/common';\nimport { ReturnDateRangeFromType, DateComparator } from '../../../common/helpers';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { Profile } from '../../../models/profile';\nimport { KPI } from '../../../models/kpi';\nimport { AgentLink } from '../../../models/agentLink';\nimport { Policy } from '../../../models/policy';\nimport { Subscription } from 'rxjs';\nimport { ColDef, RowSelectedEvent } from 'ag-grid-community';\nimport { AgentGrid } from '../../../models/agentGrid';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { map, take } from 'rxjs/operators';\r\nimport { gridColumn } from '../../../models/gridColumn';\r\nimport { CellClickedEvent } from 'ag-grid';\r\nimport { currencyFormatter } from '../../../common/ag-grid-currencyFormatter';\r\n\n@Component({\n selector: 'app-policyinfo',\n templateUrl: './policyinfo.component.html',\n styleUrls: ['./policyinfo.component.css']\n})\nexport class PolicyInfoComponent implements OnInit, AfterViewInit {\n public showSpinner = false;\n public showSearch: boolean = false;\n public showSpinner2 = false;\n public showDetail: boolean = false;\n public searchType: string = \"1\";\n public showReset: boolean = false;\n public showExport: boolean = false;\n public isAnnuityPolicy!: boolean;\n public detailTitleName: string = \"\";\n public kpis: KPI[] = [];\n public agents: AgentGrid[] = [];\n public downlineAgents: AgentLink[] = [];\n public searchRowData: Policy[] = [];\n public coverageRowData: [] = [];\n public paymentRowData: [] = [];\n public withdrawalRowData: [] = [];\n public statusHistoryRowData: [] = [];\n public underwritingStatusRowData: [] = [];\n public allocationRowData: [] = [];\n public hierarchyRowData: [] = [];\n public beneficiaryInfoRowData: [] = [];\n public beneficiaryRowData: [] = [];\n public documentsRowData: [] = [];\n public searchRowCount: number = 0;\n public profile: Profile = {};\n private channelSubscription: Subscription;\n private impersonationSubscription: Subscription;\n private kpiSearchSubscription: Subscription;\n public policyStatus = \"Inforce\";\n public timeFrame: string = \"ALL\";\n private currentDate = new Date();\n public startDate: Date = new Date(\"\");\n public endDate: Date = new Date(\"\");\n public timeFrameStart: Date = new Date(\"\");\n public timeFrameEnd: Date = new Date(\"\");\n public includedAgents: number = 3;\n public insuredName: string = \"\";\n public phone: string = \"\";\n public addressCity: string = \"\";\n public agent: string = \"ANY\";\n public downlineAgent: string = \"ANY\";\n public policy: string = \"\";\n public kpi: number = 0;\n public selectedPolicy: Policy = {};\n private gridApi: any;\n private gridApi1: any;\n private gridApi2: any;\n private gridApi3: any;\n private gridApi4: any;\n private gridApi5: any;\n private gridApi6: any;\n private gridApi7: any;\n private gridApi8: any;\n private gridApi9: any;\n private gridColumnApi: any;\n private gridColumnApi1: any;\n private gridColumnApi2: any;\n private gridColumnApi3: any;\n private gridColumnApi4: any;\n private gridColumnApi5: any;\n private gridColumnApi6: any;\n private gridColumnApi7: any;\n private gridColumnApi8: any;\n private gridColumnApi9: any;\n private gridName: string = \"Policy\";\n public noRowsTemplate: string = \"\";\n public asOfDateMessage: string = \"\";\n public limitMessage: string = \"\";\n public disableTimeFrame: boolean = true;\n public disableAdvancedDates: boolean = true;\n public clientInfoAccordionExpanded: boolean = false;\n public rmaAccordionExpanded: boolean = false;\n public allocationAccordionExpanded: boolean = false;\n searchColumnDefs!: ColDef[];\n coverageColumnDefs = [\n { field: 'coverageType', headerName: 'Coverage', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanCode', headerName: 'Plan Code', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanDesc', headerName: 'Plan Description', minWidth: 300 },\n { field: 'coveredPerson', headerName: 'Insured', minWidth: 100 },\n { field: 'ageAtIssue', headerName: 'Issue Age', minWidth: 100, maxWidth: 125 },\n { field: 'benefitAmt', headerName: 'Benefit Amount', minWidth: 100, maxWidth: 150 },\n { field: 'expiryDate', headerName: 'Expires', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'payUpDate', headerName: 'Paid To', minWidth: 100, maxWidth: 125, comparator: DateComparator }\n ];\n paymentColumnDefs = [\n { field: 'paymentDate', headerName: 'Payment Date', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'postDate', headerName: 'Post Date', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'premiumAmt', headerName: 'Premium', minWidth: 100, maxWidth: 125 },\n { field: 'source', headerName: 'Source', minWidth: 100}\n ];\n withdrawalColumnDefs = [\n { field: 'withdrawalDate', headerName: 'W/D Date', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'grossAmount', headerName: 'Gross W/D', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'surrenderCharge', headerName: 'Surr Charge', minWidth: 100, maxWidth: 125 },\n { field: 'mva', headerName: 'MVA', minWidth: 100, maxWidth: 125 },\n { field: 'fedTaxWithheld', headerName: 'Fed WH', minWidth: 100, maxWidth: 125 },\n { field: 'stateTaxWithheld', headerName: 'State WH', minWidth: 100, maxWidth: 125 },\n { field: 'netAmount', headerName: 'Net Amount', minWidth: 100, maxWidth: 125 }\n ];\n statusHistoryColumnDefs = [\n { field: 'status', headerName: 'Status', minWidth: 100 },\n { field: 'date', headerName: 'Status Date', minWidth: 100, comparator: DateComparator },\n ];\n underwritingStatusColumnDefs = [\n { field: 'underwritingItem', headerName: 'Underwriting Item', minWidth: 100 },\n { field: 'code', headerName: 'Code', minWidth: 100 },\n { field: 'requestedDate', headerName: 'Requested Date', minWidth: 100, comparator: DateComparator },\n { field: 'resolvedDate', headerName: 'Resolved Date', minWidth: 100, comparator: DateComparator }\n ];\n hierarchyColumnDefs = [\n { field: 'agentID', headerName: 'Agent ID', minWidth: 100, maxWidth: 125 },\n { field: 'agentName', headerName: 'Agent Name', minWidth: 275 },\n { field: 'level', headerName: 'Level', minWidth: 100, maxWidth: 125 },\n { field: 'commissionPct', headerName: 'Commission %', minWidth: 125, maxWidth: 150 },\n { field: 'agentType', headerName: 'Agent Type', minWidth: 100 }\n ];\n beneficiaryColumnDefs = [\n { field: 'name', headerName: 'Name', minWidth: 300 },\n { field: 'relationship', headerName: 'Relationship', minWidth: 175 },\n { field: 'split', headerName: 'Split %', minWidth: 125, maxWidth: 100 },\n { field: 'type', headerName: 'Type', minWidth: 175 }\n ];\n allocationColumnDefs = [\n { field: 'policyAllocationText', headerName: 'Strategy', minWidth: 300 },\n { field: 'allocationPct', headerName: 'Percentage', minWidth: 100 },\n { field: 'lastAnniversaryValue', headerName: 'Last Anniversary Value', minWidth: 200 },\n { field: 'currentValue', headerName: 'Current Value', minWidth: 200 }\n ];\n documentsColumnDefs = [\n { field: 'fileName', headerName: 'Document Name', minWidth: 275 },\n { field: 'fileType', headerName: 'Document Type', minWidth: 100 },\n { field: 'fileDate', headerName: 'Document Date', minWidth: 100, comparator: DateComparator },\n {\r\n headerName: ' Download', maxWidth: 125, cellStyle: { textAlign: 'center' },\r\n onCellClicked: (event: CellClickedEvent) => this.downloadDocument(event.data),\n cellRenderer: (params: any) => { return ''; }\r\n },\n ];\n defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n constructor(public cloudStorageService: CloudStorageService, private onPremService: OnPremStorageService, private siteParmService: SiteParameterService,\n private datePipe: DatePipe) { //\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.channelSubscription = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n });\n this.impersonationSubscription = this.siteParmService.getImpersonationUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n });\n this.kpiSearchSubscription = this.siteParmService.getkpiSearchUpdate().subscribe\n (message => {\n if (this.kpis.length > 0) {\n $('#submenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $('#KPI-tab').addClass('router-link-exact-active');\n $('#QuickSearch').removeClass('active');\n $('#AdvancedSearch').removeClass('active');\n $('#KPI').addClass('active');\n this.kpi = this.kpis.filter(k => k.description === message.value)[0].kpiid;\n this.includedAgents = 3;\n this.searchType = \"3\";\n var element = document.getElementById('endOfPage') as HTMLElement;\n this.searchPolicies(element);\n }\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n this.setDetailType();\n }\n ngAfterViewInit(): void {\n $('#submenu li a').click(function () {\n $('#submenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n $('#detailMenu li a').click(function () {\n $('#detailMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n }\n getColumnDefs(): void {\n const channel: number = this.profile.channelPreferenceValue;\n this.onPremService.getGridColumnList(channel, this.gridName)\r\n .pipe(map(resp => {\r\n return resp.data.map((column: gridColumn) => {\r\n return {\r\n field: column[\"field\"], headerName: column[\"header\"], minWidth: column[\"minWidth\"], comparator: column[\"field\"].toLowerCase().includes(\"date\") ? DateComparator : '',\r\n valueFormatter: column[\"valueType\"].toLowerCase().match(\"money\") ? currencyFormatter : '' };\r\n });\r\n }))\r\n .pipe(take(1))\r\n .subscribe(list => {\r\n this.searchColumnDefs = list;\r\n });\n }\n changeTimeFrame(e: any) {\n this.changeTimeFrameDates(e.target.value);\n }\n changeTimeFrameDates(timeFrame: string) {\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\n this.timeFrameStart = start!;\n this.timeFrameEnd = end!;\n }\n onStartDateSelect(e: Event) {\n this.startDate = (e.target as HTMLInputElement).valueAsDate!;\n if (this.startDate! > this.endDate!) {\n this.endDate = new Date(this.startDate);\n this.endDate.setDate(this.endDate.getDate() + 7);\n }\n }\n onEndDateSelect(e: Event) {\n this.endDate = (e.target as HTMLInputElement).valueAsDate!;\n if (this.startDate! > this.endDate!) {\n this.endDate = new Date(this.startDate);\n this.endDate.setDate(this.endDate.getDate() + 7);\n }\n }\n searchPolicies(element: HTMLElement): void {\n this.showSearch = true;\n this.showSpinner = true;\n this.showDetail = false;\n this.searchRowData = [];\n this.searchRowCount = 0;\n this.asOfDateMessage = \"\";\n this.selectedPolicy = {};\n this.profile = this.siteParmService.getStaticProfile();\n this.getColumnDefs();\n switch (this.searchType) {\n case \"1\":\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\n this.startDate = start!;\n this.endDate = end!;\n const startDateString = (this.startDate != null ? this.datePipe.transform(this.startDate, 'MM/dd/yyyy') : \"\") as string;\n const endDateString = (this.endDate != null ? this.datePipe.transform(this.endDate, 'MM/dd/yyyy') : \"\") as string;\n\n this.onPremService.searchPolicies(this.profile.selectedAgentNumber, this.policyStatus, startDateString, endDateString,\n this.includedAgents, this.profile.channelPreference)\n .subscribe(response => {\n this.searchRowData = response.policies;\n this.searchRowCount = response.policies.length;\n this.showExport = this.searchRowCount > 0 ? true : false;\n this.asOfDateMessage = response.asOfDateMessage;\n this.limitMessage = response.limitMessage;\n this.showSpinner = false;\n element.scrollIntoView();\n });\n break;\n case \"2\":\n let parsedStartDate = '';\n let parsedEndDate = '';\n\n if (!isNaN(this.startDate.getDay())) {\n const startSearchDate = new Date(this.startDate.getUTCFullYear(), this.startDate.getUTCMonth(), this.startDate.getUTCDate());\n parsedStartDate = this.datePipe.transform(startSearchDate, 'MM/dd/yyyy') as string;\n }\n if (!isNaN(this.endDate.getDay())) {\n const endSearchDate = new Date(this.endDate.getUTCFullYear(), this.endDate.getUTCMonth(), this.endDate.getUTCDate());\n parsedEndDate = this.datePipe.transform(endSearchDate, 'MM/dd/yyyy') as string;\n }\n\n this.onPremService.searchAdvancedPolicies(this.profile.selectedAgentNumber, this.agent, this.downlineAgent, this.policyStatus, parsedStartDate,\n parsedEndDate, this.insuredName, this.addressCity, this.phone, this.policy, this.profile.channelPreference)\n .subscribe(response => {\n this.searchRowData = response.policies;\n this.searchRowCount = response.policies.length;\n this.showExport = this.searchRowCount > 0 ? true : false;\n this.asOfDateMessage = response.asOfDateMessage;\n this.limitMessage = response.limitMessage;\n this.showSpinner = false;\n element.scrollIntoView();\n });\n break;\n case \"3\":\n this.onPremService.searchKpiPolicies(this.profile.selectedAgentNumber, this.kpi, this.includedAgents, this.profile.channelPreference)\n .subscribe(response => {\n this.searchRowData = response.policies;\n this.searchRowCount = response.policies.length;\n this.showExport = this.searchRowCount > 0 ? true : false;\n this.asOfDateMessage = response.asOfDateMessage;\n this.limitMessage = response.limitMessage;\n this.showSpinner = false;\n element.scrollIntoView();\n });\n break;\n };\n }\n clearSearch(searchType: string): void {\n this.showReset = false;\n if (searchType === '2') {\n this.showReset = true;\n this.policyStatus = 'Any';\n this.startDate = new Date(\"\");\n this.endDate = new Date(\"\");\n this.disableAdvancedDates = true;\n $('#AdvancedSearch').addClass('active');\n $('#QuickSearch').removeClass('active');\n $('#KPI').removeClass('active');\n }\n if (searchType === '1') {\n this.policyStatus = 'Inforce';\n this.timeFrame = \"ALL\"\n this.changeTimeFrameDates(\"ALL\");\n this.disableTimeFrame = true;\n $('#QuickSearch').addClass('active');\n $('#AdvancedSearch').removeClass('active');\n $('#KPI').removeClass('active');\n }\n this.searchType = searchType;\n this.searchRowData = [];\n this.showDetail = false;\n this.showSearch = false;\n }\n resetAdvancedSearch(): void {\n this.startDate = new Date(\"\");\n this.endDate = new Date(\"\");\n this.agent = 'ANY';\n this.downlineAgent = 'ANY';\n this.policy = '';\n this.insuredName = '';\n this.addressCity = '';\n this.phone = '';\n this.policyStatus = 'Any';\n this.disableAdvancedDates = true;\n this.limitMessage = '';\n this.searchRowData = [];\n this.searchRowCount = 0;\n }\n checkDates(): void {\n this.disableTimeFrame = false;\n if (this.policyStatus === 'Inforce' || this.policyStatus === 'Pending' || this.policyStatus === 'Past Due') {\n this.timeFrame = \"ALL\"\n this.changeTimeFrameDates(this.timeFrame);\n this.disableTimeFrame = true;\n }\n }\n checkAdvancedDates(): void {\n this.disableAdvancedDates = false;\n if (this.policyStatus === 'Any' || this.policyStatus === 'Inforce' || this.policyStatus === 'Pending' || this.policyStatus === 'Past Due') {\n this.startDate = new Date(\"\");\n this.endDate = new Date(\"\");\n this.disableAdvancedDates = true;\n }\n }\n getKPIList(): void {\n this.onPremService.getKpiList(this.profile.selectedAgentNumber, true)\n .subscribe(kpis => {\n this.kpis = kpis;\n this.kpi = kpis[0].kpiid;\n });\n }\n getAgentList(): void {\n this.cloudStorageService.getLinkedAgents(this.profile.auth0Id)\n .subscribe(agents => {\n this.agents = agents;\n });\n }\n getDownlineAgentList(agentId: string): void {\n if (this.agent === 'ANY')\n agentId = this.profile.selectedAgentNumber;\n\n this.onPremService.getAgentHierarchyList(agentId)\n .subscribe(apiReponse => {\n this.downlineAgents = apiReponse.data;\n });\n }\n setDetailType(): void {\n if (this.profile.channelPreference == 'Annuity' || this.profile.channelPreference == 'Annuity[Bank]') {\n this.isAnnuityPolicy = true;\r\n } else {\n this.isAnnuityPolicy = false;\r\n }\r\n }\n filterFunction(agents: AgentGrid[]): any[] {\n return agents.filter(i => i.channelId === this.profile.channelPreferenceValue);\n }\n onRowClicked(event: RowSelectedEvent) {\n this.selectedPolicy = {};\n this.onPremService.getPolicyDetail(this.profile.selectedAgentNumber, event.data.policyNumber, event.data.regionID, this.profile.channelPreferenceValue)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.selectedPolicy = policyInfo.data[0];\n this.coverageRowData = policyInfo.data[0].policyCoverages;\n this.paymentRowData = policyInfo.data[0].policyPayments;\n this.withdrawalRowData = policyInfo.data[0].policyWithdrawals;\n this.statusHistoryRowData = policyInfo.data[0].policyStatusHistory;\n this.underwritingStatusRowData = policyInfo.data[0].policyUnderwritingStatus;\n this.hierarchyRowData = policyInfo.data[0].policyHierarchy;\n this.beneficiaryInfoRowData = policyInfo.data[0].policyBeneficiaryInfo;\n this.beneficiaryRowData = policyInfo.data[0].policyBeneficiary;\n this.allocationRowData = policyInfo.data[0].policyAllocation;\n this.documentsRowData = policyInfo.data[0].policyDocuments;\n if (policyInfo.data[0].policyCoverages == null) {\n $('#Coverages-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyPayments == null) {\n $('#PremiumHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyWithdrawals == null) {\n $('#WithdrawalHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyStatusHistory == null) {\n $('#StatusHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyUnderwritingStatus == null) {\n $('#Underwriting-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyHierarchy == null) {\n $('#Hierarchy-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].annuitantName == '') {\n this.detailTitleName = policyInfo.data[0].insuredName\r\n } else {\n this.detailTitleName = policyInfo.data[0].annuitantName\r\n }\n if (policyInfo.data[0].policyDocuments == null) {\n $('#Documents-tab').addClass('policymenudisabled');\n }\n });\n this.showSearch = false;\n this.showDetail = true;\n }\n displayDetail(detailPageName: string): boolean {\n var show: boolean = false;\n switch (this.profile.channelPreference) {\r\n case 'Annuity': {\r\n if (detailPageName === 'Annuity') {\r\n show = true;\r\n }\r\n else {\r\n show = false;\r\n }\r\n break;\r\n }\r\n case 'Annuity [Bank]': {\r\n if (detailPageName === 'Annuity') {\r\n show = true;\r\n }\r\n else {\r\n show = false;\r\n }\r\n break;\r\n }\r\n default: {\r\n if (detailPageName === 'Annuity') {\r\n show = false;\r\n }\r\n else {\r\n show = true;\r\n }\r\n }\r\n };\r\n return show;\n }\n toggleClientInfoAccordion() {\r\n this.clientInfoAccordionExpanded = !this.clientInfoAccordionExpanded;\r\n }\r\n getClientInfoAccordionArrowStyle() {\r\n return this.clientInfoAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n toggleRmaAccordion() {\r\n this.rmaAccordionExpanded = !this.rmaAccordionExpanded;\r\n }\r\n getRmaAccordionArrowStyle() {\r\n return this.rmaAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n toggleAllocationAccordion() {\r\n this.allocationAccordionExpanded = !this.allocationAccordionExpanded;\r\n }\r\n getAllocationAccordionArrowStyle() {\r\n return this.allocationAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n }\n onGridReady2(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n }\n onGridReady3(params: any) {\n this.gridApi3 = params.api;\n this.gridColumnApi3 = params.columnApi;\n }\n onGridReady4(params: any) {\n this.gridApi4 = params.api;\n this.gridColumnApi4 = params.columnApi;\n }\n onGridReady5(params: any) {\n this.gridApi5 = params.api;\n this.gridColumnApi5 = params.columnApi;\n }\n onGridReady6(params: any) {\n this.gridApi6 = params.api;\n this.gridColumnApi6 = params.columnApi;\n }\n onGridReady7(params: any) {\n this.gridApi7 = params.api;\n this.gridColumnApi7 = params.columnApi;\n }\n onGridReady8(params: any) {\n this.gridApi8 = params.api;\n this.gridColumnApi8 = params.columnApi;\n }\n onGridReady9(params: any) {\n this.gridApi9 = params.api;\n this.gridColumnApi9 = params.columnApi;\n }\n displayList(list: string): boolean {\n var show: boolean = false;\n switch (this.profile.channelPreference) {\r\n case 'Annuity': {\r\n if (list === 'Underwriting' || list === 'BeneficiaryInfo' || list === 'Documents' || list === 'Withdrawal') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Annuity [Bank]': {\r\n if (list === 'Underwriting' || list === 'BeneficiaryInfo' || list === 'Documents' || list === 'Withdrawal') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Pre-Need': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service [Career]': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n default: {\r\n show = false;\r\n }\r\n };\r\n return show;\r\n }\n closeDetail() {\n this.clientInfoAccordionExpanded = false;\n this.rmaAccordionExpanded = false;\n this.showDetail = false;\n this.showSearch = true;\n }\n printPage() {\r\n if (this.profile.channelPreference === 'Annuity' || this.profile.channelPreference === 'Annuity [Bank]') {\r\n $('#annuityClientInfoCollapse').addClass(\"show\");\r\n window.scrollTo(0, 0);\r\n window.print();\r\n $('#annuityClientInfoCollapse').removeClass(\"show\");\r\n } else {\r\n window.scrollTo(0, 0);\r\n window.print();\r\n }\r\n }\n addDays(date: Date, days: number) {\n var result = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n }\n detailTabView(link: string) {\n $('#detailMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(link).addClass('router-link-exact-active');\n }\n exportToExcel() {\n const params = {\n fileName: this.profile.selectedAgentNumber + '_Policies',\n sheetName: 'Policies'\n };\n this.gridApi.exportDataAsExcel(params);\n }\n downloadDocument(data: any) {\n const policyNumber = data.policyNumber;\n const documentDate = data.fileDate.replaceAll('/', '').trim();\n this.onPremService.downloadDocument(data.policyDocumentID)\n .pipe(take(1))\n .subscribe(data => {\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData);\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.download = \"LBIG\" + \"_\" + policyNumber + \"_\" + documentDate + \".pdf\";\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelSubscription.unsubscribe();\n this.impersonationSubscription.unsubscribe()\n this.kpiSearchSubscription.unsubscribe();\n }\n}\n","
    \n
    \n
    \n
    \n

    \n Policy Search\n

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

    \n Search Results – {{searchRowCount === 1 ? searchRowCount + \" Policy\" : searchRowCount + \" Policies\"}}  {{asOfDateMessage}}\n

    \n
    \n
    \n
    \n

    {{limitMessage}}

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

    \n \n Policy Detail -\n {{selectedPolicy.policyNumber ? selectedPolicy.policyNumber + \" - \" + detailTitleName + \"   [ values as of \" + selectedPolicy.asOfDate + \" ]\": \"Loading...\"}}\n \n

    \n
    \n
    \n     \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    Error Loading Policy Information
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Insured\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.insuredName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.insuredAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.insuredPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.insuredDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Owner\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.ownerName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.ownerAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.ownerPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.ownerDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Payor\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.payorName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.payorAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.payorPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.payorDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Error Loading Policy Information
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \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
    0\">\n
    \n
    \n\n
    \n\n
    \n\n

    \n \n Allocations  \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 Annuitant\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.annuitantName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.annuitantAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.annuitantPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.annuitantDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Owner\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.ownerName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.ownerAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.ownerPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.ownerDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n Joint Owner\n
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.jointOwnerName}}
    \n
    \n
    \n
    \n
    \n
    {{selectedPolicy.jointOwnerAddress}}
    \n
    \n
    \n
    \n
    \n
    Phone: {{ selectedPolicy.jointOwnerPhone | phone }}
    \n
    \n
    \n
    \n
    \n
    DOB: {{selectedPolicy.jointOwnerDob}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { group } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\r\nimport { documentGroup } from '../../../models/documentGroup';\nimport { Profile } from '../../../models/profile';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-quicklinks',\n templateUrl: './quicklinks.component.html',\n styleUrls: ['./quicklinks.component.css']\n})\nexport class QuickLinksInfoComponent implements OnInit {\n public groupsLeft!: documentGroup[];\n public groupsRight!: documentGroup[];\n public profile: Profile;\n public accordionColumn: string = \"\";\n public accordionCollapsed: boolean[] = [];\n private subscriptionName: Subscription; //important to create a subscription\n\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private onPremService: OnPremStorageService,) {\n this.profile = this.siteParmService.getStaticProfile();\n this.subscriptionName = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.getDocuments();\n });\n }\n\n ngOnInit(): void {\n this.getDocuments();\n }\n getDocuments() {\n this.cloudStorageService.getDocuments(this.profile.channelPreferenceValue)\n .subscribe((groups) => {\n groups.forEach(g => g.documents.forEach(d => {\n if (d.externalLink) { \n Object.entries(this.profile).forEach(([key, value]) => {\r\n const replaceToken = '<' + key + '>';\r\n if (d.linkUrl.indexOf(replaceToken) > 0) {\r\n d.linkUrl = d.linkUrl.replace(replaceToken, value);\r\n }\r\n });\r\n }\r\n }));\n this.groupsLeft = groups.filter(l => l.direction === 'L');\n this.groupsRight = groups.filter(l => l.direction === 'R');\n });\r\n }\n externalLinkClick(link: string) {\n this.onPremService.getExternalLink(link)\n .pipe(take(1))\n .subscribe(redirect => {\n if (redirect) { \n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = redirect.data.url;\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n }\n });\r\n return link;\r\n }\n toggleAccordion(side: string, index: number) {\n this.accordionColumn = side;\n this.accordionCollapsed[index] = !this.accordionCollapsed[index];\n }\n getAccordionArrowStyle(side: string, index: number) {\n var style = 'fas fa-angle-up';\n\n if (side == this.accordionColumn) {\n style = this.accordionCollapsed[index] ? 'fas fa-angle-down' : 'fas fa-angle-up';\n }\n return style;\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Observable, Subscription } from 'rxjs';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { Profile } from '../../../models/profile';\nimport { map, take } from 'rxjs/operators';\r\nimport { Report } from '../../../models/report';\r\nimport { AgentLink } from '../../../models/agentLink';\r\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.css']\n})\nexport class ReportsComponent implements OnInit {\n warning: string = \"Warning\";\n info: string = \"Info\";\n selectedAgentID: string = \"\";\n agentToken: string = \"\";\n profile!: Profile;\n subscriptionName: Subscription;\n public downlineAgentId?: string;\n public downlineAgents$?: Observable;\n public reports$?: Observable;\n\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.subscriptionName = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.downlineAgentId = this.selectedAgentID;\n this.getDownlineAgentList();\n this.getReports();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getReports();\n this.downlineAgentId = this.selectedAgentID;\n this.getDownlineAgentList();\n }\n getDownlineAgentList(): void {\n this.downlineAgents$ = this.onPremService.getAgentHierarchyList(this.selectedAgentID).pipe(\r\n map(apiReponse => apiReponse.data));\n }\n getReports(): void {\n this.reports$ = this.onPremService.getReports(this.selectedAgentID).pipe(\r\n map(report => report.data));\r\n }\n getReport(url: string): void {\n this.onPremService.getAgentToken(this.downlineAgentId!)\n .pipe(take(1))\n .subscribe(t => {\n let reportURL = url.replace(this.selectedAgentID, this.downlineAgentId!) + t.data.token;\n window.open(reportURL, '_blank');\n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","
    0\" class=\"row justify-content-center\">\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n

    \n Reports\n

    \n
    \n
    \n
    \n
    \n
    \n \n\n public policyNumber: string = \"\";\n public sequenceNo: string = \"\";\n public routeSequenceId: string = \"\";\n public modalPremium: number = 0.00;\n public premiumDue: number = 0.00;\n public monthsPaid: number = 0;\n public minimumMonths: number = 0;\n public groupModalPremium: number = 0.00;\n public groupPremiumDue: number = 0.00;\n public premiumGroupCollected: number = 0.00;\n public monthsGroupPaid: number = 0;\n public currentGroupCommRate: number = 0.00;\n public estimatedGroupCommission: number = 0.00;\n\n private collectionId!: string;\n private regionId: number = 0;\n private collectionAgentId: string = \"\";\n private cashAmount: number = 0.00;\n private suspenseAmount: number = 0.00;\n private insuredName: string = \"\";\n private payorName: string = \"\";\n public premiumCollected: number = 0.00;\n public currentCommRate: number = 0.00;\n public estimatedCommission: number = 0.00;\n\n public contactName: string = \"\";\r\n public contactAddressLine1: string = \"\";\r\n public contactAddressLine2: string = \"\";\r\n public contactCity: string = \"\";\r\n public contactState: string = \"\";\r\n public contactZip: string = \"\";\r\n public contactEmailAddress: string = \"\";\r\n public contactPhone: string = \"\";\r\n public contactNotes: string = \"\";\n\n\n private gridApi!: GridApi;\n public noRowsTemplate: string = \"\";\n public groupDefaultExpanded = 1;\n private gridColumnApi: any;\n public profile: Profile = {};\n //private impersonationSubscription: Subscription;\n //public agents: AgentGrid[] = [];\n public agents: TempAgent[] = [];\n public selectedAgentId: string = \"\";\n public selectedAgentName: string = \"\";\n\n public testText$?: Observable;\n\n public columnDefs = [\n { field: 'sequenceNo', headerName: 'Route Seq #', rowGroup: true, hide: true },\n { field: 'insuredName', headerName: 'Insured' },\n { field: 'payorName', headerName: 'Payor' },\n { field: 'policyNum', headerName: 'Policy #', minWidth: 100, maxWidth: 100 },\n { field: 'modalPremium', headerName: 'Modal Prem', valueFormatter: currencyFormatter, minWidth: 130, maxWidth: 130 },\n { field: 'monthsDue', headerName: 'Months Due', minWidth: 130, maxWidth: 130 },\n { field: 'premiumDue', headerName: 'Prem Due', minWidth: 125, maxWidth: 125, valueFormatter: currencyFormatter },\n { field: 'paidToDate', headerName: 'Paid-To Date', minWidth: 150, maxWidth: 150 },\n { field: 'collectionAmt', headerName: 'Prem Collected', minWidth: 150, maxWidth: 150, valueFormatter: currencyFormatter }\n ];\n public defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n public autoGroupColumnDef: ColDef = {\r\n headerName: 'Route Seq #',\r\n cellRendererParams: {\r\n suppressCount: true,\r\n //checkbox: true,\r\n //checkboxSelection: true,\r\n },\r\n minWidth: 200, maxWidth: 200,\r\n //cellStyle: { color: 'red', backgroundColor: 'green' }\r\n };\n\n public gridOptions: GridOptions = {\n context: this\n }\n\n constructor(public onPremService: OnPremStorageService, private siteParmService: SiteParameterService, public cloudStorageService: CloudStorageService,) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n //this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n // (message => {\n // this.selectedAgentID = message.value;\n // this.getdownlineList();\n // });\n let agent: TempAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n this.selectedAgentId = agent.agentId;\n this.selectedAgentName = agent.agentName;\n this.getRouteList();\n this.getTotalCollectedAmount();\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getAgentList();\n }\n\n getRouteList() {\r\n this.routeList$ = this.onPremService.getRouteList(this.selectedAgentId,'').pipe(map(response => response.data));\r\n\r\n\r\n\r\n }\n\n getTotalCollectedAmount() {\n this.testText$ = this.routeList$?.pipe(\r\n map(arr => arr.reduce((a, b) => a + b.collectionAmt, 0)));\r\n }\n\n getAgentList(): void {\n //this.cloudStorageService.getLinkedAgents(this.profile.auth0Id)\n // .subscribe(agents => {\n // this.agents = agents;\n // });\n let agents: TempAgent[] = [];\n\n let agent1: TempAgent = {\r\n agentId: \"M1030301\",\r\n agentName: \"Stone, Todd A\"\r\n };\n let agent2: TempAgent = {\r\n agentId: \"M1030665\",\r\n agentName: \"Hessenauer, James\"\r\n };\n let agent3: TempAgent = {\r\n agentId: \"AML11135\",\r\n agentName: \"LASTRAPES, MARK STEPHEN\"\r\n };\n let agent4: TempAgent = {\r\n agentId: \"LWWG\",\r\n agentName: \"GUERRIER, WILNER\"\r\n };\n agents.push(agent1);\n agents.push(agent2);\n agents.push(agent3);\n agents.push(agent4);\n\n this.agents = agents;\n }\n\n changeAgentId(e: any) {\r\n this.selectedAgentId = e.target.value;\r\n\r\n //Temporarily acquire selected name for UserID\r\n let arr = e.target.options[e.target.options.selectedIndex].text.split(\"-\");\r\n this.selectedAgentName = arr[1].trim();\r\n\r\n this.getRouteList();\r\n }\n\n clearForm() {\n this.policyNumber = \"\";\n this.sequenceNo = \"\";\n this.routeSequenceId = \"\";\n this.modalPremium = 0.00;\n this.premiumDue = 0.00;\n this.monthsPaid = 0;\n this.minimumMonths = 0;\n this.collectionId = \"\";\n this.regionId = 0;\n this.collectionAgentId = \"\";\n this.cashAmount = 0.00;\n this.suspenseAmount = 0.00;\n this.insuredName = \"\";\n this.payorName = \"\";\r\n\r\n this.groupModalPremium = 0.00;\n this.groupPremiumDue = 0.00;\n this.premiumGroupCollected = 0.00;\n this.monthsGroupPaid = 0;\r\n }\n\n onRowClicked(event: RowSelectedEvent) {\r\n if (event.node.isSelected()) {\r\n if (!event.node.key) {\r\n this.getCollection(event.data);\r\n this.openCollectionForm();\r\n }\r\n }\r\n }\n\n openCollectionForm() {\r\n this.showCollectionParameters = false;\r\n this.showCollectionList = false;\r\n this.showCollectionForm = true;\r\n }\n\n closeCollectionForm() {\r\n this.clearForm();\r\n this.showCollectionParameters = true;\r\n this.showCollectionList = true;\r\n this.showCollectionForm = false;\r\n this.showNoPremiumCollected = false;\r\n }\n\n openGroupCollectionForm() {\r\n this.showCollectionParameters = false;\r\n this.showCollectionList = false;\r\n this.showGroupCollectionForm = true;\r\n }\n\n closeGroupCollectionForm() {\r\n this.clearForm();\r\n this.showCollectionParameters = true;\r\n this.showCollectionList = true;\r\n this.showGroupCollectionForm = false;\r\n this.showNoGroupPremiumCollected = false;\r\n }\n\n getCollection(data: any): void {\n if (data.collectionID === null) {\r\n this.policyNumber = data.policyNum;\n this.sequenceNo = data.sequenceNo;\r\n this.routeSequenceId = data.routeSequenceID\r\n this.modalPremium = data.modalPremium;\r\n this.premiumDue = data.premiumDue;\r\n this.monthsPaid = data.monthsDue;\r\n this.showLapseAlert = data.monthsDue > 3 ;\r\n this.minimumMonths = data.monthsDue > 3 ? this.monthsPaid : 0;\r\n this.premiumCollected = data.premiumDue;\r\n this.currentCommRate = data.currentCommRate;\r\n this.estimatedCommission = this.premiumCollected * this.currentCommRate;\r\n\r\n this.regionId = data.regionID;\n this.collectionAgentId = this.selectedAgentName;\n this.cashAmount = this.premiumDue;\n this.insuredName = data.insuredName;\n this.payorName = data.payorName;\r\n } else {\r\n this.onPremService.getCollection(data.collectionID)\r\n .pipe(take(1))\r\n .subscribe(response => {\r\n this.collectionId = response.data[0].collectionID;\r\n this.policyNumber = response.data[0].policyNum;\n this.sequenceNo = response.data[0].sequenceNo;\r\n this.modalPremium = response.data[0].modalPremium;\r\n this.premiumDue = response.data[0].premiumDue;\r\n this.monthsPaid = response.data[0].monthsPaid;\r\n this.showLapseAlert = response.data[0].monthsDue > 3;\r\n this.minimumMonths = response.data[0].monthsDue > 3 ? response.data[0].monthsDue : 0;\r\n this.premiumCollected = response.data[0].cashAmt + response.data[0].suspenseAmt;\r\n this.currentCommRate = response.data[0].currentCommRate;\r\n this.estimatedCommission = response.data[0].premiumDue * response.data[0].currentCommRate;\r\n this.regionId = response.data[0].regionID;\n this.collectionAgentId = response.data[0].collectionAgentID;\n this.cashAmount = response.data[0].cashAmt;\n this.suspenseAmount = response.data[0].suspenseAmt;\n this.insuredName = response.data[0].insuredName;\n this.payorName = response.data[0].payorName;\r\n });\r\n }\r\n }\n\n addCollection(formData: any): void {\r\n if (this.premiumCollected > 0) {\r\n //this.onPremService.saveCollection(this.collectionId, this.regionId, this.policyNumber, this.selectedAgentId, this.collectionAgentId,\r\n // this.monthsPaid, this.cashAmount, this.suspenseAmount, this.selectedAgentName, this.modalPremium, this.currentCommRate, this.insuredName,\r\n // this.payorName, this.sequenceNo)\r\n // .pipe(take(1))\r\n // .subscribe(response => {\r\n // this.getTotalCollectedAmount();\r\n // });\r\n\r\n this.closeCollectionForm();\r\n }\r\n else {\r\n this.showNoPremiumCollected = true;\r\n }\r\n }\n\n deleteCollection(collectionId: string): void {\n if (confirm(\"Are you sure you want to delete this payment?\")) {\n this.onPremService.deleteCollection(collectionId)\r\n .pipe(take(1))\r\n .subscribe(response => {\r\n this.getTotalCollectedAmount();\r\n });\n\n this.closeCollectionForm();\n }\n }\n\n setGroupCollectionValues(listCollection: any) {\r\n var premiumSum = 0;\r\n var premiumDueSum = 0;\r\n this.collectionId = listCollection[0].data.collectionID;\r\n this.sequenceNo = listCollection[0].data.sequenceNo;\r\n this.routeSequenceId = listCollection[0].data.routeSequenceID;\r\n this.monthsGroupPaid = listCollection[0].data.monthsDue;\r\n this.showLapseAlert = listCollection[0].data.monthsDue > 3;\r\n this.minimumMonths = listCollection[0].data.monthsDue > 3 ? this.monthsGroupPaid : 0;\r\n this.currentGroupCommRate = listCollection[0].data.currentCommRate;\r\n this.collectionAgentId = this.selectedAgentName;\r\n\r\n for (var i = 0; i < listCollection.length; i++) {\r\n premiumSum += listCollection[i].data.modalPremium;\r\n premiumDueSum += listCollection[i].data.premiumDue;\r\n }\r\n\r\n this.groupModalPremium = premiumSum;\r\n this.groupPremiumDue = premiumDueSum;\r\n\r\n this.premiumGroupCollected = premiumSum * listCollection[0].data.monthsDue;\r\n this.estimatedGroupCommission = premiumSum * listCollection[0].data.monthsDue * listCollection[0].data.currentCommRate;\r\n }\n\n checkToDisableAddGroupCollection(listCollection: any): boolean {\n var disable = false;\n var collectedSum = 0;\n var monthsDueArray = [];\n\n if (listCollection[0].data.sequenceNo == 'UNSEQUENCED') {\n disable = true;\r\n }\n else {\n for (var i = 0; i < listCollection.length; i++) {\r\n collectedSum += listCollection[i].data.collectionAmt;\r\n monthsDueArray.push(listCollection[i].data.monthsDue)\r\n }\r\n\r\n if (collectedSum > 0 || !(monthsDueArray.every(value => { return value === listCollection[0].data.monthsDue; }))) {\r\n disable = true;\r\n }\r\n }\n return disable;\r\n }\n\n addGroupCollection(formData: any): void {\r\n if (this.premiumGroupCollected > 0) { \r\n this.onPremService.saveGroupCollection(this.routeSequenceId, this.selectedAgentId, this.collectionAgentId, this.monthsGroupPaid,\r\n this.premiumGroupCollected, this.selectedAgentName)\r\n .finally(() => {\r\n this.closeGroupCollectionForm();\r\n this.getTotalCollectedAmount();\r\n }); \r\n }\r\n else {\r\n this.showNoGroupPremiumCollected = true;\r\n }\r\n }\n\n checkToDeleteGroupCollection(listCollection: any): boolean {\n var collectedSum = 0;\n\n for (var i = 0; i < listCollection.length; i++) {\r\n collectedSum += listCollection[i].data.collectionAmt;\r\n }\r\n\n return collectedSum === 0;\r\n }\n\n deleteGroupCollection(routeSequenceId: string): void {\n if (confirm(\"Are you sure you want to delete this group payment?\")) {\n this.onPremService.deleteGroupCollection(routeSequenceId)\r\n .finally(() => {\r\n this.getTotalCollectedAmount();\r\n this.refreshGrid();\r\n });\r\n }\n }\n\n openSequenceNumberForm() {\r\n this.showCollectionParameters = false;\r\n this.showCollectionList = false;\r\n this.showSequenceNumberForm = true;\r\n }\n\n closeSequenceNumberForm() {\r\n this.showCollectionParameters = true;\r\n this.showCollectionList = true;\r\n this.showSequenceNumberForm = false;\r\n }\n\n getSequenceNumberInfo(data: any): void {\n this.regionId = data.regionID;\n this.policyNumber = data.policyNum;\n this.sequenceNo = data.sequenceNo === 'UNSEQUENCED' ? '' : data.sequenceNo;\n }\n\n updateSequenceNumber(formData: any): void {\r\n this.onPremService.saveSequence(this.regionId, this.policyNumber, this.selectedAgentId, trim(formData.sequenceNo), this.selectedAgentName)\r\n .pipe(take(1))\r\n .subscribe();\r\n\r\n this.closeSequenceNumberForm(); \r\n }\n\n openSequenceContactForm() {\r\n this.showCollectionParameters = false;\r\n this.showCollectionList = false;\r\n this.showSequenceContactForm = true;\r\n }\n\n closeSequenceContactForm() {\r\n this.showCollectionParameters = true;\r\n this.showCollectionList = true;\r\n this.showSequenceContactForm = false;\r\n }\n\n getSequenceContactInfo(data: any): void {\n this.routeSequenceId = data.routeSequenceID;\n this.sequenceNo = data.sequenceNo;\n\n this.onPremService.getSequenceContact(this.routeSequenceId)\r\n .pipe(take(1))\r\n .subscribe(response => {\r\n this.contactName = response.data[0].name;\r\n this.contactAddressLine1 = response.data[0].addressLine1;\r\n this.contactAddressLine2 = response.data[0].addressLine2;\r\n this.contactCity = response.data[0].city;\r\n this.contactState = response.data[0].state;\r\n this.contactZip = response.data[0].zip;\r\n this.contactEmailAddress = response.data[0].emailAddress;\r\n this.contactPhone = response.data[0].phone;\r\n this.contactNotes = response.data[0].notes;\r\n });\n }\n\n updateSequenceContact(formData: any): void {\r\n this.onPremService.saveSequenceContact(this.routeSequenceId, this.sequenceNo, this.contactName, this.contactAddressLine1, this.contactAddressLine2,\r\n this.contactCity, this.contactState, this.contactZip, this.contactEmailAddress, this.contactPhone, this.contactNotes, this.selectedAgentName )\r\n .pipe(take(1))\r\n .subscribe();\r\n\r\n this.closeSequenceContactForm(); \r\n }\n\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n params.api.sizeColumnsToFit();\n }\n\n getContextMenuItems(\r\n params: GetContextMenuItemsParams\r\n ): (string | MenuItemDef)[] {\r\n var result: (string | MenuItemDef)[] = [\r\n {\r\n name: 'Collect/Update Payment',\r\n action: () => {\r\n params.context.openCollectionForm();\r\n params.context.getCollection(params.node!.data);\r\n }\r\n },\r\n {\r\n name: 'Delete Payment',\r\n action: () => {\r\n params.context.deleteCollection(params.node!.data.collectionID);\r\n params.context.refreshGrid();\r\n },\r\n disabled: !params.node!.data.collectionID,\r\n },\r\n {\r\n name: 'Edit Sequence Number',\r\n action: () => {\r\n params.context.openSequenceNumberForm();\r\n params.context.getSequenceNumberInfo(params.node!.data);\r\n },\r\n },\r\n 'separator',\r\n {\r\n name: 'Collect Entire Sequence',\r\n action: () => {\r\n params.context.setGroupCollectionValues(params.node!.parent!.allLeafChildren);\r\n params.context.openGroupCollectionForm();\r\n },\r\n disabled: params.context.checkToDisableAddGroupCollection(params.node!.parent!.allLeafChildren)\r\n },\r\n {\r\n name: 'Delete For Entire Sequence',\r\n action: () => {\r\n params.context.deleteGroupCollection(params.node!.data.routeSequenceID);\r\n },\r\n disabled: params.context.checkToDeleteGroupCollection(params.node!.parent!.allLeafChildren)\r\n },\r\n {\r\n name: 'Edit Sequence Contact',\r\n action: () => {\r\n params.context.openSequenceContactForm();\r\n params.context.getSequenceContactInfo(params.node!.data);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n ];\r\n\r\n return result;\r\n }\n\n refreshGrid() {\r\n this.getRouteList();\r\n }\n\n onSearchChanged() {\n this.gridApi.setQuickFilter(\n (document.getElementById('search') as HTMLInputElement).value\n );\n }\r\n\r\n //onCollectionChanged(e: any) {\r\n // this.monthsPaid = e.target.value;\r\n // this.cashAmount = this.modalPremium * this.monthsPaid;\r\n // this.premiumCollected = this.cashAmount + this.suspenseAmount;\r\n // this.estimatedCommission = this.cashAmount * this.currentCommRate;\r\n //}\r\n\r\n onMonthsPaidChanged() {\r\n this.cashAmount = this.modalPremium * this.monthsPaid;\r\n this.premiumCollected = this.cashAmount + this.suspenseAmount;\r\n this.estimatedCommission = this.cashAmount * this.currentCommRate;\r\n }\r\n\r\n onMonthsGroupPaidChanged() {\r\n this.premiumGroupCollected = this.groupModalPremium * this.monthsGroupPaid;\r\n this.estimatedGroupCommission = this.premiumGroupCollected * this.currentGroupCommRate;\r\n }\r\n\r\n onSuspenseAmtChanged(e: any) {\r\n this.suspenseAmount = +e.target.value;\r\n this.premiumCollected = this.cashAmount + this.suspenseAmount;\r\n }\r\n\r\n increaseMonthsPaid() {\r\n var value = this.monthsPaid;\r\n value = isNaN(value) ? 0 : value;\r\n value++;\r\n this.monthsPaid = value;\r\n this.onMonthsPaidChanged();\r\n }\r\n\r\n decreaseMonthsPaid() {\r\n var value = this.monthsPaid;\r\n var minValue = this.minimumMonths;\r\n value = isNaN(value) ? 0 : value;\r\n value < 1 ? value = 1 : '';\r\n if (minValue < value) {\r\n value--;\r\n this.monthsPaid = value;\r\n this.onMonthsPaidChanged();\r\n }\r\n }\r\n\r\n increaseGroupMonthsPaid() {\r\n var value = this.monthsGroupPaid;\r\n value = isNaN(value) ? 0 : value;\r\n value++;\r\n this.monthsGroupPaid = value;\r\n this.onMonthsGroupPaidChanged();\r\n }\r\n\r\n decreaseGroupMonthsPaid() {\r\n var value = this.monthsGroupPaid;\r\n var minValue = this.minimumMonths;\r\n value = isNaN(value) ? 0 : value;\r\n value < 1 ? value = 1 : '';\r\n if (minValue < value) {\r\n value--;\r\n this.monthsGroupPaid = value;\r\n this.onMonthsGroupPaidChanged();\r\n }\r\n }\r\n\r\n //ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n // this.impersonationSubscription.unsubscribe()\n //}\r\n}\n\nfunction currencyFormatter(params: ValueFormatterParams) {\r\n var currencyValue = isNaN(params.value) ? \"\" : formatNumber(params.value);\r\n return currencyValue;\r\n}\r\n\r\nfunction formatNumber(number: number) {\r\n return number.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD'\r\n });\r\n}\r\n\r\nexport interface TempAgent {\n agentId: string,\n agentName: string\n}\n\nfunction wait(ms: number) {\r\n var start = new Date().getTime();\r\n var end = start;\r\n while (end < start + ms) {\r\n end = new Date().getTime();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Route List\r\n

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

    \r\n Collect Policy - {{policyNumber ? sequenceNo + \" - \" + policyNumber : \"Loading...\"}}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Lapse Alert Notification
    \r\n
    No Premium Collected for this Policy
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Collect All Policies - {{ sequenceNo }}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    No Premium Collected for this Policy
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Edit Sequence Number\r\n

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

    \r\n Edit Sequence Details {{contactName ? \"\" : \"- Loading...\"}}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { RowSelectedEvent } from 'ag-grid-community';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Statement } from '../../../models/statement';\r\nimport { ReturnDateRangeFromType } from '../../../common/helpers';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\nimport { Profile } from '../../../models/profile';\r\nimport { map, take } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-statementsearch',\r\n templateUrl: './statement-search.component.html',\r\n styles: [\r\n ]\r\n})\r\nexport class StatementSearchComponent implements OnInit {\r\n public showSearch: boolean = false;\r\n public agentNumber: string = \"\"; \r\n policyType: number = 0;\r\n timeFrame: string = \"ALL\";\r\n timeFrameEnable: boolean = true;\r\n startDate: Date = new Date(\"\");\r\n endDate: Date = new Date(\"\");\r\n includedAgents: number = 0;\r\n public statements$?: Observable;\r\n private gridApi: any;\r\n private gridColumnApi: any;\r\n public noRowsTemplate: string;\r\n\r\n columnDefs = [\r\n { field: 'date' },\r\n { field: 'agentID' },\r\n { field: 'agentName' },\r\n { field: 'type' },\r\n { headerName: 'Download', cellRenderer: (params: any) => { return ''; } },\r\n ];\r\n defaultColumnDef = {\r\n sortable: true,\r\n resizable: true,\r\n };\r\n\r\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService, private datePipe: DatePipe) {\r\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n changeTimeFrame(e: any) {\r\n this.timeFrame = e.target.value;\r\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\r\n this.startDate = start!;\r\n this.endDate = end!;\r\n }\r\n\r\n searchStatements(): void {\r\n this.showSearch = true;\r\n let [start, end] = ReturnDateRangeFromType(this.timeFrame);\r\n this.startDate = start!;\r\n this.endDate = end!;\r\n const startDate = (this.startDate != null ? this.datePipe.transform(this.startDate, 'MM/dd/yyyy') : \"\") as string;\r\n const endDate = (this.endDate != null ? this.datePipe.transform(this.endDate, 'MM/dd/yyyy') : \"\") as string;\r\n\r\n this.statements$ = this.onPremService.searchStatements(this.agentNumber, this.policyType, startDate, endDate,\r\n this.includedAgents).pipe(map(response => response.data));\r\n }\r\n\r\n resetSearch(): void {\r\n this.agentNumber = \"\";\r\n this.timeFrame = \"ALL\";\r\n this.showSearch = false;\r\n }\r\n\r\n onRowDoubleClicked(event: RowSelectedEvent) {\r\n const statement: Statement = event.data;\r\n this.onPremService.downloadStatement(statement.statementID)\r\n .pipe(take(1))\r\n .subscribe(data => {\r\n const binaryData = [];\r\n binaryData.push(data);\r\n const downloadedFile = new Blob(binaryData, { type: data.type });\r\n const a = document.createElement('a');\r\n a.setAttribute('style', 'display:none;');\r\n document.body.appendChild(a);\r\n a.download = event.data.date.replace('/', '_').trim() + \"_\" + event.data.agentID.trim() + \"_\" + event.data.type.trim() + \"_stmt.pdf\";\r\n a.href = URL.createObjectURL(downloadedFile);\r\n a.target = '_blank';\r\n a.click();\r\n document.body.removeChild(a);\r\n });\r\n }\r\n\r\n onGridReady(params: any) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n this.gridApi.sizeColumnsToFit();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Commission Statement Search (Admin)\r\n

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

    \r\n Search Results (1 Statement - Double click to download)\r\n Search Results (0 Statements)\r\n Search Results ({{(statements$ | async)?.length}} Statements - Double click to download)\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\nimport { Profile } from '../../../models/profile';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-adminPage',\n templateUrl: './admin.component.html',\n styles: [\n ]\n})\nexport class AdminPageComponent implements OnInit {\n public profile!: Profile;\n public showAssociation = true;\n public showLinkCode = true;\n public showStatementSearch = true;\n\n constructor(private siteParmService: SiteParameterService) { }\n\n ngOnInit(): void {\n //this.profile = this.siteParmService.getStaticProfile();\n\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"edit:associations\")) {\n // this.showAssociation = true;\n //}\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"read:link-code\")) {\n // this.showLinkCode = true;\n //}\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"read:statements\")) {\n // this.showStatementSearch = true;\n //}\n\n $('#menu li a').click(function () {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n }\n\n}\n","
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { ColSpanParams, ColDef } from 'ag-grid-community';\r\nimport { take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-annuitybankreplogin',\n templateUrl: './annuitybankreplogin.component.html',\n})\nexport class AnnuityBankRepLoginPageComponent implements OnInit {\n public isLoggedIn = false;\n //public currentDate = new Date();\n public loginRedirect = false;\n //public channelId = 2;\n //public screenWidthForLargeDevice: number = 992;\n //public screenWidthForSmallDevice: number = 576;\n //public channelProduct!: channelProduct;\n //public newBusinessDeferredRatesRowData: [] = [];\n //public newBusinessImmediateRatesRowData: [] = [];\n //public newBusinessFixedIndexRatesRowData: [] = [];\n //public renewalDeferredRatesRowData: [] = [];\n //public renewalImmediateRatesRowData: [] = [];\n //private gridApi: any;\n //private gridApi1: any;\n //private gridApi2: any;\n //private gridApi3: any;\n //private gridApi4: any;\n //private gridColumnApi: any;\n //private gridColumnApi1: any;\n //private gridColumnApi2: any;\n //private gridColumnApi3: any;\n //private gridColumnApi4: any;\n //public noRowsTemplate: string = \"\";\n //public groupDefaultExpanded = 1;\n //public domLayout = \"autoHeight\";\n //public innerWidth: any;\n\n //ratesDeferredNBRatesColumnDefs!: ColDef[];\n //ratesDeferredRenewalRatesColumnDefs!: ColDef[];\n //ratesImmediateNBRatesColumnDefs!: ColDef[];\n //ratesImmediateRenewalRatesColumnDefs!: ColDef[];\n //fixedIndexRatesColumnDefs!: ColDef[];\n\n //defaultColumnDef = {\n // sortable: true,\n // suppressMenu: true,\n // suppressMovable: true\n //};\n\n //public autoGroupColumnDef: ColDef = {\r\n // headerName: '',\r\n // cellRendererParams: {\r\n // suppressCount: true\r\n // },\r\n // maxWidth: 5,\r\n // colSpan: (params: ColSpanParams) => {\r\n // if (params.data) {\r\n // return 1;\r\n // } else {\r\n // return 5;\r\n // }\r\n // }\r\n //};\n\n constructor(public auth: AuthService, private onPremService: OnPremStorageService, private cloudStorageService: CloudStorageService,\n private siteParmService: SiteParameterService) {\n //this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.auth.isAuthenticated$.subscribe((hasToken: boolean) => {\n if (hasToken) {\n this.isLoggedIn = true;\n }\n else {\n this.isLoggedIn = false;\n }\n });\n //this.getChannelProductLinks();\n }\n\n ngOnInit(): void {\n //this.innerWidth = window.innerWidth;\r\n //this.getListColumnDefs();\n //this.getRateLists();\n //$('#NewBusinessList').addClass('tab-pane active');\n }\n\n// @HostListener('window:resize', ['$event'])\r\n// onResize(event: any) {\r\n// this.innerWidth = window.innerWidth;\r\n// this.getListColumnDefs();\r\n// }\n\n// getListColumnDefs(): void {\n// if (this.innerWidth >= this.screenWidthForLargeDevice) {\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { valueGetter: rateGetter, headerName: 'NB Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: '', headerName: '', resizable: true }\n// ];\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { valueGetter: rateGetter, headerName: 'Renewal Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: '', headerName: '', resizable: true }\n// ];\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'rate', headerName: 'NB Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// }\n// else if (this.innerWidth < this.screenWidthForLargeDevice && this.innerWidth > this.screenWidthForSmallDevice) {\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nRen. Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Period /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// }\n// else {\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nRen. Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Period /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// }\n// }\n\n login(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, registration_code: '123456789' });\n\n }\n\n signup(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, screen_hint: 'signup' });\n\n }\n\n// getRateLists(): void {\n// let rateType = 'NB';\n// this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessDeferredRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessImmediateRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessFixedIndexRatesRowData = rates.data;\n// });\r\n// rateType = 'RENEW';\r\n// this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.renewalDeferredRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.renewalImmediateRatesRowData = rates.data;\n// });\r\n// }\n\n// getChannelProductLinks(): void {\n// this.cloudStorageService.getAnonymousProductsByChannel(this.channelId)\n// .pipe(take(1))\n// .subscribe(productList => {\n// this.channelProduct = productList;\n// });\r\n// }\n\n// getRateTooltip(data: any): string {\n// return 'Effective as of ' + data.rateStartDate;\r\n// }\n\n// onClickTabSelect(link: string) {\n// $('#listMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n// $(link).addClass('router-link-exact-active');\n// this.gridApi.sizeColumnsToFit();\n// this.gridApi1.sizeColumnsToFit();\n// this.gridApi2.sizeColumnsToFit();\n// this.gridApi3.sizeColumnsToFit();\n// this.gridApi4.sizeColumnsToFit();\n// }\n\n// onGridReady(params: any) {\n// this.gridApi = params.api;\n// this.gridColumnApi = params.columnApi;\n// }\n// onGridReady1(params: any) {\n// this.gridApi1 = params.api;\n// this.gridColumnApi1 = params.columnApi;\n// }\n// onGridReady2(params: any) {\n// this.gridApi2 = params.api;\n// this.gridColumnApi2 = params.columnApi;\n// }\n// onGridReady3(params: any) {\n// this.gridApi3 = params.api;\n// this.gridColumnApi3 = params.columnApi;\n// }\n// onGridReady4(params: any) {\n// this.gridApi4 = params.api;\n// this.gridColumnApi4 = params.columnApi;\n// }\n//}\n\n//function seriesAndProductGetter(params: any) {\r\n// return params.data.product + ' - ' + params.data.series;\r\n//}\r\n\r\n//function rateGetter(params: any) {\r\n// let rateValue = \"\";\r\n// if (params.data.rate !== params.data.rateFirstYear) {\r\n// rateValue = params.data.rateFirstYear + ' (FY), ' + params.data.rate + ' (Base) ';\r\n// }\r\n// else {\r\n// rateValue = params.data.rate;\r\n// }\r\n\r\n// return rateValue;\r\n//}\r\n\r\n//function periodAndRateGetter(params: any) {\r\n// let returnValue = \"\"\r\n// let rateValue = \"\";\r\n// if (params.data.rateFirstYear !== \"\" && params.data.rate !== params.data.rateFirstYear) {\r\n// rateValue = params.data.rateFirstYear + ' (FY),
    ' + params.data.rate + ' (Base) ';\r\n// }\r\n// else {\r\n// rateValue = params.data.rate;\r\n// }\r\n\r\n// if (params.data.guaranteePeriod === \"\") {\r\n// returnValue = rateValue;\r\n// }\r\n// else {\r\n// returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n// }\r\n\r\n// return returnValue;\r\n}\r\n","
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n If this is your first time logging in to this portal, you will need to create an account first by using\n the “First-Time Sign Up” button. Once created and logged in, you will be prompted to perform a one-time link using one of your LBIG Agent IDs so\n that you can have access to all of your Agent IDs and data. Please make sure to use your full Agent ID for successful linking.\n

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

    This site is intended for sole use by bank representatives of Liberty Bankers Insurance Group and any of its affiliate companies. By entering the site, you agree to abide by its Terms of Use.

    \n
    \n
    \n
    \n
    \n\n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { ColSpanParams, ColDef } from 'ag-grid-community';\r\nimport { take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-annuitylogin',\n templateUrl: './annuitylogin.component.html',\n})\nexport class AnnuityLoginPageComponent implements OnInit {\n public isLoggedIn = false;\n //public currentDate = new Date();\n public loginRedirect = false;\n //public channelId = 1;\n //public screenWidthForLargeDevice: number = 992;\n //public screenWidthForSmallDevice: number = 576;\n //public channelProduct!: channelProduct;\n //public newBusinessDeferredRatesRowData: [] = [];\n //public newBusinessImmediateRatesRowData: [] = [];\n //public newBusinessFixedIndexRatesRowData: [] = [];\n //public renewalDeferredRatesRowData: [] = [];\n //public renewalImmediateRatesRowData: [] = [];\n //public newBusinessCADeferredRatesRowData: [] = [];\n //public newBusinessCAImmediateRatesRowData: [] = [];\n //public newBusinessCAFixedIndexRatesRowData: [] = [];\n //private gridApi: any;\n //private gridApi1: any;\n //private gridApi2: any;\n //private gridApi3: any;\n //private gridApi4: any;\n //private gridApi5: any;\n //private gridApi6: any;\n //private gridApi7: any;\n //private gridColumnApi: any;\n //private gridColumnApi1: any;\n //private gridColumnApi2: any;\n //private gridColumnApi3: any;\n //private gridColumnApi4: any;\n //private gridColumnApi5: any;\n //private gridColumnApi6: any;\n //private gridColumnApi7: any;\n //public noRowsTemplate: string = \"\";\n //public groupDefaultExpanded = 1;\n //public domLayout = \"autoHeight\";\n //public innerWidth: any;\n\n //ratesDeferredNBRatesColumnDefs!: ColDef[];\n //ratesDeferredRenewalRatesColumnDefs!: ColDef[];\n //ratesImmediateNBRatesColumnDefs!: ColDef[];\n //ratesImmediateRenewalRatesColumnDefs!: ColDef[];\n //fixedIndexRatesColumnDefs!: ColDef[];\n\n //defaultColumnDef = {\n // sortable: true,\n // suppressMenu: true,\n // suppressMovable: true\n //};\n\n //public autoGroupColumnDef: ColDef = {\r\n // headerName: '',\r\n // cellRendererParams: {\r\n // suppressCount: true\r\n // },\r\n // maxWidth: 5,\r\n // colSpan: (params: ColSpanParams) => {\r\n // if (params.data) {\r\n // return 1;\r\n // } else {\r\n // return 5;\r\n // }\r\n // }\r\n //};\n\n constructor(public auth: AuthService, private onPremService: OnPremStorageService, private cloudStorageService: CloudStorageService,\n private siteParmService: SiteParameterService) {\n //this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.auth.isAuthenticated$.subscribe((hasToken: boolean) => {\n if (hasToken) {\n this.isLoggedIn = true;\n }\n else {\n this.isLoggedIn = false;\n }\n });\n //this.getChannelProductLinks();\n }\n\n ngOnInit(): void {\n //this.innerWidth = window.innerWidth;\r\n //this.getListColumnDefs();\n //this.getRateLists();\n //$('#NewBusinessList').addClass('tab-pane active');\n }\n\n// @HostListener('window:resize', ['$event'])\r\n// onResize(event: any) {\r\n// this.innerWidth = window.innerWidth;\r\n// this.getListColumnDefs();\r\n// }\n\n// getListColumnDefs(): void {\n// if (this.innerWidth >= this.screenWidthForLargeDevice) {\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { valueGetter: rateGetter, headerName: 'NB Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: '', headerName: '', resizable: true }\n// ];\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { valueGetter: rateGetter, headerName: 'Renewal Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: '', headerName: '', resizable: true }\n// ];\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 375, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'guaranteePeriod', headerName: 'Guarantee Period', maxWidth: 175, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'rate', headerName: 'NB Interest Rate', tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\n// }\n// else if (this.innerWidth < this.screenWidthForLargeDevice && this.innerWidth > this.screenWidthForSmallDevice){\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nRen. Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 325, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Period /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// }\n// else {\n// this.ratesDeferredNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateNBRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesDeferredRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Per /\\nRen. Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.ratesImmediateRenewalRatesColumnDefs = [\n// { field: 'series', headerName: 'Series', rowGroup: true, hide: true },\n// { field: 'product', headerName: 'Income Duration', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { field: 'monthlyIncomeFactor', headerName: 'Monthly Income*', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// this.fixedIndexRatesColumnDefs = [\n// { field: 'product', rowGroup: true, hide: true },\n// { field: 'rateTypeDesc', headerName: 'Product', minWidth: 225, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true },\n// { cellRenderer: periodAndRateGetter, headerName: 'Guar Period /\\nNB Int Rate', autoHeight: true, tooltipValueGetter: (params: any) => { return this.getRateTooltip(params.data); }, resizable: true }\n// ];\r\n// }\n// }\n\n login(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, registration_code: '123456789' });\n\n }\n\n signup(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, screen_hint: 'signup' });\n\n }\n\n// getRateLists(): void {\n// let rateType = 'NB';\n// this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessDeferredRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessImmediateRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessFixedIndexRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, true)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessCADeferredRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, true)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessCAImmediateRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType, true)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.newBusinessCAFixedIndexRatesRowData = rates.data;\n// });\r\n// rateType = 'RENEW';\r\n// this.onPremService.getAnnuityDeferredRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.renewalDeferredRatesRowData = rates.data;\n// });\r\n// this.onPremService.getAnnuityImmediateRates(this.channelId, rateType, false)\n// .pipe(take(1))\n// .subscribe(rates => {\n// this.renewalImmediateRatesRowData = rates.data;\n// });\r\n// }\n\n// getChannelProductLinks(): void {\n// this.cloudStorageService.getAnonymousProductsByChannel(this.channelId)\n// .pipe(take(1))\n// .subscribe(productList => {\n// this.channelProduct = productList;\n// });\r\n// }\n\n// getRateTooltip(data: any): string {\n// return 'Effective as of ' + data.rateStartDate;\r\n// }\n\n// onClickTabSelect(link: string) {\n// $('#listMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n// $(link).addClass('router-link-exact-active');\n// this.gridApi.sizeColumnsToFit();\n// this.gridApi1.sizeColumnsToFit();\n// this.gridApi2.sizeColumnsToFit();\n// this.gridApi3.sizeColumnsToFit();\n// this.gridApi4.sizeColumnsToFit();\n// this.gridApi5.sizeColumnsToFit();\n// this.gridApi6.sizeColumnsToFit();\n// this.gridApi7.sizeColumnsToFit();\n// }\n\n// onGridReady(params: any) {\n// this.gridApi = params.api;\n// this.gridColumnApi = params.columnApi;\n// }\n// onGridReady1(params: any) {\n// this.gridApi1 = params.api;\n// this.gridColumnApi1 = params.columnApi;\n// }\n// onGridReady2(params: any) {\n// this.gridApi2 = params.api;\n// this.gridColumnApi2 = params.columnApi;\n// }\n// onGridReady3(params: any) {\n// this.gridApi3 = params.api;\n// this.gridColumnApi3 = params.columnApi;\n// }\n// onGridReady4(params: any) {\n// this.gridApi4 = params.api;\n// this.gridColumnApi4 = params.columnApi;\n// }\n// onGridReady5(params: any) {\n// this.gridApi5 = params.api;\n// this.gridColumnApi5 = params.columnApi;\n// }\n// onGridReady6(params: any) {\n// this.gridApi6 = params.api;\n// this.gridColumnApi6 = params.columnApi;\n// }\n// onGridReady7(params: any) {\n// this.gridApi7 = params.api;\n// this.gridColumnApi7 = params.columnApi;\n// }\n//}\n\n//function seriesAndProductGetter(params: any) {\r\n// return params.data.product + ' - ' + params.data.series;\r\n//}\r\n\r\n//function rateGetter(params: any) {\r\n// let rateValue = \"\";\r\n// if (params.data.rate !== params.data.rateFirstYear) {\r\n// rateValue = params.data.rateFirstYear + ' (FY), ' + params.data.rate + ' (Base) ';\r\n// }\r\n// else {\r\n// rateValue = params.data.rate;\r\n// }\r\n\r\n// return rateValue;\r\n//}\r\n\r\n//function periodAndRateGetter(params: any) {\r\n// let returnValue = \"\"\r\n// let rateValue = \"\";\r\n// if (params.data.rateFirstYear !== \"\" && params.data.rate !== params.data.rateFirstYear) {\r\n// rateValue = params.data.rateFirstYear + ' (FY),
    ' + params.data.rate + ' (Base) ';\r\n// }\r\n// else {\r\n// rateValue = params.data.rate;\r\n// }\r\n\r\n// if (params.data.guaranteePeriod === \"\") {\r\n// returnValue = rateValue;\r\n// }\r\n// else {\r\n// returnValue = params.data.guaranteePeriod + '
    ' + rateValue;\r\n// }\r\n\r\n// return returnValue;\r\n}\r\n","
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n If this is your first time logging in to this portal, you will need to create an account first by using\n the “First-Time Sign Up” button. Once created and logged in, you will be prompted to perform a one-time link using one of your LBIG Agent IDs so\n that you can have access to all of your Agent IDs and data. Please make sure to use your full Agent ID for successful linking.\n

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

    \n \n If you are interested in becoming a contracted annuity agent, we’d love to connect with you and discuss how you can be a part of providing financial protection for your clients.\n Please contact us at 800-274-4829 for full details.\n \n

    \n
    \n
    \n
    \n
    \n

    This site is intended for sole use by contracted agent producers of Liberty Bankers Insurance Group and any of its affiliate companies. By entering the site, you agree to abide by its Terms of Use.

    \n
    \n
    \n
    \n
    \n","import { Component, AfterViewInit, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { Profile } from '../../../models/profile';\n\n@Component({\n selector: 'app-briefcase',\n templateUrl: './briefcase.component.html',\n styles: [\n ]\n})\nexport class BriefcaseComponent implements OnInit, AfterViewInit {\n profile!: Profile;\n private channelUpdate: Subscription;\n public selectedBusinessChannel: number = 0;\n private kpiSearchSubscription: Subscription;\n\n\n constructor(private siteParmService: SiteParameterService) {\n this.kpiSearchSubscription = this.siteParmService.getkpiSearchUpdate().subscribe\n (message => {\n $('#Performance-tab').removeClass(\"router-link-exact-active\");\n $('#Performance-tab').removeClass(\"active\");\n $('#Policy-tab').addClass('router-link-exact-active');\n $('#Performance').removeClass(\"tab-pane active\");\n $('#Performance').addClass(\"tab-pane\");\n $('#Policy').addClass('tab-pane active');\n });\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n this.getChannel();\n });\n }\n\n ngAfterViewInit(): void {\n $('#menu li a').click(function () {\n if (this.parentElement?.className.indexOf('dropdown') == -1) {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n }\n });\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getChannel();\n }\n\n getChannel(): void {\n this.selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n }\n\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.kpiSearchSubscription.unsubscribe();\n this.channelUpdate.unsubscribe();\n }\n}\n","
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { PolicyRoute } from '../../../models/policyRoute';\nimport { ColDef, GridApi } from 'ag-grid-enterprise';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { DateComparator } from '../../../common/helpers';\nimport { Observable, Subscription } from 'rxjs';\r\nimport { map, take, tap } from 'rxjs/operators';\r\nimport { Profile } from '../../../models/profile';\r\nimport { AgentGrid } from '../../../models/agentGrid';\r\nimport { ColSpanParams, GetContextMenuItemsParams, Grid, GridOptions, MenuItemDef, RowSelectedEvent, SelectionChangedEvent } from 'ag-grid-community';\r\nimport '../../../../assets/css/routelist.css';\r\nimport { param, trim } from 'jquery';\r\nimport { Policy } from '../../../models/policy';\r\nimport { Agent } from '../../../models/agent';\r\nimport { AgentLink } from '../../../models/agentLink';\r\nimport { gridColumn } from '../../../models/gridColumn';\r\nimport { GridTooltipComponent } from '../../components/grid-tooltip/grid-tooltip.component';\r\nimport { currencyFormatter, formatNumber } from '../../../common/ag-grid-currencyFormatter';\r\nimport { AbstractControl } from '@angular/forms';\r\n\n@Component({\n selector: 'app-collectionsPage',\n templateUrl: './collections.component.html',\n styles: [\n ]\n})\nexport class CollectionsPageComponent implements OnInit {\n public activeTab: string = 'RouteList';\n public searchTerm: string = '';\n public routeListRowHeight = 80;\n public enableRouteListSearch: boolean = true;\n public showCollectionParameters: boolean = true;\n public showSubmitBatchButton: boolean = false;\n public showRouteList: boolean = true;\n public showPendingCollectionsList: boolean = true;\n public showCollectingManagerList: boolean = false;\n public showCollectionForm: boolean = false;\n public showLapsedCollectionForm: boolean = false;\n public enablePolicyNumberSearch: boolean = true;\n public showPolicyFound: boolean = false;\n public showPolicyNotFound: boolean = false;\n public showLapseCollectionInfo: boolean = false;\n public showGroupCollectionForm: boolean = false;\n public showSequenceNumberForm: boolean = false;\n public showSequenceContactForm: boolean = false;\n public showLapseAlert: boolean = false;\n public lapseAlertMessage: string = '';\n public showNoPremiumCollected: boolean = false;\n public showNoGroupPremiumCollected: boolean = false;\n public showSuspenseAlert: boolean = false;\n public showLoanBalanceAlert: boolean = false;\n public disableSaveCollectionButton: boolean = true;\n public disableSaveLapsedCollectionButton: boolean = true;\n public disableSaveGroupCollectionButton: boolean = true;\n public disableSubmitBatchButton: boolean = true;\n private channelSubscription: Subscription;\n public routeList$?: Observable\n public pendingCollectionsRowData: [] = [];\n public batchHistoryRowData: [] = [];\n public screenWidthForDesktops: number = 1920;\n public pendingCollectionsListHeaderHeight: number = 75;\n private selectedTab: string = \"Route List\";\n private topRowID: number = 0;\n public showBillFormListCheckboxes: boolean = true;\n public agentCollectCount: number = 0;\r\n private autoPremiumLoanCount: number = 0;\r\n private bankDraftCount: number = 0;\r\n private creditCardCount: number = 0;\r\n private directBillCount: number = 0;\r\n private groupListBillCount: number = 0;\n public agentCollectCheckValue: string = \"X\";\r\n private autoPremiumLoanCheckValue: string = \"4\";\r\n private bankDraftCheckValue: string = \"2\";\r\n private creditCardCheckValue: string = \"C\";\r\n private directBillCheckValue: string = \"1\";\r\n private groupListBillCheckValue: string = \"3\";\n public policyNumber: string = \"\";\n public policyAgentID: string = \"\";\n public sequenceNo: string = \"\";\n public routeSequenceId: string = \"\";\n public amountCollected: number = 0.00;\n public modalPremium: number = 0.00;\n public premiumDue: number = 0.00;\n public monthsPaid: number = 0;\n public monthlyPremiumPaid: number = 0.00;\n public minimumMonths: number = 0;\n public groupModalPremium: number = 0.00;\n public groupPremiumDue: number = 0.00;\n public premiumGroupCollected: number = 0.00;\n public monthsGroupPaid: number = 0;\n public currentGroupCommRate: number = 0.00;\n private collectionId!: string;\n private collectionTypeId: number = 1;\n private regionId: number = 0;\n private collectionAgentId: string = \"\";\n private paidToDate: string = \"\";\n private cashAmount: number = 0.00;\n private isUseSuspenseChecked: boolean = false;\n private isMakeLoanPaymentChecked: boolean = false;\n private isMakeOverPaymentChecked: boolean = false;\n private availableSuspenseAmount: number = 0.00;\n private suspenseAmount: number = 0.00;\n private overpaymentAmount: number = 0.00;\n private currentLoanBalance: number = 0.00;\n private loanPaymentAmount: number = 0.00;\n private insuredName: string = \"\";\n private payorName: string = \"\";\n public premiumCollected: number = 0.00;\n public currentCommRate: number = 0.00;\n public contactName: string = \"\";\r\n public contactAddressLine1: string = \"\";\r\n public contactAddressLine2: string = \"\";\r\n public contactCity: string = \"\";\r\n public contactState: string = \"\";\r\n public contactZip: string = \"\";\r\n public contactEmailAddress: string = \"\";\r\n public contactPhone: string = \"\";\r\n public contactNotes: string = \"\";\n private gridApi1?: GridApi;\n private gridApi2?: GridApi;\n private gridApi3?: GridApi;\n private gridApi4?: GridApi;\n private gridApi5?: GridApi;\n private gridApi6?: GridApi;\n private gridApi7?: GridApi;\n private gridApi8?: GridApi;\n private gridApi9?: GridApi;\n private gridc: any;\n private gridColumnApi1: any;\n private gridColumnApi2: any;\n private gridColumnApi3: any;\n private gridColumnApi4: any;\n private gridColumnApi5: any;\n private gridColumnApi6: any;\n private gridColumnApi7: any;\n private gridColumnApi8: any;\n private gridColumnApi9: any;\n public noRowsTemplate: string = \"\";\n public groupDefaultExpanded = 1;\n public profile: Profile = {};\n public collectingAgents: Agent[] = [];\n public agents: Agent[] = [];\n public selectedAgentId: string = \"\";\n public selectedCollectingAgentId: string = \"\";\n public showPolicyDetail: boolean = false;\n public selectedPolicy: Policy = {};\n public coverageRowData: [] = [];\n public paymentRowData: [] = [];\n public statusHistoryRowData: [] = [];\n public underwritingStatusRowData: [] = [];\n public allocationRowData: [] = [];\n public hierarchyRowData: [] = [];\n public beneficiaryInfoRowData: [] = [];\n public beneficiaryRowData: [] = [];\n public clientInfoAccordionExpanded: boolean = false;\n public innerWidth: any;\n columnRoutleListDefs!: ColDef[];\n columnPendingCollectionsDefs!: ColDef[];\n columnBatchHistoryDefs!: ColDef[];\n\n coverageColumnDefs = [\n { field: 'coverageType', headerName: 'Coverage', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanCode', headerName: 'Plan Code', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanDesc', headerName: 'Plan Description', minWidth: 300 },\n { field: 'coveredPerson', headerName: 'Insured', minWidth: 100 },\n { field: 'ageAtIssue', headerName: 'Issue Age', minWidth: 125, maxWidth: 125 },\n { field: 'benefitAmt', headerName: 'Benefit Amount', minWidth: 125, maxWidth: 150 },\n { field: 'expiryDate', headerName: 'Expires', minWidth: 125, maxWidth: 125, comparator: DateComparator },\n { field: 'payUpDate', headerName: 'Paid To', minWidth: 125, maxWidth: 125, comparator: DateComparator }\n ];\n paymentColumnDefs = [\n { field: 'paymentDate', headerName: 'Payment Date', minWidth: 100, comparator: DateComparator },\n { field: 'postDate', headerName: 'Post Date', minWidth: 100, comparator: DateComparator },\n { field: 'premiumAmt', headerName: 'Premuim', minWidth: 100 },\n { field: 'source', headerName: 'Source', minWidth: 100 }\n ];\n statusHistoryColumnDefs = [\n { field: 'status', headerName: 'Status', minWidth: 100 },\n { field: 'date', headerName: 'Status Date', minWidth: 100, comparator: DateComparator },\n ];\n hierarchyColumnDefs = [\n { field: 'agentID', headerName: 'Agent ID', minWidth: 100, maxWidth: 125 },\n { field: 'agentName', headerName: 'Agent Name', minWidth: 275 },\n { field: 'level', headerName: 'Level', minWidth: 100, maxWidth: 125 },\n { field: 'commissionPct', headerName: 'Commission %', minWidth: 125, maxWidth: 150 },\n { field: 'agentType', headerName: 'Agent Type', minWidth: 100 }\n ];\n beneficiaryColumnDefs = [\n { field: 'name', headerName: 'Name', minWidth: 300 },\n { field: 'relationship', headerName: 'Relationship', minWidth: 175 },\n { field: 'split', headerName: 'Split %', minWidth: 125, maxWidth: 100 },\n { field: 'type', headerName: 'Type', minWidth: 175 }\n ];\n public defaultRoutleListColumnDef = {\n sortable: true,\n resizable: true,\n };\n public defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n public autoGroupColumnDef: ColDef = {\r\n headerName: '',\r\n cellRendererParams: {\r\n suppressCount: true,\r\n },\r\n maxWidth: 20,\r\n colSpan: (params: ColSpanParams) => {\r\n if (params.data) {\r\n return 1;\r\n } else {\r\n return 9;\r\n }\r\n },\r\n headerClass: (params: any) => {\r\n if (this.innerWidth >= this.screenWidthForDesktops) {\r\n return '';\r\n } else {\r\n return 'commission-header';\r\n }\r\n } \r\n };\n\n public gridOptions: GridOptions = {\n context: this,\n tooltipShowDelay: 0\n }\n\n public gridOptions2: GridOptions = {\n context: this,\n tooltipShowDelay: 0\n }\n\n public gridOptions3: GridOptions = {\n context: this,\n }\n\n constructor(public onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.channelSubscription = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.selectedAgentId = \"\";\n\n this.getAgentList();\n \n this.lapseAlertMessage = this.profile.channelPreference === 'Home Service' ?\n \"Months Paid must equal or exceed the Months Due\" : \"ALERT >> Must Collect or Lapse Will Occur << ALERT\";\n });\n }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n this.getRoutleListColumnDefs();\n this.getPendingCollectionsColumnDefs();\r\n this.getBatchHistoryColumnDefs();\n this.profile = this.siteParmService.getStaticProfile();\n this.getAgentList();\n\n this.refreshRouteList();\n $('#menu li a').click(function () {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n this.lapseAlertMessage = this.profile.channelPreference === 'Home Service' ?\n \"Months Paid must equal or exceed the Months Due\" : \"ALERT >> Must Collect or Lapse Will Occur << ALERT\";\n }\n\n @HostListener('window:resize', ['$event'])\r\n onResize(event: any) {\r\n this.innerWidth = window.innerWidth;\r\n this.getRoutleListColumnDefs();\r\n this.getPendingCollectionsColumnDefs();\r\n this.getBatchHistoryColumnDefs(); \r\n\r\n if (this.selectedTab === 'Pending Collections') {\r\n this.refreshPendingCollectionsList();\r\n }\r\n }\n\n getRoutleListColumnDefs(): void {\n if (this.innerWidth >= this.screenWidthForDesktops) {\n this.columnRoutleListDefs = [\n { field: 'sequenceNoGroupText', rowGroup: true, hide: true },\n {\r\n minWidth: 50, maxWidth: 75, cellRenderer: (params: any) => {\n return this.getRoutleListGridIcons(params.data);\r\n },\r\n tooltipValueGetter: (params: any) => {\r\n return this.getRoutleListGridTooltip(params.data);\r\n },\r\n },\n { field: 'insuredName', headerName: 'Insured', minWidth: 100},\n { field: 'payorName', headerName: 'Payor', minWidth: 100, },\n { field: 'policyNum', headerName: 'Policy #', minWidth: 100, maxWidth: 125 },\n { field: 'agentID', headerName: 'Agent', minWidth: 110, maxWidth: 110 },\n { field: 'paidToDate', headerName: 'Paid-To Date', minWidth: 110, maxWidth: 110 },\n { field: 'modalPremium', headerName: 'Modal Prem', valueFormatter: currencyFormatter, minWidth: 120, maxWidth: 120 },\n { field: 'monthsDue', headerName: 'Months Due', minWidth: 100, maxWidth: 100 },\n { field: 'premiumDue', headerName: 'Prem Due', minWidth: 100, maxWidth: 100, valueFormatter: currencyFormatter },\n { field: 'availableSuspense', headerName: 'Avail Suspense', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter },\n { field: 'currentLoanBalance', headerName: 'Loan Balance', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter },\n { field: 'collectionAmt', headerName: 'Prem Collected', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter }\n ];\r\n }\n else {\n this.columnRoutleListDefs = [\n { field: 'sequenceNoGroupText', rowGroup: true, hide: true },\n {\r\n minWidth: 75, maxWidth: 75, cellRenderer: (params: any) => {\n return this.getRoutleListGridIcons(params.data);\r\n },\r\n tooltipValueGetter: (params: any) => {\r\n return this.getRoutleListGridTooltip(params.data);\r\n }, headerClass: 'commission-header'\r\n },\n { field: 'insuredName', headerName: 'Insured', minWidth: 100, headerClass: 'commission-header' },\n { field: 'policyNum', headerName: 'Policy #', minWidth: 100, maxWidth: 125, headerClass: 'commission-header' },\n { field: 'agentID', headerName: 'Agent', minWidth: 110, maxWidth: 110, headerClass: 'commission-header' },\n { field: 'paidToDate', headerName: 'Paid-To Date', minWidth: 110, maxWidth: 110, headerClass: 'commission-header' },\n { field: 'modalPremium', headerName: 'Modal Prem', valueFormatter: currencyFormatter, minWidth: 120, maxWidth: 120, headerClass: 'commission-header' },\n { field: 'monthsDue', headerName: 'Months Due', minWidth: 100, maxWidth: 100, headerClass: 'commission-header' },\n { field: 'premiumDue', headerName: 'Prem Due', minWidth: 100, maxWidth: 100, valueFormatter: currencyFormatter, headerClass: 'commission-header' },\n { field: 'availableSuspense', headerName: 'Avail Suspense', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter, headerClass: 'commission-header' },\n { field: 'currentLoanBalance', headerName: 'Loan Balance', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter, headerClass: 'commission-header' },\n { field: 'collectionAmt', headerName: 'Prem Collected', minWidth: 120, maxWidth: 120, valueFormatter: currencyFormatter, headerClass: 'commission-header' }\n ];\n }\n }\n\n getPendingCollectionsColumnDefs(): void {\n if (this.innerWidth >= this.screenWidthForDesktops) {\n this.columnPendingCollectionsDefs = [\r\n { field: 'sequenceNo', headerName: 'Route Seq #', minWidth: 75 },\n {\r\n minWidth: 50, maxWidth: 50, cellRenderer: (params: any) => {\n return this.getPendingCollectionsListGridIcons(params.data);\r\n },\r\n tooltipValueGetter: (params: any) => {\r\n return this.getPendingCollectionsListGridTooltip(params.data);\r\n },\r\n },\r\n { field: 'insuredName', headerName: 'Insured', minWidth: 150 },\r\n { field: 'policyNum', headerName: 'Policy Number', minWidth: 150 },\r\n { field: 'agentID', headerName: 'Agent' },\r\n { field: 'premiumAmt', headerName: 'Premium', valueFormatter: currencyFormatter },\r\n { field: 'overpaymentAmt', headerName: 'Overpayment Amt', valueFormatter: currencyFormatter },\r\n { field: 'agentCollectAmt', headerName: 'Agent Collect/Due', valueFormatter: currencyFormatter },\r\n { field: 'appliedSuspenseAmt', headerName: 'Applied Suspense', valueFormatter: currencyFormatter },\r\n { field: 'loanPaymentAmt', headerName: 'Loan Payment', valueFormatter: currencyFormatter },\r\n { field: 'totalCollectionAmt', headerName: 'Total Collection', valueFormatter: currencyFormatter },\r\n { field: 'estCommAmt', headerName: 'Est. Commission Amt', valueFormatter: currencyFormatter },\r\n { field: 'estNetAmt', headerName: 'Est. Net Draft', valueFormatter: currencyFormatter }\r\n ];\n }\n else {\n this.columnPendingCollectionsDefs = [\r\n { field: 'sequenceNo', headerName: 'Route Seq #', minWidth: 75, headerClass: 'commission-header' },\n {\r\n minWidth: 50, maxWidth: 50, cellRenderer: (params: any) => {\n return this.getPendingCollectionsListGridIcons(params.data);\r\n },\r\n tooltipValueGetter: (params: any) => {\r\n return this.getPendingCollectionsListGridTooltip(params.data);\r\n },\r\n },\r\n { field: 'insuredName', headerName: 'Insured', minWidth: 150, headerClass: 'commission-header' },\r\n { field: 'policyNum', headerName: 'Policy Number', minWidth: 150, headerClass: 'commission-header' },\r\n { field: 'agentID', headerName: 'Agent', headerClass: 'commission-header' },\r\n { field: 'premiumAmt', headerName: 'Premium', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'overpaymentAmt', headerName: 'Overpayment Amt', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'agentCollectAmt', headerName: 'Agent Collect/Due', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'appliedSuspenseAmt', headerName: 'Applied Suspense', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'loanPaymentAmt', headerName: 'Loan Payment', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'totalCollectionAmt', headerName: 'Total Collection', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'estCommAmt', headerName: 'Est. Commission Amt', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\r\n { field: 'estNetAmt', headerName: 'Est. Net Draft', valueFormatter: currencyFormatter, headerClass: 'commission-header' }\r\n ];\r\n }\n }\n\n getBatchHistoryColumnDefs(): void {\n if (this.innerWidth >= this.screenWidthForDesktops) {\r\n this.columnBatchHistoryDefs = [\r\n { field: 'batchNum', headerName: 'Batch No.' },\r\n { field: 'agentID', headerName: 'Agent' },\r\n { field: 'premiumAmt', headerName: 'Premium' },\r\n { field: 'overpaymentAmt', headerName: 'Overpayment' },\r\n { field: 'loanPaymentAmt', headerName: 'Loan Repayment' },\r\n { field: 'agentCollectAmt', headerName: 'Agent Collect/Due' },\r\n { field: 'appliedSuspenseAmt', headerName: 'Applied Suspense' },\r\n { field: 'totalCollectionAmt', headerName: 'Total Collection' },\r\n { field: 'estCommAmt', headerName: 'Est. Commission' },\r\n { field: 'estNetAmt', headerName: 'Est. Net Draft' },\r\n { field: 'createDTM', headerName: 'Batch Date', comparator: DateComparator },\r\n { field: 'collectionBatchStatus', headerName: 'Status' },\r\n { field: 'statusUpdateDTM', headerName: 'Status Date', comparator: DateComparator }\r\n ];\r\n }\r\n else {\r\n this.columnBatchHistoryDefs = [\r\n { field: 'batchNum', headerName: 'Batch No.', headerClass: 'commission-header' },\r\n { field: 'agentID', headerName: 'Agent', headerClass: 'commission-header' },\r\n { field: 'premiumAmt', headerName: 'Premium', headerClass: 'commission-header' },\r\n { field: 'overpaymentAmt', headerName: 'Overpayment', headerClass: 'commission-header' },\r\n { field: 'loanPaymentAmt', headerName: 'Loan Repayment', headerClass: 'commission-header' },\r\n { field: 'agentCollectAmt', headerName: 'Agent Collect/Due', headerClass: 'commission-header' },\r\n { field: 'appliedSuspenseAmt', headerName: 'Applied Suspense', headerClass: 'commission-header' },\r\n { field: 'totalCollectionAmt', headerName: 'Total Collection', headerClass: 'commission-header' },\r\n { field: 'estCommAmt', headerName: 'Est. Commission', headerClass: 'commission-header' },\r\n { field: 'estNetAmt', headerName: 'Est. Net Draft', headerClass: 'commission-header' },\r\n { field: 'createDTM', headerName: 'Batch Date', comparator: DateComparator, headerClass: 'commission-header' },\r\n { field: 'collectionBatchStatus', headerName: 'Status', headerClass: 'commission-header' },\r\n { field: 'statusUpdateDTM', headerName: 'Status Date', comparator: DateComparator, headerClass: 'commission-header' }\r\n ];\r\n }\r\n }\n\n getRouteList() {\r\n var billFormCodeListValues = \"\";\r\n if (this.agentCollectCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.agentCollectCheckValue : billFormCodeListValues.concat(\",\").concat(this.agentCollectCheckValue);\r\n }\r\n if (this.autoPremiumLoanCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.autoPremiumLoanCheckValue : billFormCodeListValues.concat(\",\").concat(this.autoPremiumLoanCheckValue);\r\n }\r\n if (this.bankDraftCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.bankDraftCheckValue : billFormCodeListValues.concat(\",\").concat(this.bankDraftCheckValue);\r\n }\r\n if (this.creditCardCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.creditCardCheckValue : billFormCodeListValues.concat(\",\").concat(this.creditCardCheckValue);\r\n }\r\n if (this.directBillCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.directBillCheckValue : billFormCodeListValues.concat(\",\").concat(this.directBillCheckValue);\r\n }\r\n if (this.groupListBillCheckValue != \"\") {\r\n billFormCodeListValues = billFormCodeListValues === \"\" ? this.groupListBillCheckValue : billFormCodeListValues.concat(\",\").concat(this.groupListBillCheckValue);\r\n }\r\n\r\n this.routeList$ = this.onPremService\r\n .getRouteList(this.selectedAgentId, billFormCodeListValues)\r\n .pipe(map(response => {\r\n this.agentCollectCount = response.data[0].billFormCountAgentCollect;\n this.autoPremiumLoanCount = response.data[0].billFormCountAutoPremLoan;\r\n this.bankDraftCount = response.data[0].billFormCountBankDraft;\r\n this.creditCardCount = response.data[0].billFormCountCreditCard;\r\n this.directBillCount = response.data[0].billFormCountDirectBill;\r\n this.groupListBillCount = response.data[0].billFormCountGroupListBill;\r\n response.data.shift();\r\n return response.data;\r\n }));\r\n }\n\n resetDisplayBillingMethods() {\n this.agentCollectCheckValue = \"X\";\r\n this.autoPremiumLoanCheckValue = \"4\";\r\n this.bankDraftCheckValue = \"2\";\r\n this.creditCardCheckValue = \"C\";\r\n this.directBillCheckValue = \"1\";\r\n this.groupListBillCheckValue = \"3\";\n this.agentCollectCount = 0;\n this.autoPremiumLoanCount = 0;\r\n this.bankDraftCount = 0;\r\n this.creditCardCount = 0;\r\n this.directBillCount = 0;\r\n this.groupListBillCount = 0;\r\n }\n\n getPendingCollections() {\r\n this.onPremService.getPendingCollections(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.pendingCollectionsRowData = policyInfo.data;\n this.disableSubmitBatchButton = policyInfo.data.length === 0;\n setTimeout(() => {\r\n this.gridApi2?.sizeColumnsToFit();\r\n }, 100);\n });\r\n }\n\n getBatchHistory() {\r\n this.onPremService.getBatchHistory(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.batchHistoryRowData = policyInfo.data;\n });\r\n }\n\n getAgentList(): void {\n this.onPremService.getAgentWithDownineList(this.profile.selectedAgentNumber)\n .pipe(take(1))\n .subscribe(agents => {\n this.agents = agents;\r\n this.selectedAgentId = agents[0].agentId;\r\n\r\n switch (this.selectedTab) {\r\n case 'Pending Collections':\r\n this.getPendingCollections();\r\n break;\r\n\r\n case 'Batch History':\r\n this.getBatchHistory();\r\n break;\r\n\r\n default:\r\n this.refreshRouteList();\r\n };\r\n });\n }\n\n changeAgentId(e: any) {\r\n\r\n this.selectedAgentId = e.target.value;\r\n\r\n switch (this.selectedTab) {\r\n case 'Pending Collections':\r\n this.getPendingCollections();\r\n break;\r\n\r\n case 'Batch History':\r\n this.getBatchHistory();\r\n break;\r\n\r\n default:\r\n this.topRowID = 0;\r\n this.refreshRouteList();\r\n }\r\n }\n\n changeCollectingAgentId(e: any) {\r\n this.selectedCollectingAgentId = e.target.value;\r\n\r\n this.onPremService.getAgentActiveHierarchyListWithSelf(this.selectedCollectingAgentId, true)\n .pipe(take(1))\n .subscribe(apiReponse => {\n this.agents = apiReponse.data;\n this.selectedAgentId = apiReponse.data[0].agentId;\n\n switch (this.selectedTab) {\r\n case 'Pending Collections':\r\n this.getPendingCollections();\r\n break;\r\n\r\n case 'Batch History':\r\n this.getBatchHistory();\r\n break;\r\n\r\n default:\r\n this.topRowID = 0;\r\n this.getRouteList();\r\n }\n });\r\n }\n\n checkBillingMethod(e: any) {\r\n if (e.target.id == 'displayAgentCollect') {\r\n this.agentCollectCheckValue = e.target.checked ? \"X\" : \"\";\r\n }\r\n if (e.target.id == 'displayAutoPremiumLoan') {\r\n this.autoPremiumLoanCheckValue = e.target.checked ? \"4\" : \"\";\r\n }\r\n if (e.target.id == 'displayBankDraft') {\r\n this.bankDraftCheckValue = e.target.checked ? \"2\" : \"\";\r\n }\r\n if (e.target.id == 'displayCreditCard') {\r\n this.creditCardCheckValue = e.target.checked ? \"C\" : \"\";\r\n }\r\n if (e.target.id == 'displayDirectBill') {\r\n this.directBillCheckValue = e.target.checked ? \"1\" : \"\";\r\n }\r\n if (e.target.id == 'displayGroupListBill') {\r\n this.groupListBillCheckValue = e.target.checked ? \"3\" : \"\";\r\n }\r\n this.getRouteList();\r\n }\n\n clearForm() {\n this.policyNumber = \"\";\n this.sequenceNo = \"\";\n this.routeSequenceId = \"\";\n this.amountCollected = 0.00;\n this.modalPremium = 0.00;\n this.premiumDue = 0.00;\n this.monthsPaid = 0;\n this.monthlyPremiumPaid = 0;\n this.minimumMonths = 0;\n this.collectionId = \"\";\n this.regionId = 0;\n this.collectionAgentId = \"\";\n this.cashAmount = 0.00;\n this.loanPaymentAmount = 0.00;\n this.suspenseAmount = 0.00;\n this.overpaymentAmount = 0.00;\n this.premiumCollected = 0.00;\n this.insuredName = \"\";\n this.payorName = \"\";\r\n\r\n this.groupModalPremium = 0.00;\n this.groupPremiumDue = 0.00;\n this.premiumGroupCollected = 0.00;\n this.monthsGroupPaid = 0;\r\n }\n\n onRouteListRowClicked(event: RowSelectedEvent) {\r\n if (event.node.isSelected()) {\r\n if (!event.node.key) {\r\n if (event.data.lockPayment === 'YES') {\r\n this.showLockAlert();\r\n }\r\n else {\r\n this.getCollection(event.data);\r\n this.openCollectionForm();\r\n }\r\n }\r\n }\r\n }\n\n onBatchHistoryListRowClicked(event: RowSelectedEvent) {\r\n if (event.node.isSelected()) {\r\n if (!event.node.key) {\r\n this.getReport(75, \"\", event.node.data.collectionBatchID);\r\n }\r\n }\r\n }\n\n openCollectionForm() {\r\n switch (this.selectedTab) {\r\n case 'Route List':\r\n this.showRouteList = false;\r\n break;\r\n case 'Pending Collections':\r\n this.showSubmitBatchButton = false;\r\n this.showPendingCollectionsList = false;\r\n break;\r\n default:\r\n }\r\n this.disabledTabs();\r\n this.showCollectionParameters = false;\r\n this.showCollectionForm = true;\r\n this.disableSaveCollectionButton = true;\r\n }\n\n closeCollectionForm() {\r\n this.clearForm();\r\n this.enableTabs();\r\n this.showCollectionParameters = true;\r\n this.showCollectionForm = false;\r\n this.showLapseAlert = false;\r\n this.showNoPremiumCollected = false;\r\n this.showSuspenseAlert = false;\r\n this.showLoanBalanceAlert = false;\r\n\r\n switch (this.selectedTab) {\r\n case 'Route List':\r\n this.showRouteList = true;\r\n break;\r\n case 'Pending Collections':\r\n this.showSubmitBatchButton = true;\r\n this.showPendingCollectionsList = true;\r\n this.refreshPendingCollectionsList();\r\n break;\r\n default:\r\n }\r\n }\n\n openLapsedCollectionForm() {\r\n this.showSubmitBatchButton = false;\r\n this.showPendingCollectionsList = false;\r\n this.disabledTabs();\r\n this.showCollectionParameters = false;\r\n this.isMakeOverPaymentChecked = false;\r\n this.showLapsedCollectionForm = true;\r\n this.enablePolicyNumberSearch = true;\r\n this.disableSaveLapsedCollectionButton = true;\r\n }\n\n closeLapsedCollectionForm() {\r\n this.clearForm();\r\n this.enableTabs();\r\n this.showCollectionParameters = true;\r\n this.showLapsedCollectionForm = false;\r\n this.showLapseAlert = false;\r\n this.showLapseCollectionInfo = false;\r\n this.showNoPremiumCollected = false;\r\n this.showPolicyFound = false;\n this.showPolicyNotFound = false;\r\n this.showSubmitBatchButton = true;\r\n this.showPendingCollectionsList = true;\r\n this.refreshPendingCollectionsList();\r\n }\n\n openGroupCollectionForm() {\r\n this.showCollectionParameters = false;\r\n this.showRouteList = false;\r\n this.showGroupCollectionForm = true;\r\n this.disableSaveGroupCollectionButton = false;\r\n this.disabledTabs();\r\n }\n\n closeGroupCollectionForm() {\r\n this.clearForm();\r\n this.enableTabs();\r\n this.showCollectionParameters = true;\r\n this.showRouteList = true;\r\n this.showGroupCollectionForm = false;\r\n this.showNoGroupPremiumCollected = false;\r\n }\n\n getCollection(data: any): void {\n if (data.collectionID === null) {\r\n this.collectionTypeId = data.collectionTypeID;\r\n this.policyNumber = data.policyNum;\n this.sequenceNo = data.sequenceNo;\r\n this.routeSequenceId = data.routeSequenceID\r\n this.modalPremium = data.modalPremium;\r\n this.premiumDue = data.premiumDue;\r\n this.paidToDate = data.paidToDate;\r\n this.monthsPaid = data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? data.monthsDue : 0;\r\n this.monthlyPremiumPaid = this.modalPremium * this.monthsPaid;\r\n this.showLapseAlert = data.requireFullPayment == 'YES';\r\n this.minimumMonths = data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? this.monthsPaid : 0;\r\n this.premiumCollected = data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? data.premiumDue : 0;\r\n this.currentCommRate = data.currentCommRate;\r\n // Commission Displayed may be implemented later\r\n //this.estimatedCommission = this.premiumCollected * this.currentCommRate; \r\n this.regionId = data.regionID;\n this.collectionAgentId = this.profile.auth0Id;\n this.cashAmount = 0;// this.premiumDue;\n this.availableSuspenseAmount = data.availableSuspense;\n this.isUseSuspenseChecked = false;\n this.currentLoanBalance = data.currentLoanBalance;\n this.isMakeLoanPaymentChecked = false;\n this.isMakeOverPaymentChecked = false;\n this.insuredName = data.insuredName;\n this.payorName = data.payorName;\r\n } else {\r\n this.onPremService.getCollection(data.collectionID)\r\n .pipe(take(1))\r\n .subscribe(response => {\r\n this.collectionId = response.data[0].collectionID;\r\n this.collectionTypeId = response.data[0].collectionTypeID;\r\n this.policyNumber = response.data[0].policyNum;\n this.sequenceNo = response.data[0].sequenceNo;\r\n this.modalPremium = response.data[0].modalPremium;\r\n this.premiumDue = response.data[0].premiumDue;\r\n this.paidToDate = response.data[0].paidToDate;\r\n this.monthsPaid = response.data[0].monthsPaid;\r\n this.showLapseAlert = response.data[0].requireFullPayment == 'YES';\r\n this.minimumMonths = response.data[0].requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? response.data[0].monthsDue : 0;\r\n this.premiumCollected = response.data[0].cashAmt + response.data[0].overpaymentAmt;\r\n this.currentCommRate = response.data[0].currentCommRate;\r\n // Commission Displayed may be implemented later\r\n //this.estimatedCommission = response.data[0].premiumDue * response.data[0].currentCommRate;\r\n this.regionId = response.data[0].regionID;\n this.collectionAgentId = response.data[0].collectionAgentID;\n let originalCashAmount = response.data[0].cashAmt + response.data[0].suspenseAmt;\n this.monthlyPremiumPaid = this.modalPremium * this.monthsPaid;\n this.cashAmount = originalCashAmount;\n this.availableSuspenseAmount = response.data[0].availableSuspense;\n this.suspenseAmount = response.data[0].suspenseAmt;\n this.isUseSuspenseChecked = response.data[0].suspenseAmt > 0;\n this.loanPaymentAmount = response.data[0].loanPaymentAmt;\n this.currentLoanBalance = response.data[0].loanBalanceAmt;\n this.isMakeLoanPaymentChecked = response.data[0].loanPaymentAmt > 0;\n this.overpaymentAmount = response.data[0].overpaymentAmt;\n this.isMakeOverPaymentChecked = response.data[0].overpaymentAmt > 0;\n this.amountCollected = (Math.round(((this.cashAmount - this.suspenseAmount + this.loanPaymentAmount + this.overpaymentAmount) + Number.EPSILON) * 100) / 100);\n this.insuredName = response.data[0].insuredName;\n this.payorName = response.data[0].payorName;\r\n });\r\n }\r\n }\n\n addCollection(formData: any): void {\r\n if (this.premiumCollected > 0) {\r\n if (this.currentLoanBalance >= this.loanPaymentAmount) {\r\n if (this.availableSuspenseAmount >= this.suspenseAmount) {\r\n let netCashAmount = this.cashAmount - this.suspenseAmount;\r\n this.disableSaveCollectionButton = true;\r\n this.onPremService.saveCollection(this.collectionId, this.collectionTypeId, this.regionId, this.policyNumber, this.selectedAgentId, this.collectionAgentId,\r\n this.monthsPaid, netCashAmount, this.suspenseAmount, this.overpaymentAmount, this.loanPaymentAmount, this.profile.auth0Id, this.modalPremium,\r\n this.currentCommRate, this.insuredName, this.payorName, this.sequenceNo)\r\n .pipe(take(1))\r\n .subscribe((response: any) => {\r\n if (response.data.responseCode.code === -1) {\r\n this.showCollectionErrorAlert(response.data.responseCode.message);\r\n } else {\r\n if (this.showCollectionForm) {\n this.closeCollectionForm();\r\n\r\n if (this.selectedTab == \"Pending Collections\") {\r\n this.refreshPendingCollectionsList();\r\n }\r\n };\r\n if (this.showLapsedCollectionForm) {\r\n this.closeLapsedCollectionForm();\r\n this.refreshPendingCollectionsList();\r\n };\r\n //}\r\n }\r\n });\r\n }\r\n else {\r\n this.showSuspenseAlert = true;\r\n }\r\n }\r\n else {\r\n this.showLoanBalanceAlert = true;\r\n }\r\n }\r\n else {\r\n this.showNoPremiumCollected = true;\r\n }\r\n }\n\n deleteCollection(collectionId: string): void {\n if (confirm(\"Are you sure you want to delete this payment?\")) {\n this.onPremService.deleteCollection(collectionId)\r\n .pipe(take(1))\r\n .subscribe();\n if (this.showCollectionForm) {\n this.closeCollectionForm();\r\n } else if (this.showLapsedCollectionForm) {\r\n this.closeLapsedCollectionForm();\r\n } else {\n this.refreshPendingCollectionsList();\n };\n }\n }\n\n setGroupCollectionValues(listCollection: any) {\r\n var premiumSum = 0;\r\n var premiumDueSum = 0;\r\n this.collectionId = listCollection[0].data.collectionID;\r\n this.sequenceNo = listCollection[0].data.sequenceNo;\r\n this.routeSequenceId = listCollection[0].data.routeSequenceID;\r\n this.monthsGroupPaid = listCollection[0].data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? listCollection[0].data.monthsDue : 0;\r\n this.showLapseAlert = listCollection[0].data.requireFullPayment == 'YES';\r\n this.minimumMonths = listCollection[0].data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service' ? this.monthsGroupPaid : 0;\r\n this.currentGroupCommRate = listCollection[0].data.currentCommRate;\r\n this.collectionAgentId = this.profile.auth0Id;\r\n\r\n let isLapsed: boolean = false;\r\n let monthsLapsed: number = 0;\r\n\r\n for (var i = 0; i < listCollection.length; i++) {\r\n premiumSum += listCollection[i].data.modalPremium;\r\n premiumDueSum += listCollection[i].data.premiumDue;\r\n\r\n if (listCollection[i].data.requireFullPayment == 'YES' && this.profile.channelPreference === 'Home Service') {\r\n isLapsed = true;\r\n if (listCollection[i].data.monthsDue > monthsLapsed)\r\n monthsLapsed = listCollection[i].data.monthsDue;\r\n }\r\n }\r\n\r\n if (isLapsed) {\r\n this.showLapseAlert = isLapsed;\r\n this.monthsGroupPaid = monthsLapsed;\r\n this.minimumMonths = monthsLapsed;\r\n this.premiumGroupCollected = premiumSum * monthsLapsed;\r\n }\r\n else {\r\n this.premiumGroupCollected = 0;\r\n }\r\n this.groupModalPremium = premiumSum;\r\n this.groupPremiumDue = premiumDueSum;\r\n }\n\n checkToDisableAddGroupCollection(listCollection: any): boolean {\n var disable = false;\n if (listCollection[0].data.sequenceNo == 'UNSEQUENCED') {\n disable = true;\r\n }\n return disable;\r\n }\n\n addGroupCollection(formData: any): void {\r\n let collectionError = false;\r\n if (this.premiumGroupCollected > 0) {\r\n this.disableSaveGroupCollectionButton = true;\r\n this.onPremService.saveGroupCollection(this.routeSequenceId, this.selectedAgentId, this.collectionAgentId, this.monthsGroupPaid,\r\n this.premiumGroupCollected, this.profile.auth0Id)\r\n .then((response: any) => {\r\n if (response.responseCode.code === -1) {\r\n collectionError = true;\r\n this.showCollectionErrorAlert(response.responseCode.message);\r\n };\r\n })\r\n .finally(() => {\r\n if (!collectionError) {\r\n this.closeGroupCollectionForm();\r\n }\r\n });\r\n }\r\n else {\r\n this.showNoGroupPremiumCollected = true;\r\n }\r\n }\n\n checkToDisableDeleteGroupCollection(listCollection: any): boolean {\n var collectedSum = 0;\n\n for (var i = 0; i < listCollection.length; i++) {\r\n collectedSum += listCollection[i].data.collectionAmt;\r\n }\r\n\n return collectedSum === 0;\r\n }\n\n checkForLockInGroupCollection(listCollection: any): boolean {\n var locked = false;\n\n for (var i = 0; i < listCollection.length; i++) {\r\n if (listCollection[i].data.lockPayment === 'YES') {\r\n locked = true;\r\n }\r\n }\n return locked;\r\n }\n\n deleteGroupCollection(routeSequenceId: string): void {\n if (confirm(\"Are you sure you want to delete this group payment?\")) {\n this.onPremService.deleteGroupCollection(routeSequenceId)\r\n .finally(() => {\r\n //this.getTotalCollectedAmount();\r\n this.refreshRouteList();\r\n });\r\n }\n }\n\n searchPolicyNumber(formPolicyNumberCtrl: AbstractControl) {\r\n var policyNumber = formPolicyNumberCtrl.value;\r\n this.onPremService.getLapsedPolicy(this.selectedAgentId, policyNumber)\r\n .pipe(take(1))\r\n .subscribe(apiResponse => {\r\n if (apiResponse.data.length === 0) {\r\n this.showPolicyFound = false;\r\n this.showLapseAlert = false;\r\n this.showLapseCollectionInfo = false;\r\n this.showNoPremiumCollected = false;\r\n this.insuredName = \"\";\r\n this.showPolicyNotFound = true;\r\n }\r\n else {\r\n this.enablePolicyNumberSearch = false;\r\n this.showPolicyFound = true;\r\n this.showPolicyNotFound = false;\r\n this.showLapseCollectionInfo = true;\r\n this.disableSaveLapsedCollectionButton = true;\r\n this.collectionTypeId = apiResponse.data[0].collectionTypeID;\r\n this.policyNumber = apiResponse.data[0].policyNum;\n this.sequenceNo = apiResponse.data[0].sequenceNo;\r\n this.routeSequenceId = apiResponse.data[0].routeSequenceID\r\n this.modalPremium = apiResponse.data[0].modalPremium;\r\n this.premiumDue = apiResponse.data[0].premiumDue;\r\n this.paidToDate = apiResponse.data[0].paidToDate;\r\n this.monthsPaid = apiResponse.data[0].requireFullPayment == 'YES' ? apiResponse.data[0].monthsDue : 0;\r\n this.monthlyPremiumPaid = this.modalPremium * this.monthsPaid;\r\n this.showLapseAlert = apiResponse.data[0].requireFullPayment == 'YES';\r\n this.minimumMonths = apiResponse.data[0].requireFullPayment == 'YES' ? this.monthsPaid : 0;\r\n this.premiumCollected = apiResponse.data[0].requireFullPayment == 'YES' ? apiResponse.data[0].premiumDue : 0;\r\n this.currentCommRate = apiResponse.data[0].currentCommRate;\r\n this.regionId = apiResponse.data[0].regionID;\n this.collectionAgentId = this.profile.auth0Id;\n this.cashAmount = 0;// this.premiumDue;\n this.availableSuspenseAmount = apiResponse.data[0].availableSuspense;\n this.isMakeOverPaymentChecked = false;\n this.currentLoanBalance = apiResponse.data[0].currentLoanBalance;\n this.insuredName = apiResponse.data[0].insuredName;\n this.payorName = apiResponse.data[0].payorName;\r\n }\r\n });\r\n }\n\n resetPolicyNumberSearch() {\n this.enablePolicyNumberSearch = true;\r\n this.policyNumber = '';\r\n this.insuredName = '';\r\n this.amountCollected = 0;\r\n this.overpaymentAmount = 0;\r\n this.showPolicyFound = false;\r\n this.showPolicyNotFound = false;\r\n this.showLapseAlert = false;\r\n this.showLapseCollectionInfo = false;\r\n }\n\n openSequenceNumberForm() {\r\n this.showCollectionParameters = false;\r\n this.showRouteList = false;\r\n this.showSequenceNumberForm = true;\r\n this.disabledTabs();\r\n }\n\n closeSequenceNumberForm() {\r\n this.enableTabs();\r\n this.showCollectionParameters = true;\r\n this.showRouteList = true;\r\n this.showSequenceNumberForm = false;\r\n }\n\n getSequenceNumberInfo(data: any): void {\n this.regionId = data.regionID;\n this.policyNumber = data.policyNum;\n this.policyAgentID = data.agentID;\n this.sequenceNo = data.sequenceNo === 'UNSEQUENCED' ? '' : data.sequenceNo;\n }\n\n updateSequenceNumber(formData: any): void {\r\n this.onPremService.saveSequence(this.regionId, this.policyNumber, this.policyAgentID, trim(formData.sequenceNo), this.profile.auth0Id)\r\n .pipe(take(1))\r\n .subscribe();\r\n\r\n this.closeSequenceNumberForm();\r\n }\n\n openSequenceContactForm() {\r\n this.showCollectionParameters = false;\r\n this.showRouteList = false;\r\n this.showSequenceContactForm = true;\r\n this.disabledTabs();\r\n }\n\n closeSequenceContactForm() {\r\n this.enableTabs();\r\n this.showCollectionParameters = true;\r\n this.showRouteList = true;\r\n this.showSequenceContactForm = false;\r\n }\n\n getSequenceContactInfo(data: any): void {\n this.routeSequenceId = data.routeSequenceID;\n this.sequenceNo = data.sequenceNo;\n\n this.onPremService.getSequenceContact(this.routeSequenceId)\r\n .pipe(take(1))\r\n .subscribe(response => {\r\n this.contactName = response.data[0].name;\r\n this.contactAddressLine1 = response.data[0].addressLine1;\r\n this.contactAddressLine2 = response.data[0].addressLine2;\r\n this.contactCity = response.data[0].city;\r\n this.contactState = response.data[0].state;\r\n this.contactZip = response.data[0].zip;\r\n this.contactEmailAddress = response.data[0].emailAddress;\r\n this.contactPhone = response.data[0].phone;\r\n this.contactNotes = response.data[0].notes;\r\n });\n }\n\n updateSequenceContact(formData: any): void {\r\n this.onPremService.saveSequenceContact(this.routeSequenceId, this.sequenceNo, this.contactName, this.contactAddressLine1, this.contactAddressLine2,\r\n this.contactCity, this.contactState, this.contactZip, this.contactEmailAddress, this.contactPhone, this.contactNotes, this.profile.auth0Id)\r\n .pipe(take(1))\r\n .subscribe();\r\n\r\n this.closeSequenceContactForm();\r\n }\n\n submitBatch(collectionId: string): void {\n if (confirm(\"Are you sure you want to submit this collection batch?\")) {\n this.onPremService.insertCollectionBatch(this.selectedAgentId)\n .finally(() => {\r\n this.refreshPendingCollectionsList();\r\n });\n }\n }\n\n displayPolicyDetail(agentId: string, policyNumber: string, regionID: number) {\n this.selectedPolicy = {};\n this.onPremService.getPolicyDetail(agentId, policyNumber, regionID, this.profile.channelPreferenceValue)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.selectedPolicy = policyInfo.data[0];\n this.coverageRowData = policyInfo.data[0].policyCoverages;\n this.paymentRowData = policyInfo.data[0].policyPayments;\n this.statusHistoryRowData = policyInfo.data[0].policyStatusHistory;\n this.underwritingStatusRowData = policyInfo.data[0].policyUnderwritingStatus;\n this.hierarchyRowData = policyInfo.data[0].policyHierarchy;\n this.beneficiaryInfoRowData = policyInfo.data[0].policyBeneficiaryInfo;\n this.beneficiaryRowData = policyInfo.data[0].policyBeneficiary;\n this.allocationRowData = policyInfo.data[0].policyAllocation;\n if (policyInfo.data[0].policyCoverages == null) {\n $('#Coverages-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyPayments == null) {\n $('#PremiumHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyStatusHistory == null) {\n $('#StatusHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyUnderwritingStatus == null) {\n $('#Underwriting-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyHierarchy == null) {\n $('#Hierarchy-tab').addClass('policymenudisabled');\n }\n });\n this.showCollectionParameters = false;\r\n this.showRouteList = false;\r\n this.showPolicyDetail = true;\n this.disabledTabs();\n }\n\n displayList(list: string): boolean {\n var show: boolean = false;\n switch (this.profile.channelPreference) {\r\n case 'Annuity': {\r\n if (list === 'Underwriting' || list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Annuity [Bank]': {\r\n if (list === 'Underwriting' || list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Pre-Need': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service [Career]': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n default: {\r\n show = false;\r\n }\r\n };\r\n return show;\r\n }\n\n toggleClientInfoAccordion() {\r\n this.clientInfoAccordionExpanded = !this.clientInfoAccordionExpanded;\r\n }\r\n getClientInfoAccordionArrowStyle() {\r\n return this.clientInfoAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n\n closePolicyDetail() {\n this.enableTabs();\n this.showPolicyDetail = false;\n this.showCollectionParameters = true;\r\n this.showRouteList = true;\n }\n printPolicyDetail() {\r\n window.print();\r\n }\n\n enableTabs() {\n $('#RouteList-tab').removeClass('policymenudisabled');\n $('#PendingCollections-tab').removeClass('policymenudisabled');\r\n $('#BatchHistory-tab').removeClass('policymenudisabled');\r\n }\n\n disabledTabs() {\n switch (this.selectedTab) {\r\n case 'Pending Collections':\r\n $('#RouteList-tab').addClass('policymenudisabled');\r\n $('#BatchHistory-tab').addClass('policymenudisabled');\r\n break;\r\n case 'Batch History':\r\n $('#RouteList-tab').addClass('policymenudisabled');\r\n $('#PendingCollections-tab').addClass('policymenudisabled');\r\n break;\r\n default:\r\n $('#PendingCollections-tab').addClass('policymenudisabled');\r\n $('#BatchHistory-tab').addClass('policymenudisabled');\r\n }\r\n }\n\n policyDetailTabView(link: string) {\n $('#policyDetailMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(link).addClass('router-link-exact-active');\n\n switch (link) {\r\n case '#Coverages-tab':\r\n this.gridApi4?.sizeColumnsToFit();\r\n break;\r\n case '#PremiumHistory-tab':\r\n this.gridApi5?.sizeColumnsToFit();\r\n break;\r\n case '#StatusHistory - tab':\r\n this.gridApi6?.sizeColumnsToFit();\r\n break;\r\n case '#Underwriting-tab':\r\n this.gridApi7?.sizeColumnsToFit();\r\n break;\r\n case '#Hierarchy-tab':\r\n this.gridApi8?.sizeColumnsToFit();\r\n break;\r\n case '#Beneficiary-tab':\r\n this.gridApi9?.sizeColumnsToFit();\r\n break;\r\n default:\r\n }\n }\n\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n this.gridApi1?.setQuickFilter(this.searchTerm);\n params.api.sizeColumnsToFit();\n }\n onGridReady2(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n }\n onGridReady3(params: any) {\n this.gridApi3 = params.api;\n this.gridColumnApi3 = params.columnApi;\n }\n onGridReady4(params: any) {\n this.gridApi4 = params.api;\n this.gridColumnApi4 = params.columnApi;\n }\n onGridReady5(params: any) {\n this.gridApi5 = params.api;\n this.gridColumnApi5 = params.columnApi;\n }\n onGridReady6(params: any) {\n this.gridApi6 = params.api;\n this.gridColumnApi6 = params.columnApi;\n }\n onGridReady7(params: any) {\n this.gridApi7 = params.api;\n this.gridColumnApi7 = params.columnApi;\n }\n onGridReady8(params: any) {\n this.gridApi8 = params.api;\n this.gridColumnApi8 = params.columnApi;\n }\n onGridReady9(params: any) {\n this.gridApi9 = params.api;\n this.gridColumnApi9 = params.columnApi;\n }\n\n onRowDataRouteListUpdated(params: any) {\n if (params.api.rowModel.rowsToDisplay.length > 0) {\n this.gridApi1?.ensureIndexVisible(this.topRowID, 'top');\n }\n }\n\n onBodyScroll(params: any) {\n //console.log(params);\n let topIndex = params.top;\r\n let rows = params.api.rowModel.rowsToDisplay.map((a: { rowTop: number; }) => a.rowTop);\r\n\r\n const topIndexValue = rows.reduce((a: number, b: number) => {\r\n return (topIndex > a && topIndex < b) || topIndex == a ? a : b;\r\n });\r\n\r\n this.topRowID = params.api.rowModel.rowsToDisplay\r\n .filter((a: { rowTop: number; }) => a.rowTop === topIndexValue)\r\n .map((a: { rowIndex: number; }) => a.rowIndex)[0];\r\n }\n\n onRowDataCollectionsListUpdated(params: any) {\n var rows = params.columnApi.columnModel.rowModel.rowsToDisplay;\n\n var premiumColumn = this.gridColumnApi2.getColumn(\"premiumAmt\");\n var premiumTotal = rows.reduce((a: any, b: any) => a + b.data.premiumAmt, 0);\n premiumColumn.colDef.headerName = `Premium \\n (${formatNumber(premiumTotal)})`;\r\n\r\n var overpaymentAmtColumn = this.gridColumnApi2.getColumn(\"overpaymentAmt\");\n var overpaymentAmtTotal = rows.reduce((a: any, b: any) => a + b.data.overpaymentAmt, 0);\n overpaymentAmtColumn.colDef.headerName = `Overpayment \\n (${formatNumber(overpaymentAmtTotal)})`;\r\n\r\n var agentCollectAmtColumn = this.gridColumnApi2.getColumn(\"agentCollectAmt\");\n var agentCollectAmtTotal = rows.reduce((a: any, b: any) => a + b.data.agentCollectAmt, 0);\n agentCollectAmtColumn.colDef.headerName = `Agent Collect/Due \\n (${formatNumber(agentCollectAmtTotal)})`;\r\n\r\n var appliedSuspenseAmtColumn = this.gridColumnApi2.getColumn(\"appliedSuspenseAmt\");\n var appliedSuspenseAmtTotal = rows.reduce((a: any, b: any) => a + b.data.appliedSuspenseAmt, 0);\n appliedSuspenseAmtColumn.colDef.headerName = `Applied Suspense \\n (${formatNumber(appliedSuspenseAmtTotal)})`;\r\n\r\n var loanPaymentAmtColumn = this.gridColumnApi2.getColumn(\"loanPaymentAmt\");\n var loanPaymentAmtTotal = rows.reduce((a: any, b: any) => a + b.data.loanPaymentAmt, 0);\n loanPaymentAmtColumn.colDef.headerName = `Loan Payment \\n (${formatNumber(loanPaymentAmtTotal)})`;\r\n\r\n var totalCollectionAmtColumn = this.gridColumnApi2.getColumn(\"totalCollectionAmt\");\n var totalCollectionAmtTotal = rows.reduce((a: any, b: any) => a + b.data.totalCollectionAmt, 0);\n totalCollectionAmtColumn.colDef.headerName = `Total Collection \\n (${formatNumber(totalCollectionAmtTotal)})`;\r\n\r\n var estCommAmtColumn = this.gridColumnApi2.getColumn(\"estCommAmt\");\n var estCommAmtTotal = rows.reduce((a: any, b: any) => a + b.data.estCommAmt, 0);\n estCommAmtColumn.colDef.headerName = `Est. Commission \\n (${formatNumber(estCommAmtTotal)})`;\r\n\r\n var estNetAmtColumn = this.gridColumnApi2.getColumn(\"estNetAmt\");\n var estNetAmtTotal = rows.reduce((a: any, b: any) => a + b.data.estNetAmt, 0);\n estNetAmtColumn.colDef.headerName = `Est. Net Draft \\n (${formatNumber(estNetAmtTotal)})`;\r\n\r\n this.gridApi2!.refreshHeader();\n }\n\n getRouteListContextMenuItems(\r\n params: GetContextMenuItemsParams\r\n ): (string | MenuItemDef)[] {\r\n var result: (string | MenuItemDef)[] = [\r\n {\r\n name: 'Collect/Update Payment',\r\n action: () => {\r\n if (params.node!.data.lockPayment === 'YES') {\r\n params.context.showLockAlert();\r\n }\r\n else {\r\n params.context.openCollectionForm();\r\n params.context.getCollection(params.node!.data);\r\n }\r\n }\r\n },\r\n {\r\n name: 'Delete Payment',\r\n action: () => {\r\n if (params.node!.data.lockPayment === 'YES') {\r\n params.context.showLockAlert();\r\n }\r\n else {\r\n params.context.deleteCollection(params.node!.data.collectionID);\r\n params.context.refreshRouteList();\r\n }\r\n },\r\n disabled: !params.node!.data.collectionID,\r\n },\r\n {\r\n name: 'Edit Sequence Number',\r\n action: () => {\r\n params.context.openSequenceNumberForm();\r\n params.context.getSequenceNumberInfo(params.node!.data);\r\n },\r\n },\r\n 'separator',\r\n {\r\n name: 'Collect Entire Sequence',\r\n action: () => {\r\n params.context.setGroupCollectionValues(params.node!.parent!.allLeafChildren);\r\n params.context.openGroupCollectionForm();\r\n },\r\n disabled: (params.context.checkToDisableAddGroupCollection(params.node!.parent!.allLeafChildren) ||\r\n params.context.checkForLockInGroupCollection(params.node!.parent!.allLeafChildren))\r\n },\r\n {\r\n name: 'Delete For Entire Sequence',\r\n action: () => {\r\n if (params.context.checkForLockInGroupCollection(params.node!.parent!.allLeafChildren)) {\r\n params.context.showGroupLockAlert();\r\n }\r\n else {\r\n params.context.deleteGroupCollection(params.node!.data.routeSequenceID);\r\n }\r\n },\r\n disabled: params.context.checkToDisableDeleteGroupCollection(params.node!.parent!.allLeafChildren)\r\n },\r\n {\r\n name: 'Edit Sequence Payor',\r\n action: () => {\r\n params.context.openSequenceContactForm();\r\n params.context.getSequenceContactInfo(params.node!.data);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n 'separator',\r\n {\r\n name: 'View Policy Detail',\r\n action: () => {\r\n params.context.displayPolicyDetail(params.node!.data.agentID, params.node!.data.policyNum, params.node!.data.regionID);\r\n }\r\n },\r\n 'separator',\r\n {\r\n name: 'Print Arrears Letter',\r\n action: () => {\r\n let sequence = params.node!.data.sequenceNo;\r\n params.context.getReport(71, sequence);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n {\r\n name: 'Print Collection Sheet',\r\n action: () => {\r\n let sequence = params.node!.data.sequenceNo;\r\n params.context.getReport(70, sequence);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n {\r\n name: 'Print Policy Review Letter',\r\n action: () => {\r\n let sequence = params.node!.data.sequenceNo;\r\n params.context.getReport(91, sequence);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n {\r\n name: 'Print Premium Receipt Book (Back)',\r\n action: () => {\r\n params.context.getReport(73);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n {\r\n name: 'Print Premium Receipt Book (Front)',\r\n action: () => {\r\n let sequence = params.node!.data.sequenceNo;\r\n params.context.getReport(72, sequence);\r\n },\r\n disabled: params.node!.data.sequenceNo == 'UNSEQUENCED'\r\n },\r\n {\r\n name: 'Print Route List',\r\n action: () => {\r\n params.context.getReport(74);\r\n },\r\n },\r\n ];\r\n\r\n return result;\r\n }\n\n getPendingCollectionsListContextMenuItems(\r\n params: GetContextMenuItemsParams\r\n ): (string | MenuItemDef)[] {\r\n var result: (string | MenuItemDef)[] = [\r\n {\r\n name: 'Collect for Lapsed Policy',\r\n action: () => {\r\n params.context.openLapsedCollectionForm();\r\n }\r\n },\r\n 'separator',\r\n {\r\n name: 'Update Payment',\r\n action: () => {\r\n params.context.openCollectionForm();\r\n params.context.getCollection(params.node!.data);\r\n }\r\n },\r\n {\r\n name: 'Delete Payment',\r\n action: () => {\r\n params.context.deleteCollection(params.node!.data.collectionID);\r\n params.context.refreshPendingCollectionsList();\r\n }\r\n },\r\n ];\r\n\r\n return result;\r\n }\n\n getBatchHistoryListContextMenuItems(\r\n params: GetContextMenuItemsParams\r\n ): (string | MenuItemDef)[] {\r\n var result: (string | MenuItemDef)[] = [\r\n {\r\n name: 'Print Batch Details',\r\n action: () => {\r\n params.context.getReport(75, \"\", params.node!.data.collectionBatchID);\r\n },\r\n },\r\n ];\r\n\r\n return result;\r\n }\n\n getRoutleListGridIcons(data: any): string {\n var iconString = '';\n\n switch (data.billFormCode) {\r\n case '1':\r\n iconString += '';\r\n break;\r\n case '2':\r\n iconString += '';\r\n break;\r\n case '3':\r\n iconString += '';\r\n break;\r\n case '4':\r\n iconString += '';\r\n break;\r\n case 'C':\r\n iconString += '';\r\n break;\r\n case 'X':\r\n iconString += '';\r\n break;\r\n default:\r\n iconString += '';\r\n break;\r\n }\n iconString = data.requireFullPayment ? iconString += '' : iconString;\n iconString = data.lockPayment === 'YES' ? iconString +=\n '' : iconString;\n return iconString;\r\n }\n\n getRoutleListGridTooltip(data: any): string {\n var tipString = data.billFormDesc + \"\\n\";\n tipString = data.requireFullPayment ? tipString += 'Policy is near lapse. Full payment is required for collection.' + \"\\n\" : tipString;\n tipString = data.lockPayment === 'YES' ? tipString += 'Policy locked due to in-process payment.' : tipString;\n return tipString;\r\n }\n\n refreshRouteList() {\r\n this.getRouteList();\r\n }\n\n getPendingCollectionsListGridIcons(data: any): string {\n var iconString = '';\n\n switch (data.collectionTypeID) {\r\n case 1:\r\n iconString = '';\r\n break;\r\n case 2:\r\n iconString = '';\r\n break;\r\n default:\r\n iconString = '';\r\n break;\r\n }\n return iconString;\r\n }\n\n getPendingCollectionsListGridTooltip(data: any): string {\n return data.collectionType + ' Collection';\r\n }\n\n refreshPendingCollectionsList() {\n this.getPendingCollections();\r\n }\n\n refreshBatchHistory() {\n this.gridApi3?.sizeColumnsToFit();\n this.getBatchHistory();\r\n }\n\n getReport(reportId: number, sequenceNum: string = \"\", collectionBatchId: string = \"\"): void {\n let url: string = `https://apreports.lbig.com/Reports?ReportID=${reportId}&agent=${this.selectedAgentId}&sequenceNo=${sequenceNum}&collectionBatchID=${collectionBatchId}&source=uap&tguid=`;\n\n this.onPremService.getAgentToken(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(t => {\n let reportURL = url + t.data.token;\n window.open(reportURL, '_blank');\n });\n }\n\n onClickTabSelect(tab: string) {\r\n this.selectedTab = tab;\r\n switch (tab) {\r\n case 'Pending Collections':\r\n this.enableRouteListSearch = false;\r\n this.showBillFormListCheckboxes = false;\r\n this.showSubmitBatchButton = true;\r\n this.refreshPendingCollectionsList();\r\n break;\r\n\r\n case 'Batch History':\r\n this.enableRouteListSearch = false;\r\n this.showBillFormListCheckboxes = false;\r\n this.showSubmitBatchButton = false;\r\n this.refreshBatchHistory();\r\n break;\r\n\r\n default:\r\n this.topRowID = 0;\r\n this.showBillFormListCheckboxes = true;\r\n this.showSubmitBatchButton = false;\r\n this.enableRouteListSearch = true;\r\n this.refreshRouteList();\r\n }\r\n }\n\n onSearchChanged() {\n this.searchTerm = (document.getElementById('search') as HTMLInputElement).value;\n this.gridApi1?.setQuickFilter(this.searchTerm);\n }\r\n\r\n makeLoanPaymentChecked(e: any) {\r\n if (e.target.checked) {\r\n this.isMakeLoanPaymentChecked = true;\r\n }\r\n else {\r\n this.loanPaymentAmount = 0;\r\n this.isMakeLoanPaymentChecked = false;\r\n }\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n useSuspenseChecked(e: any) {\r\n if (e.target.checked) {\r\n this.suspenseAmount = this.suspenseAmount > 0 ? this.suspenseAmount : this.availableSuspenseAmount;\r\n this.isUseSuspenseChecked = true;\r\n }\r\n else {\r\n this.suspenseAmount = 0;\r\n this.isUseSuspenseChecked = false;\r\n }\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n onSuspenseAmtChanged(e: any) {\r\n this.suspenseAmount = +e.target.value;\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n makeOverPaymentChecked(e: any) {\r\n if (e.target.checked) {\r\n this.isMakeOverPaymentChecked = true;\r\n }\r\n else {\r\n this.overpaymentAmount = 0;\r\n this.isMakeOverPaymentChecked = false;\r\n }\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n onAmountCollectedChanged(e: any) {\r\n this.amountCollected = +e.target.value;\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n onOverpaymentAmtChanged(e: any) {\r\n this.overpaymentAmount = +e.target.value;\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n onLoanPaymentAmtChanged(e: any) {\r\n this.loanPaymentAmount = +e.target.value;\r\n this.calculatePremiumCollected();\r\n }\r\n\r\n onPolicyNumberChanged(e: any) {\r\n this.policyNumber = e.target.value;\r\n }\r\n\r\n calculatePremiumCollected() {\r\n this.cashAmount = this.modalPremium * this.monthsPaid;\r\n var totalCollected = this.cashAmount - this.suspenseAmount + this.overpaymentAmount + this.loanPaymentAmount;\r\n this.premiumCollected = Math.round((totalCollected + Number.EPSILON) * 100) / 100\r\n\r\n var disableSave = this.amountCollected === this.premiumCollected ? false : true;\r\n\r\n this.disableSaveLapsedCollectionButton = disableSave;\r\n this.disableSaveCollectionButton = disableSave;\r\n }\r\n\r\n calculatePremiumGroupCollected() {\r\n this.premiumGroupCollected = this.groupModalPremium * this.monthsGroupPaid;\r\n }\r\n\r\n autoApply() {\r\n if ((this.amountCollected >= this.premiumDue && this.showLapseAlert) || (this.amountCollected >= this.modalPremium && !this.showLapseAlert)) {\r\n let appliedAmount = Math.floor(this.amountCollected / this.modalPremium);\r\n let appliedOverpayment = Math.round((this.amountCollected - (appliedAmount * this.modalPremium) + Number.EPSILON) * 100) / 100;\r\n if (appliedAmount >= 1) {\r\n this.monthsPaid = appliedAmount;\r\n this.monthlyPremiumPaid = Math.round(((this.monthsPaid * this.modalPremium) + Number.EPSILON) * 100) / 100;\r\n this.suspenseAmount = 0;\r\n this.isUseSuspenseChecked = false;\r\n this.isMakeOverPaymentChecked = appliedOverpayment > 0;\r\n this.overpaymentAmount = appliedOverpayment > 0 ? appliedOverpayment : 0;\r\n this.calculatePremiumCollected();\r\n }\r\n }\r\n }\r\n\r\n showLockAlert() {\r\n alert(\"The selected policy is locked due to in-process payment\");\r\n }\r\n\r\n showGroupLockAlert() {\r\n alert(\"At least one policy in group is locked due to in-process payment\");\r\n }\r\n\r\n showCollectionErrorAlert(message: string) {\r\n alert(message);\r\n }\r\n\r\n increaseMonthsPaid() {\r\n var value = this.monthsPaid;\r\n value = isNaN(value) ? 0 : value;\r\n value++;\r\n this.monthsPaid = value;\r\n this.monthlyPremiumPaid = Math.round(((this.monthsPaid * this.modalPremium) + Number.EPSILON) * 100) / 100;\r\n this.calculatePremiumCollected()\r\n }\r\n\r\n decreaseMonthsPaid() {\r\n let value = this.monthsPaid;\r\n let minValue = this.collectionTypeId === 2 ? this.minimumMonths - 1 : this.minimumMonths;\r\n value = isNaN(value) ? 0 : value;\r\n value < 1 ? value = 1 : '';\r\n if (minValue < value) {\r\n value--;\r\n this.monthsPaid = value;\r\n this.monthlyPremiumPaid = Math.round(((this.monthsPaid * this.modalPremium) + Number.EPSILON) * 100) / 100;\r\n this.calculatePremiumCollected()\r\n }\r\n }\r\n\r\n increaseGroupMonthsPaid() {\r\n var value = this.monthsGroupPaid;\r\n value = isNaN(value) ? 0 : value;\r\n value++;\r\n this.monthsGroupPaid = value;\r\n this.calculatePremiumGroupCollected();\r\n }\r\n\r\n decreaseGroupMonthsPaid() {\r\n var value = this.monthsGroupPaid;\r\n var minValue = this.minimumMonths;\r\n value = isNaN(value) ? 0 : value;\r\n value < 1 ? value = 1 : '';\r\n if (minValue < value) {\r\n value--;\r\n this.monthsGroupPaid = value;\r\n this.calculatePremiumGroupCollected();\r\n }\r\n }\n\n decimalFilter(event: any) {\r\n const reg = /^-?\\d*(\\.\\d{0,2})?$/;\r\n let input = event.target.value + String.fromCharCode(event.charCode);\r\n\r\n if (!reg.test(input)) {\r\n event.preventDefault();\r\n }\r\n }\n\n decimalCheck(event: any) {\r\n {\r\n var charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n\r\n return true;\r\n }\r\n }\n\n numberWithDecimal(event: any) {\n var charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode != 46 && charCode > 31\r\n && (charCode < 48 || charCode > 57))\r\n return false;\r\n\r\n const reg = /^-?\\d*(\\.\\d{0,2})?$/;\r\n let input = event.target.value + String.fromCharCode(charCode);\r\n\r\n if (!reg.test(input))\r\n return false;\r\n\r\n return true;\r\n }\n\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelSubscription.unsubscribe();\n }\n}\r\n\r\nfunction insuredAndPayorCellRenderer(params: any) {\r\n return params.data.insuredName + '
    ' + params.data.payorName;\r\n}\r\nfunction insuredAndPayorValueGetter(params: any) {\r\n return params.data.insuredName + ' ' + params.data.payorName;\r\n}\r\nfunction policyNumAndAgentIDCellRenderer(params: any) {\r\n return params.data.policyNum + '
    ' + params.data.agentID;\r\n}\r\nfunction policyNumAndAgentIDValueGetter(params: any) {\r\n return params.data.policyNum + ' ' + params.data.agentID;\r\n}\r\nfunction paidToDateAndIssueDateCellRenderer(params: any) {\r\n return params.data.paidToDate + '
    ' + params.data.issueDate;\r\n}\r\nfunction paidToDateAndIssueDateValueGetter(params: any) {\r\n return params.data.paidToDate + ' ' + params.data.issueDate;\r\n}\r\nfunction premiumDueAndMonthsCellRenderer(params: any) {\r\n return '$' + params.data.premiumDue.toFixed(2) + '
    ' + params.data.monthsDue;\r\n}\r\nfunction premiumDueAndMonthsValueGetter(params: any) {\r\n return '$' + params.data.premiumDue.toFixed(2) + ' ' + params.data.monthsDue;\r\n}\r\nfunction suspenseAndLoanBalanceCellRenderer(params: any) {\r\n return '$' + params.data.availableSuspense.toFixed(2) + '
    ' + '$' + params.data.currentLoanBalance.toFixed(2);\r\n}\r\nfunction suspenseAndLoanBalanceValueGetter(params: any) {\r\n return '$' + params.data.availableSuspense.toFixed(2) + ' ' + params.data.currentLoanBalance.toFixed(2);\r\n}\r\n","
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Collect Policy - {{policyNumber ? sequenceNo + \" - \" + policyNumber : \"Loading...\"}}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{ lapseAlertMessage }}
    \r\n
    No Premium Collected for this Policy
    \r\n
    \r\n The Available Suspense for this policy is not enough to cover the amount specified to lower the net collection.\r\n
    \r\n
    \r\n The repayment amount is greater than the amount owed for the current loan amount.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Modal Premium\r\n {{ modalPremium | currency }} // Total Premium Due {{ premiumDue | currency }} // Paid To {{ paidToDate }}\r\n

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

    The current commission amount for this policy is {{ currentCommRate | percent }}

    \r\n
    \r\n
    \r\n\r\n
    0 || suspenseAmount > 0\">\r\n
    \r\n
    \r\n

    >> This policy currently has {{ availableSuspenseAmount | currency }} held in available suspense <<

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    0 || loanPaymentAmount > 0\">\r\n
    \r\n
    \r\n

    >> This policy has a current loan balance of {{ currentLoanBalance | currency }} <<

    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n $\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Allocation (must be fully allocated to Save)\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    0 || suspenseAmount > 0\">\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    0 || loanPaymentAmount > 0\">\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Collect Lapsed Policy - {{policyNumber ? sequenceNo + \" - \" + policyNumber : \"Loading...\"}}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Months Paid must equal or exceed the Months Due
    \r\n
    No Premium Collected for this Policy
    \r\n
    \r\n An error has occurred during the Save of your collection. Please contact Home Service Agent Support for guidance.\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n    \r\n \r\n  \r\n Lapsed Policy Found!\r\n \r\n \r\n  \r\n Lapsed Policy Not Found!\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Modal Premium\r\n {{ modalPremium | currency }} // Total Premium Due {{ premiumDue | currency }} // Paid To {{ paidToDate }}\r\n

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

    The current commission amount for this policy is {{ currentCommRate | percent }}

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Allocation (must be fully allocated to Save)\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n $\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Collect All Policies - {{ sequenceNo }}\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Months Paid must equal or exceed the Months Due
    \r\n
    No Premium Collected for this Policy
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Modal Premium {{ groupModalPremium | currency }} // Total Premium Due {{ groupPremiumDue | currency }}

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

    The current commission amount for this policy is {{ currentGroupCommRate | percent }}

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

    \r\n Edit Sequence Number\r\n

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

    \r\n Edit Sequence Payor {{contactName ? \"\" : \"- Loading...\"}}\r\n

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

    \r\n \r\n Policy Detail -\r\n {{selectedPolicy.policyNumber ? selectedPolicy.policyNumber + \" - \" + selectedPolicy.insuredName + \"   [ values as of \" + selectedPolicy.asOfDate + \" ]\": \"Loading...\"}}\r\n \r\n

    \r\n
    \r\n
    \r\n     \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Error Loading Policy Information
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n

    \r\n \r\n Client Details  \r\n \r\n

    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Insured\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.insuredName}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.insuredAddress}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Phone: {{ selectedPolicy.insuredPhone | phone }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    DOB: {{selectedPolicy.insuredDob}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Owner\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.ownerName}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.ownerAddress}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Phone: {{ selectedPolicy.ownerPhone | phone }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    DOB: {{selectedPolicy.ownerDob}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Payor\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.payorName}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{selectedPolicy.payorAddress}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Phone: {{ selectedPolicy.payorPhone | phone }}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    DOB: {{selectedPolicy.payorDob}}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Profile } from '../../../models/profile';\nimport { profileOptions } from '../../../models/profileOptions';\nimport { AgentLinkResponse } from '../../../models/agentLinkResponse';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { APIResponse } from '../../../models/apiresponse';\nimport { ToastrService } from 'ngx-toastr';\nimport { take } from 'rxjs/operators';\r\n\n@Component({\n selector: 'app-profile',\n templateUrl: './completeprofile.component.html',\n})\nexport class CompleteProfileComponent implements OnInit {\r\n private errorCode!: number;\n private emailAddress = \"\";\n private auth0ID = \"\";\n private avatarLink = \"\";\n private updateSuccess = false;\n private updateFailed = false;\n private showForm = true;\n private showGrid = false;\n private showLinkCode = false;\n\n public profile!: Profile;\n public profileOptions!: profileOptions;\n public profileJson = \"\";\n constructor(public auth: AuthService, public router: Router, private onPremService: OnPremStorageService, public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService) { }\n\n ngOnInit(): void {\n this.auth.user$.subscribe(\n (profile) => (this.profileJson = JSON.stringify(profile, null, 2),\n this.emailAddress = profile.email,\n this.auth0ID = profile.sub,\n this.avatarLink = profile.picture)\n );\n }\n btnClick(): void {\n this.router.navigate(['/home']);\n };\n btnLinkCode(): void {\n this.onPremService.addAgentLinkCodeRecord(this.emailAddress)\n .pipe(take(1))\n .subscribe();\n\n this.showLinkCode = true;\r\n }\n inputFocused(event: any) {\r\n event.target.select()\r\n }\n disableArrowKeys(event: any) {\r\n var key = event.keyCode;\r\n if (key >= 37 && key <= 40) {\n return false;\n }\r\n else\r\n return true;\r\n }\n setFocus(event: any, input: number): void {\n var key = event.keyCode;\r\n if ((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 96 && key <= 105)) {\n var next = input + 1;\n var elementReference = document.getElementById('linkCode' + next);\r\n if (elementReference instanceof HTMLElement) {\r\n elementReference.focus();\r\n elementReference.scrollIntoView();\r\n }\n }\n }\n onSubmit(formData: any): void {\n var linkCode = formData.linkCode1 + formData.linkCode2 + formData.linkCode3 + formData.linkCode4 + formData.linkCode5 + formData.linkCode6;\n this.onPremService.linkAgent(this.emailAddress, formData.agentId, formData.ssn, formData.dob, linkCode)\n .pipe(take(1))\n .subscribe((resp: APIResponse) => {\n if (resp.data.responseCode > 0) {\n resp.data.emailAddress = this.emailAddress;\n resp.data.avatarLink = this.avatarLink;\n resp.data.auth0Id = this.auth0ID;\n this.cloudStorageService.createUserProfile(resp.data)\n .pipe(take(1))\n .subscribe((resp: Profile) => {\n if (resp.userId !== '') {\n this.updateSuccess = true;\n this.siteParmService.setProfile(resp); //save to local storage\n this.siteParmService.sendChannelInit(resp.channelPreferenceValue); //alert navbar etc of registered agent\n this.showForm = false;\n this.showGrid = true;\n this.toastr.success('Your profile has been created and all of you agent numbers are now linked to your account', 'Profile Created', {\n positionClass: 'toast-product-info', tapToDismiss: true, timeOut: 0\n });\n } else {\n this.toastr.warning('We could not locate your account using the information provided. Please verify and try again.', '', {\n positionClass: 'toast-product-info', tapToDismiss: true, timeOut: 0\n });\n }\n });\n } else {\n this.errorCode = resp.data.responseCode * -1;\n this.toastr.error('We could not locate your account using the information provided. Please verify and try again.

    Error Code: ' + this.errorCode + '', '', {\n positionClass: 'toast-product-info', tapToDismiss: true, enableHtml: true, timeOut: 0\n });\n }\n });\n }\n}\n","
    \n
     
    \n
    \n
    \n
    \n
    \n

    Link my Agent IDs

    \n
    \n
    \n

    In order to securely associate your agent contracts to your login account, we need to ask you for three details related to one of your Agent IDs that have been assigned to you during the contracting process. Please enter the data below and use any one of your Agent IDs that we have assigned to you so we can safely verify you in our systems.

    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n If an LBIG support rep directs you to, click this LINK to proceed using a one-time code.\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n   \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n\n \n
    \n
    \n
    \n","import { Component, AfterViewInit } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { Profile } from '../../../models/profile';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styles: [\n ]\n})\nexport class ContactPageComponent implements AfterViewInit {\n profile!: Profile;\n private channelUpdate: Subscription;\n\n constructor(private siteParmService: SiteParameterService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.setTab();\n });\n }\n\n ngAfterViewInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.setTab();\n $('#menu li a').click(function () {\n if (this.parentElement?.className.indexOf('dropdown') == -1) {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n }\n });\n }\n setTab(): void {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $('#tabPanes').find(\"*\").removeClass(\"active\");\n\n let selectedChannel = this.profile ? this.profile.channelPreference : \"\";\n\n switch (selectedChannel) {\r\n case \"Home Service\": {\r\n $('#HomeService-tab').addClass('router-link-exact-active');\n $('#HomeService').addClass('tab-pane active');\r\n break;\r\n }\r\n case \"Home Service [Career]\": {\r\n $('#HomeService-tab').addClass('router-link-exact-active');\n $('#HomeService').addClass('tab-pane active');\r\n break;\r\n }\r\n case \"Supplemental Health [Plus Series]\": {\r\n $('#SuppHealthHIP-tab').addClass('router-link-exact-active');\n $('#SuppHealthHIP').addClass('tab-pane active');\r\n break;\r\n }\r\n case \"Ordinary Life\": {\r\n $('#Ordinary-tab').addClass('router-link-exact-active');\n $('#Ordinary').addClass('tab-pane active');\r\n break;\r\n }\r\n case \"Pre-Need\": {\r\n $('#HomeService-tab').addClass('router-link-exact-active');\n $('#HomeService').addClass('tab-pane active');\r\n break;\r\n }\r\n default: {\r\n $('#Annuity-tab').addClass('router-link-exact-active');\n $('#Annuity').addClass('tab-pane active');\r\n break;\r\n }\r\n }\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","\n
    \n\n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone800-274-4829EmailAnnuityMarketing@lbig.com
    Mailing Address9800 Woodway Drive
    Waco, TX 76712
    Fax254-751-0115
    Hours of OperationM-Th 8:00am-5:00pm
    F 8:00am-3:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone800-745-4927800-745-4927800-745-4927800-745-4927
    Emailannuitynewbiz@insadmin.comannuityCSR@insadmin.comannuityCSR@insadmin.comannuityCSR@insadmin.com
    Mailing AddressPO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    Fax844-351-6806254-751-0115844-351-6806844-351-6806
    Hours of OperationM-F 8:00am-5:00pmM-F 8:00am-5:00pmM-F 8:00am-5:00pmM-F 8:00am-5:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone1-866-615-2309Emailsheri.fields@lbig.com
    Mailing Address6956 SW Woodbine Way
    Palm City, FL 34990
    Fax772-232-6640
    Hours of OperationM-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone1-800-972-66151-800-972-66151-800-972-66151-800-972-6615
    Emailnewbiz@lbladmin.comhomeservice@life-insurers.comhomeservice@life-insurers.comhomeservice@life-insurers.com
    Mailing AddressPO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    Fax1-888-525-50021-866-505-93771-866-505-93771-866-505-9377
    Hours of OperationM-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    M-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    M-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    M-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    PhoneEmail
    Mailing AddressFax
    Hours of Operation
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone844-770-2400
    Email
    Mailing AddressPO Box 14707
    Clearwater, FL 33766-4707
    Fax
    Hours of Operation
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone(866) 237-3010Email
    Mailing AddressFax
    Hours of OperationMon - Thu: 7:30a-4:00p CT
    Fri: 7:30 - 11:00a CT
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone(866) 237-3010(866) 237-3010(866) 237-3010(866) 237-3010
    Email
    Mailing AddressThe Capitol Life Insurance Company
    P.O. Box 14399
    Lexington, KY 40512-9700
    The Capitol Life Insurance Company
    P.O. Box 14399
    Lexington, KY 40512-9700
    Fax(859) 425-3368(859) 425-3368
    Hours of OperationMon - Fri 7:30a - 5:00p CTMon - Fri 8:00a -5:00p CT (agents)
    Mon - Fri 7:00a -7:00p CT
    Mon - Fri 8:00a -5:00p CT (agents)
    Mon - Fri 7:00a -7:00p CT (policyholders)
    Mon - Fri 7:00a-5:00p CT
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone(833) 504-0331Email
    Mailing AddressFax
    Hours of OperationMon -Thu: 7:30 AM-4:00 PM CST
    Fri: 7:30 AM - 11:00 AM CST
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone(833) 504-0331(833) 504-0331(833) 504-0331(833) 504-0331
    Email
    Mailing AddressAmerican Benefit Life Insurance Company American Benefit Life
    P.O. Box 14399
    Insurance Company
    Lexington, KY 40512-9700
    American Benefit Life Insurance Company
    PO Box 14865
    Lexington, KY 40512-4865
    Fax(833) 380-2777(855) 291-0553(859) 280-1264
    Hours of OperationM-F 7:30 AM-7:00 PM CSTM-F 8:00 AM-5:00 PM CST (policyholders)
    (agents) M-F 7:00 AM-7:00 PM CST
    M-F 7:00 AM-5:00 PM CST
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone800-731-4300Emaildavid.decker@lbig.com
    Mailing Address1605 LBJ FWY Suite 700 Dallas, TX 75234Fax
    Hours of OperationM-F 8:00am-5:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone888-525-4467 opt 1214-245-5292800-604-8002 opt 2800-604-8002 opt 1
    EmailagentNBinfo@life-insurers.comagentsupport@lbig.comcsr@life-insurers.comcsr@life-insurers.com
    Mailing AddressPO Box 224
    Brownwood, TX 76804-0224
    1605 LBJ FWY Suite 700
    Dallas, TX 75234
    ATTN: Lizzie Carmack
    PO Box 224
    Brownwood, TX 76804-0224
    PO Box 224
    Brownwood, TX 76804-0224
    Fax888-525-5002972-247-6291888-525-5002888-525-5002
    Hours of OperationM-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    M-F 8:00am-5:00pmM-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    M-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n Marketing\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
    Phone469-522-4624Emailmjones@lbig.com
    Mailing Address1605 LBJ Freeway
    Suite 700
    Dallas, TX 75234
    Fax
    Hours of OperationM-F 8:00am-5:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone888-525-4467800-731-4300800-604-8002800-604-8002
    Emailnewbiz@life-insurers.com agentsupport@lbig.comcsr@insadmin.comsupphealthclaims@lbig.com
    Mailing AddressPO Box 224
    Brownwood TX 76804-0224
    1605 LBJ Freeway, Suite 700
    Dallas, TX 75234
    PO Box 224
    Brownwood TX 76804-0224
    PO Box 224
    Brownwood TX 76804-0224
    Fax888-525-5002972-247-6291325-643-4043325-643-4043
    Hours of OperationM-F 8:00am-5:00pmM-F 8:00am-5:00pmM-F 8:00am-5:00pmM-F 8:00am-5:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Marketing\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
    Phone469-522-4624Emailmjones@lbig.com
    Mailing Address1605 LBJ Freeway
    Suite 700
    Dallas, TX 75234
    Fax972-247-6291
    Hours of OperationM-F 8:00am-5:00pm CST
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone833-658-2844833-658-2844833-658-2844833-658-2844
    EmailsupphealthNB@lbig.comsupphealthNB@lbig.comsupphealthService@lbig.comsupphealthclaims@lbig.com
    Mailing AddressPO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    Fax336-464-2684336-464-2684336-464-2664336-464-2961
    Hours of OperationM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm EST
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { Profile } from '../../../models/profile';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-documents',\n templateUrl: './documents.component.html',\n styles: [\n ]\n})\nexport class DocumentsPageComponent {\n\n public profile!: Profile;\n private channelUpdate: Subscription;\r\n public message: string = '';\n\n constructor(private router: Router, private siteParmService: SiteParameterService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n if (this.profile.channelPreferenceValue !== 1 && this.profile.channelPreferenceValue !== 2) {\n this.router.navigate(['/home']);\r\n }\n });\n }\n\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","
    \n \n
    \n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\r\nimport { EAppConfig } from '../../../models/eappconfig';\nimport { Profile } from '../../../models/profile';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { environment as env } from '../../../../environments/environment';\nimport { AbstractControl } from '@angular/forms';\r\nimport { SelectListItem } from '../../../models/selectlistitem';\r\n\n@Component({\n selector: 'app-eapp',\n templateUrl: './eapp.component.html',\n styles: [\n ]\n})\nexport class EAppComponent implements OnInit {\n public profile!: Profile;\n public eAppConfiguration!: EAppConfig;\n public eAppEnabled = false;\n public eAppMessage = '';\n public eAppURI = '';\n public isAnnuity = false;\n public isSuppHealth = false;\n public isWebHookConnection = false;\n public isRestricted = false;\n public restrictionMessage = '';\n public disableIllustrate = true;\n public product = '';\n public companyList: Array = Array();\n public company = '0';\n private subscriptionName: Subscription;\n @ViewChild(\"AnnuityEAppForm\") eAppForm!: ElementRef;\n public annuityEAppURL = '';\n public samlResponse = '';\n // Generic Annuity Login with NO access to E App link\n private genericAnnuityLogin: string = 'annuity.advisor@lbig.com';\n\n constructor(private cloudStorageService: CloudStorageService, private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.subscriptionName = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.cloudStorageService.checkeAppStatus(this.profile.channelPreferenceValue).subscribe(eApp => {\n this.eAppEnabled = eApp.enabled && this.profile.emailAddress != this.genericAnnuityLogin;\n this.eAppMessage = eApp.message;\n });\n this.isWebHookConnection = this.profile.channelPreference === 'Supplemental Health [Plus Series]' ||\n this.profile.channelPreference === 'Home Service' || this.profile.channelPreference === 'Home Service [Career]' ? true : false;\n this.isSuppHealth = this.profile.channelPreference === 'Supplemental Health [Plus Series]';\n this.isAnnuity = this.profile.channelPreference === 'Annuity';\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.cloudStorageService.checkeAppStatus(this.profile.channelPreferenceValue).subscribe(eApp => {\n this.eAppEnabled = eApp.enabled && this.profile.emailAddress != this.genericAnnuityLogin;\n this.eAppMessage = eApp.message;\n this.isWebHookConnection = this.profile.channelPreference === 'Supplemental Health [Plus Series]' ||\n this.profile.channelPreference === 'Home Service' || this.profile.channelPreference === 'Home Service [Career]' ? true : false;\n this.isSuppHealth = this.profile.channelPreference === 'Supplemental Health [Plus Series]';\n this.isAnnuity = this.profile.channelPreference === 'Annuity';\n });\n this.cloudStorageService.getUserRestriction(this.profile.userId, 'EApp')\n .pipe(take(1))\n .subscribe(restriction => {\n this.restrictionMessage = restriction.message;\n this.isRestricted = this.restrictionMessage != '';\n });\n this.annuityEAppURL = env.dev.annuityEAppURL;\n }\n login(isProd: boolean): void {\n if (!this.isRestricted) {\n this.trackEvent(isProd ? 1 : 2);\n this.cloudStorageService.getEAppURI(this.profile.auth0Id, isProd)\n .pipe(take(1))\n .subscribe(eApp => {\n if (eApp.uri) {\n this.eAppURI = eApp.uri;\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = this.eAppURI;\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n }\n });\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n goToApp(isProd: boolean): void {\n if (!this.isRestricted) {\n if (this.profile.channelPreference === 'Supplemental Health [Plus Series]') {\n let tappURL = isProd ? env.dev.tappUrl : env.dev.tappUrl + \"?trainingmode=1\";\n window.open(tappURL, '_blank');\n } else {\n let mrsURL = isProd ? env.dev.mrsHomeServiceUrl : env.dev.mrsHomeServiceUrl + \"?trainingmode=1\";\n window.open(mrsURL, '_blank');\r\n }\n this.trackEvent(isProd ? 1 : 2);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n returnToApp(): void {\n if (!this.isRestricted) {\n let mrsURL = env.dev.mrsSuppHealthUrl;\n window.open(mrsURL, '_blank');\n this.trackEvent(3);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n viewCompletedApp(): void {\n if (!this.isRestricted) {\n let mrsURL = env.dev.mrsSuppHealthUrl;\n window.open(mrsURL, '_blank');\n this.trackEvent(4);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n trackEvent(eventId: number): void {\n this.onPremService.trackEvent(eventId, this.profile.auth0Id, '', this.profile.selectedAgentNumber, this.profile.channelPreferenceValue)\r\n .pipe(take(1))\r\n .subscribe();\r\n }\n openIllustration(): void {\n let companyName = '';\n\n switch (this.company) {\r\n case '1':\r\n companyName = 'LBL';\r\n break;\r\n\r\n case '2':\r\n companyName = 'CLIC';\r\n break;\r\n }\n\n this.onPremService.getAgentDetail(this.profile.selectedAgentNumber)\n .pipe(take(1))\n .subscribe(apiResponse => {\n let firstName = apiResponse.data.length > 0 ? apiResponse.data[0].firstName : '';\n let lastName = apiResponse.data.length > 0 ? apiResponse.data[0].lastName : '';\n const params = `c=${companyName}&FirstName=${firstName}&LastName=${lastName}`;\n var url = `https://myportal.lbig.com/illustrations-new/${this.product}?` + params;\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = url;\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n }\n onProductChange(formProductCtrl: AbstractControl) {\r\n this.product = formProductCtrl.value;\r\n this.company = '0';\r\n\r\n this.companyList.splice(0, this.companyList.length);\r\n\r\n switch (this.product) {\r\n case 'spiaIllustrations.php':\r\n this.companyList.push(({ value: 1, text: 'Liberty Bankers Life' }));\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n case 'deferredIllustrations.php':\r\n this.companyList.push(({ value: 1, text: 'Liberty Bankers Life' }));\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n case 'fiaIllustrations.php':\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n default:\r\n this.companyList.splice(0, this.companyList.length); \r\n }\r\n\r\n if (this.product != '' && this.company != '0') {\r\n this.disableIllustrate = false;\r\n }\r\n else {\r\n this.disableIllustrate = true;\r\n }\r\n }\n onCompanyChange(formCompanyCtrl: AbstractControl) {\r\n this.company = formCompanyCtrl.value;\r\n\r\n if (this.product != '' && this.company != '0') {\r\n this.disableIllustrate = false;\r\n }\r\n else {\r\n this.disableIllustrate = true;\r\n }\r\n }\n openAnnuityEApp(): void {\n this.cloudStorageService.getEncryptedSaml(this.annuityEAppURL, this.profile.auth0Id, this.profile.displayName, this.profile.emailAddress)\n .pipe(take(1))\n .subscribe(resp => {\n this.samlResponse = resp.content;\n setTimeout((_: any) => this.eAppForm.nativeElement.submit());\n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","
    \n
    \n

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

    New Business E-Application System

    \n
    \n
    \n

    Demo the E-App in \"Training\" Mode

    \n
    \n
    \n
    \n
    \n

    We're making it easier for you and your clients to submit an electronic application! With our new E-App, you are able to use quick fill-and-sign features, can work on it remotely or in-person and eliminate applications that are not in good order.

    \n
    \n
    \n

    First time using the E-App? Use the Training mode to try out a test case and make sure you are comfortable before working with your client.

    \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

    Resume Pended New Business Application

    \n
    \n
    \n

    View Recently Submitted Applications
    (Submitted in the Past 30 Days)

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

    If you started an E-Application but did not finish, click here to resume and select your case from the list to continue.

    \n
    \n
    \n
    \n
    \n

    \n If you have questions regarding information submitted on a recently completed application, click here. Please note changes cannot\n be made to completed applications, this feature is for reference only.\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 Quote\n

    \n
    \n
    \n
    \n

    Select to use our comprehensive system to create quotes for Deferred, Fixed Indexed and SPIA annuities.

    \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 Apply\n

    \n
    \n
    \n
    \n

    Select to submit an E-App for Deferred and FIA Annuities.

    \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { environment as env } from '../../../../environments/environment';\n\n\n@Component({\n selector: 'app-eapp-redirect',\n templateUrl: './eappredirect.component.html',\n styles: [\n ]\n})\nexport class EAppRedirectComponent implements OnInit {\n caseId: string | null = \"\";\n constructor(private router: Router, private route: ActivatedRoute) { }\n\n\n ngOnInit(): void {\n var url = new URL(window.location.href);\n var caseId = url.searchParams.get(\"case\") as string;\n\n if (caseId !== \"\")\n this.router.navigate([\"/redirecting\"]).then(result =>\n {\r\n window.location.href = `${env.dev.eAppRedirectUrlPart1 + encodeURIComponent(env.dev.eAppRedirectUrlPart2 + caseId)}`;\n });\n }\n}\n","\r\n\r\n\r\n \r\n EApp Redirect\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { RowSelectedEvent } from 'ag-grid';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, Subscription } from 'rxjs';\nimport { Profile } from '../../../models/profile';\nimport { searchParams } from '../../../models/searchParams';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { DatePipe } from '@angular/common';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\n selector: 'app-formPage',\n templateUrl: './forms.component.html',\n styles: [\n ]\n})\nexport class FormsPageComponent implements OnInit {\n public showSpinner = false;\n public combineForms = false;\n public showSearch = false;\n public showHeaderText = false;\n public profile!: Profile;\n public parms!: searchParams;\n public headerText = \"\";\n public description = \"\";\n public state = \"0\";\n public company = \"0\";\n public product = \"0\";\n public formClass = \"0\";\n public type = \"0\";\n public forms$?: Observable;\n public combineDisabled = true;\n public individualDisabled = true;\n public sendEmailDisabled = false;\n private nodeCount: number = 0;\n private gridApi: any;\n private gridColumnApi: any;\n private channelUpdate: Subscription;\n columnDefs = [\n {\r\n checkboxSelection: true, headerCheckboxSelection: true, cellRenderer: (params: any) => {\r\n params.node.setSelected(params.node!.data.preselected)\r\n }, maxWidth: 50\r\n },\n { field: 'description', headerName: 'Form Name' },\n { field: 'number', headerName: 'Number', filter: 'agTextColumnFilter' },\n { field: 'lastUpdate', headerName: 'Last Updated' },\n { field: 'company', headerName: 'Company', filter: 'agTextColumnFilter' },\n { field: 'class', headerName: 'Form Class', filter: 'agTextColumnFilter' },\n { field: 'type', headerName: 'Form Type', filter: 'agTextColumnFilter' },\n { field: 'product', headerName: 'Product', filter: 'agTextColumnFilter' }\n ];\n defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n // Generic Annuity Login with NO access to Send Email button\n private genericAnnuityLogin: string = 'annuity.advisor@lbig.com';\n\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService, public datepipe: DatePipe) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n this.getSearchParmsAndMessage();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getSearchParmsAndMessage();\n }\n getSearchParmsAndMessage(): void {\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.cloudStorageService.getSearchParms(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(parms => {\n this.parms = parms;\n });\n this.cloudStorageService.getChannel(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(channel => {\n this.headerText = channel.formsPageMessage;\n this.showHeaderText = channel.formsPageMessage == null ? false : true;\n });\n }\n searchForms(): void {\n this.showSearch = true;\n this.showSpinner = false;\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n let stateSearch = \"0\";\n this.company = \"0\";\n\n if (this.state.indexOf(\":\") > -1) {\n const stateCompanyArray = this.state.split(\":\");\n stateSearch = stateCompanyArray[0];\n this.company = stateCompanyArray[1];\n }\n\n this.forms$ = this.cloudStorageService.searchForms(selectedBusinessChannel, this.description, this.formClass, stateSearch, this.type, this.product, this.company);\n }\n resetSearch(): void {\n this.description = \"\";\n this.state = \"0\";\n this.company = \"0\";\n this.product = \"0\";\n this.formClass = \"0\";\n this.type = \"0\";\n this.showSearch = false;\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n this.gridApi.sizeColumnsToFit();\n }\n downloadForms() {\n this.showSpinner = true;\n const selectedNodes = this.gridApi.getSelectedNodes();\n var selectedFiles: string[] = [];\n var company = '';\n var formNumber = '';\n var container = '';\n const date = new Date();\n const currentDateTime = this.datepipe.transform(date, 'yyyyMMddhhmm');\n this.nodeCount = selectedNodes.length;\n if (this.combineForms) {\n selectedNodes.forEach((node: any) => { selectedFiles.push(node.data.fileName), company = node.data.company, formNumber = node.data.number, container = node.data.containerName });\n this.cloudStorageService.downloadCombinedForms(selectedFiles, container)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.showSpinner = false;\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData, { type: 'application/pdf' });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n if (company != null) { a.download = 'FormsPackage' + \"_\" + company + \"_\" + currentDateTime + \".pdf\"; }\n else { a.download = 'FormsPackage' + \"_\" + currentDateTime + \".pdf\"; }\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n } else {\n selectedNodes.forEach((node: any) => {\n selectedFiles = [];\n selectedFiles.push(node.data.fileName);\n this.cloudStorageService.downloadCombinedForms(selectedFiles, node.data.containerName)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.showSpinner = false;\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData, { type: 'application/pdf' });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.download = node.data.description + \"_\" + node.data.number + \"_\" + node.data.company + \"_\" + currentDateTime + \".pdf\";\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n });\n }\n }\n emailForms() {\n this.showSpinner = true;\n const selectedNodes = this.gridApi.getSelectedNodes();\n const selectedFiles: string[] = [];\n let container = '';\n selectedNodes.forEach((node: any) => { selectedFiles.push(node.data.fileName), container = node.data.containerName });\n this.nodeCount = selectedNodes.length;\n this.cloudStorageService.emailForms(selectedFiles, container, this.profile.emailAddress, this.combineForms)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.toastr.success('The selected files were sent to your email address', 'Forms Sent', {\n positionClass: 'toast-email-info', tapToDismiss: true, timeOut: 0\n });\n this.showSpinner = false;\n });\n }\n onRowSelected(event: any) {\n const nodeCount = this.gridApi.getSelectedNodes().length;\n this.individualDisabled = nodeCount < 1 ? true : false;\n this.combineDisabled = nodeCount > 1 ? false : true;\n\n this.sendEmailDisabled = this.profile.emailAddress === this.genericAnnuityLogin;\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\r\n this.channelUpdate.unsubscribe();\r\n }\n}\n","
    \r\n
    \r\n
    \r\n

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

    \r\n Search\r\n

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

    \r\n Search Results (1 Form)\r\n Search Results (0 Forms)\r\n Search Results ({{(forms$ | async)?.length}} Forms)\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n   \r\n    \r\n   \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { Profile } from '../../../models/profile';\nimport { ToastrService } from 'ngx-toastr';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { AgentLinkResponse } from '../../../models/agentLinkResponse';\nimport { AgentLink } from '../../../models/agentLink';\nimport { AuthService } from '@auth0/auth0-angular';\r\nimport { Router } from '@angular/router';\r\nimport { take } from 'rxjs/operators';\r\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n})\nexport class HomeComponent implements OnInit {\n profile!: Profile;\n linkedAgentResponse!: AgentLinkResponse;\n linkedAgents!: AgentLink[];\n public showLinkMessage = false;\n public showFirstTimeMessage = false;\n \n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService, public cloudStorageService: CloudStorageService, private toastr: ToastrService, private router: Router) { }\n\n ngOnInit(): void {\n \n if (!this.siteParmService.profileLoadComplete) {\n this.siteParmService.loadProfile()\n .pipe(take(1))\n .subscribe(f => {\n this.profile = this.siteParmService.getStaticProfile();\n if (this.profile.agents.length < 1) {\n this.showLinkMessage = true\n }\n else {\n this.profile = this.siteParmService.getStaticProfile();\n if (this.profile.updateRequired)\n {\n this.onPremService.getAgentList().subscribe(agents => {\n this.linkedAgents = agents;\n this.linkedAgentResponse = {\n auth0Id: this.profile.auth0Id, linkIdentities: this.linkedAgents, responseCode: 0, emailAddress: '', eAppUser: [{clientID: '', clientSecret: '', name: '', username: ''}] };\n this.cloudStorageService.updateLinkedAgents(this.linkedAgentResponse)\n .pipe(take(1))\n .subscribe(p => {\n if (p.agents.length < 1) {\n this.showLinkMessage = true;\n //this.siteParmService.setProfile({}); //clear out cached profile\n this.siteParmService.sendunlinkedAgentUpdate('all linked agents have been removed');\r\n this.router.navigate(['']);\r\n } else {\n this.siteParmService.setProfile(p);\r\n } \r\n });\n });\n }\n if (this.profile && !this.profile.homeVisited) {\n this.toastr.info('The top navigation bar provides access to different business channels, system status and your profile. Your Profile is used to set the default business channel. ', 'Information', {\n positionClass: 'toast-nav-info', tapToDismiss: true, timeOut: 0\n });\n } \n this.cloudStorageService.updatePageVisited(this.profile.auth0Id, 1)\n .pipe(take(1))\n .subscribe((resp: boolean) => { });\n }\n });\n } else {\n var agents = this.siteParmService.getStaticProfile().agents;\n if (agents.length === 0) { this.showLinkMessage = true }\n }\n }\n}\n","
    \n \n
    \n
    \n
    \n

    How Does This Thing Work?

    \n
    \n
    \n

    Since this is your first time take a look at the top right corner of the screen. The first menu item allows you to change your business channel. The second menu item provides access to your profile.

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

    How Do I See My Agent Data?

    \n
    \n
    \n

    Your account profile is not yet linked to your Liberty Agent IDs. In order to view your specific agent information – including policy details, commission data, and reports – please click the button below to perform a one-time link so that your login profile can be securely associated with your agent contracts.

    \n
    \n
    \n \n
    \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n})\nexport class LoginPageComponent implements OnInit { \n public loginRedirect = false;\n public disableSignUp = false;\n constructor(public auth: AuthService) { }\n \n ngOnInit(): void {\n }\n login(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, registration_code: '123456789' });\n \n }\n signup(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' }, screen_hint: 'signup' });\n\n }\n}\n","
    \n
    \n
    \n
    \n
    \n
    \n

    Agent/Producer Portal

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

    New Sign Ups are not available at this time.

    \n
    \n
    \n
    \n
    \n

    \n If this is your first time logging in to this portal, you will need to create an account first by using\n the “Sign Up” button. Once created and logged in, you will be prompted to perform a one-time link using one of your LBIG Agent IDs so\n that you can have access to all of your Agent IDs and data. Please make sure to use your full Agent ID for successful linking.\n

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

    \n \n If you are interested in becoming a contracted agent, we’d love to connect with\n you and discuss how you can be part of providing insurance and financial protection to your clients … For Life. Please contact us at 800-731-4300 for full details.\n \n

    \n
    \n
    \n
    \n
    \n

    This site is intended for sole use by contracted agent producers of Liberty Bankers Insurance Group and any of its affiliate companies. By entering the site, you agree to abide by its Terms of Use.

    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, Subscription } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { Profile } from '../../../models/profile';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-products',\n templateUrl: './products.component.html',\n styleUrls: ['./products.component.css']\n})\nexport class ProductsComponent implements OnInit {\n profile!: Profile;\n private channelUpdate: Subscription;\n public selectedBusinessChannel: number = 0;\n public showFront = false;\n public showBack = false;\n public showForAnnuity = false;\n public hideFromAnnuityBank = false;\n public channelProduct!: channelProduct;\n public sections!: channelProduct[];\n\n public slides: Array = [];\n\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.displayPreference();\n this.getProducts();\n });\n }\n ngAfterViewInit(): void {\n $('#menu li a').click(function () {\n if (this.parentElement?.className.indexOf('dropdown') == -1) {\n $('#menu').find(\"*\").removeClass(\"router-link-active\");\n $(this).addClass('router-link-active');\n }\n });\n if (this.profile) {\n if (!this.profile.productOverviewSelected) {\n $('#channel-tab').addClass('router-link-active');\n $('#Channel').addClass('tab-pane active');\n } else {\n $('#overview-tab').addClass('router-link-active');\n $('#Overview').addClass('tab-pane active');\n }\n } else {\n $('#overview-tab').addClass('router-link-active');\n $('#Overview').addClass('tab-pane active');\n }\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.displayPreference();\n this.getProducts();\n if (this.profile.agents.length > 0) {\n if (!this.profile.productsVisited) {\n this.toastr.info('The navigation toggle here provides detailed information for the currently selected business channel ', 'Information', {\n positionClass: 'toast-product-info', tapToDismiss: true, timeOut: 0\n });\n this.profile.productsVisited = true;\n this.siteParmService.setProfile(this.profile);\n }\n this.cloudStorageService.updatePageVisited(this.profile.auth0Id, 2)\n .pipe(take(1))\n .subscribe((resp: boolean) => { });\n } else {\n $('#overview-tab').addClass('router-link-active');\n $('#Overview').addClass('tab-pane active');\n }\n }\n getProducts(): void {\n this.selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.cloudStorageService.getProductsByChannel(this.selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(productList => {\n this.channelProduct = productList;\n this.slides.length = 0;\n for (var i = 0; i < productList.products.length; i++) {\r\n this.slides.push(productList.products[i].title)\r\n }\n });\n this.cloudStorageService.getProductSectors()\n .pipe(take(1))\n .subscribe(sections => {\n this.sections = sections;\n });\n }\n updatePreference(overview: boolean) {\n if (this.profile) {\n this.profile.productOverviewSelected = overview;\n this.siteParmService.setProfile(this.profile);\n this.cloudStorageService.updatePreference(\"Product\", this.profile.auth0Id, overview).subscribe((resp: boolean) => { });\n }\n }\n displayPreference(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.showForAnnuity = this.profile.channelPreference === 'Annuity';\n this.hideFromAnnuityBank = this.profile.channelPreference === 'Annuity [Bank]';\r\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n

    {{sections[0].description}}

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

    {{product.title}}

    \n
    \n
    \n

    {{product.description}}

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

    {{sections[1].description}}

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

    {{product.title}}

    \n
    \n
    \n

    {{product.description}}

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

    {{sections[2].description}}

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

    {{product.title}}

    \n
    \n
    \n

    {{product.description}}

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

    \n {{channelProduct.channelHeadline}}\n

    \n
    \n
    \n
    \n
    \n

    \n
    \n
    \n
    \n \n
    0\" class=\"row justify-content-center mt-2\">\n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n \n
    \n
    \n

    {{product.title}}

    \n

    \n
    \n

    Product Details

    \n
    \n \n \n \n \n \n \n \n
    {{feature.title}}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Profile } from '../../../models/profile';\nimport { profileOptions } from '../../../models/profileOptions';\nimport { Subscription } from 'rxjs';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { ToastrService } from 'ngx-toastr';\nimport { take } from 'rxjs/operators';\r\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n private setDefaultAgentUpdate: Subscription; //important to create a subscription\n private setDefaultChannelUpdate: Subscription; //important to create a subscription\n public profile!: Profile;\n public profileOptions!: profileOptions;\n public displayName = \"\";\n private defaultAgentId = \"\";\n private defaultChannel = \"\";\n constructor(public auth: AuthService, public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService) {\n this.setDefaultAgentUpdate = this.siteParmService.getDefaultAgentUpdate().subscribe\n (message => {\n this.defaultAgentId = message.value;\n });\n this.setDefaultChannelUpdate = this.siteParmService.getDefaultChannelUpdate().subscribe\n (message => {\n this.defaultChannel = message.value;\n });\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.defaultAgentId = this.profile.selectedAgentNumber;\n this.displayName = this.profile.displayName;\n this.cloudStorageService.getProfileOptions(this.profile.auth0Id)\n .pipe(take(1))\n .subscribe((resp: any) => {\n this.profileOptions = resp;\n });\r\n }\n onSubmit(formData: any): void {\n this.cloudStorageService.updateProfile(this.profile.auth0Id, this.defaultAgentId, this.displayName)\n .pipe(take(1))\n .subscribe((resp: any) => {\n this.profile.defaultAgentNumber = this.defaultAgentId;\n this.profile.selectedAgentNumber = this.defaultAgentId;\n this.profile.channelPreference = this.defaultChannel;\n this.profile.displayName = this.displayName;\n this.siteParmService.setProfile(this.profile);\n this.toastr.success('Profile Successfully Updated', 'Update', {\n positionClass: 'toast-bottom-center'\n });\n this.siteParmService.sendParmServiceInit(null);\n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.setDefaultAgentUpdate.unsubscribe();\n this.setDefaultChannelUpdate.unsubscribe();\n }\n}\n","\n
    \n
    \n
    \n
    \n

    \n Profile Settings\n

    \n
    \n
    \n
    \n \"User's\n
    \n

    {{profile.emailAddress}}

    \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';\r\nimport { Subscription } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { Profile } from '../../../models/profile';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-rates',\n templateUrl: './rates.component.html',\n styles: [\n ]\n})\nexport class RatesPageComponent implements OnInit {\n\n public profile!: Profile;\n private channelUpdate: Subscription;\r\n public channelId: number = 0;\r\n public message: string = '';\n\n constructor(private router: Router, private siteParmService: SiteParameterService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n if (this.profile.channelPreferenceValue !== 1 && this.profile.channelPreferenceValue !== 2) {\n this.router.navigate(['/home']);\r\n }\n this.channelId = this.profile.channelPreferenceValue;\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.channelId = this.profile.channelPreferenceValue;\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","
    \n \n
    \n
    \n \n
    \n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\n selector: 'app-redirecting',\n templateUrl: './redirecting.component.html',\n styles: [\n ]\n})\nexport class RedirectingComponent {\n constructor() { }\n}\n","\r\n\r\n\r\n \r\n Redirecting\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terms',\n templateUrl: './terms.component.html',\n styles: [\n ]\n})\nexport class TermsPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n
    \n

    Terms of Use

    \n
    \n

    \n Please read these Terms of Use carefully before using this site. By using this site, you signify your agreement with these Terms of Use. If you do not agree with any of the Terms of Use listed below, do not use this site. LBL reserves the right, at its sole discretion, to modify,\n alter or otherwise update these Terms of Use at any time and you agree to be bound by such modifications, alterations or updates.\n

    \n\n

    \n This site is controlled and operated by Liberty Bankers Life Insurance Company (LBL), 1605 LBJ Freeway, Suite 710, Dallas, Texas 75234. Our telephone number is (800) 745-4927. All material on this site, including but not limited to images, illustrations, audio clips, and video clips,\n is protected by copyrights which are owned and controlled by LBL or by other parties that have licensed their material to us (“Copyrights”). Material from LibertyBankers.com, LibertyBankersAdvisors.com or any web site owned, operated, licensed or controlled by LBL may not be copied, reproduced,\n republished, uploaded, posted, transmitted, or distributed in any way without our written consent. Modification of the materials or use of the materials for any other purpose is a violation of the copyrights and other proprietary rights. Persons or entities that maintain their own web site(s) may not link to any web site operated by LBL without our written permission,\n signed by an authorized officer of the company.\n

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

    Disclosure

    \n

    \n The information contained herein is provided solely for general informational purposes and is not intended to be a solicitation or an offer to sell in connection with any product or service, nor is the information a complete description of all terms,\n conditions and exclusions applicable to the products and services described. For complete descriptions of the terms, conditions and exclusions of insurance coverages or other products or services, please contact your LBL agent or the LBL Home Office. Products and services referenced here in may not be available in all states.\n

    \n\n

    \n We may provide links to other Internet sites that are not maintained by LBL. Such external Internet addresses contain information created, published, maintained or otherwise posted by organizations and entities independent of LBL. LBL is not responsible for the content of those sites nor does it approve, endorse or certify\n information available at any external site or linked addresses contained herein. The links are for your convenience only and you use them at your own risk.\n

    \n\n

    © Copyright 2021 Liberty Bankers Life Insurance Company, Dallas, Texas. All rights reserved. No part of this site may be reproduced without written permission from LBL.

    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit, AfterViewInit } from '@angular/core';\nimport { RowSelectedEvent } from 'ag-grid';\nimport { ToastrService } from 'ngx-toastr';\nimport { Subscription } from 'rxjs';\nimport { Profile } from '../../../models/profile';\nimport { trainingcontent } from '../../../models/trainingcontent';\nimport { trainingdisplay } from '../../../models/trainingdisplay';\nimport { trainingdisplayitem } from '../../../models/trainingdisplayitem';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport * as moment from 'moment';\nimport { take } from 'rxjs/operators';\r\n@Component({\n selector: 'app-training',\n templateUrl: './training.component.html',\n styles: [\n ]\n})\nexport class TrainingComponent implements OnInit {\n public profile!: Profile;\n private channelUpdate: Subscription;\n private gridApi1: any;\n private gridColumnApi1: any;\n private gridApi2: any;\n private gridColumnApi2: any;\n public training!: trainingdisplay;\n public showGroup: boolean = true;\n public showList: boolean = false;\n public showNew: boolean = false;\n public overViewList: trainingcontent[] = [];\n public channelList: trainingcontent[] = [];\n public activeFilter: string = 'Category';\n public overviewGroupList: trainingdisplayitem[] = [];\n public channelGroupList: trainingdisplayitem[] = [];\n public overviewNewList: trainingdisplayitem[] = [];\n public channelNewList: trainingdisplayitem[] = [];\n columnDefs = [\n {\n field: 'icon', sortable: true, headerName: 'Type',\n cellRenderer: function (params: any) {\n return ''\n }\n },\n { field: 'title', sortable: true, headerName: 'Name' },\n { field: 'description', sortable: true, headerName: 'Description' },\n {\n field: 'startDate', sortable: true, headerName: 'Date' \n }\n ];\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.getTraining();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getTraining();\n if (!this.profile.trainingVisited) {\n this.toastr.info('The navigation toggle here provides detailed information for the currently selected business channel. You can also sort and filter by using the dropdown to the right ', 'Information', {\n positionClass: 'toast-product-info', tapToDismiss: true, timeOut: 0\n });\n this.profile.trainingVisited = true;\n this.siteParmService.setProfile(this.profile);\n }\n this.cloudStorageService.updatePageVisited(this.profile.auth0Id, 3)\n .pipe(take(1))\n .subscribe((resp: boolean) => { });\n }\n ngAfterViewInit(): void {\n $('#menu li a').click(function () {\n if (this.parentElement?.className.indexOf('dropdown') == -1) {\n $('#menu').find(\"*\").removeClass(\"router-link-active\");\n $(this).addClass('router-link-active');\n }\n });\n if (this.profile.agents.length > 0) {\n if (!this.profile.trainingOverviewSelected) {\n $('#tchannel-tab').addClass('router-link-active');\n $('#tChannel').addClass('tab-pane active');\n } else {\n $('#toverview-tab').addClass('router-link-active');\n $('#tOverview').addClass('tab-pane active');\n }\n } else {\n $('#toverview-tab').addClass('router-link-active');\n $('#tOverview').addClass('tab-pane active');\n }\n }\n getTraining(): void {\n var selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.cloudStorageService.getTraining(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(training => {\n this.training = training;\n this.overViewList = this.training.overviewList;\n this.channelList = this.training.channelList;\n if (this.activeFilter == 'Category') {\n this.overviewGroupList = this.training.overviewByCategory;\n this.channelGroupList = this.training.channelByCategory;\n } else {\n this.overviewGroupList = this.training.overviewByType;\n this.channelGroupList = this.training.channelByType;\n }\n this.channelNewList = this.training.channelNew;\n this.overviewNewList = this.training.overviewNew;\n });\n }\n toggleView(name: string) {\n this.activeFilter = name;\n switch (name) {\n case 'Category':\n this.showGroup = true;\n this.showList = false;\n this.showNew = false;\n this.overviewGroupList = this.training.overviewByCategory;\n this.channelGroupList = this.training.channelByCategory;\n break;\n case 'Type':\n this.showGroup = true;\n this.showList = false;\n this.showNew = false;\n this.overviewGroupList = this.training.overviewByType;\n this.channelGroupList = this.training.channelByType;\n break;\n case 'Name':\n this.showGroup = false;\n this.showList = true;\n this.showNew = false;\n break;\n case 'Latest':\n this.showGroup = false;\n this.showList = false;\n this.showNew = true;\n break;\n }\n }\n onGrid1Ready(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n this.gridApi1.sizeColumnsToFit();\n }\n onGrid2Ready(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n this.gridApi2.sizeColumnsToFit();\n }\n getItem(url: string): void {\n window.open(url, '_blank');\n }\n onRowClicked(event: RowSelectedEvent) {\n window.open(event.data.linkUrl, '_blank');\n }\n updatePreference(overview: boolean) { \n this.profile.trainingOverviewSelected = overview;\n this.siteParmService.setProfile(this.profile);\n this.cloudStorageService.updatePreference(\"Training\", this.profile.auth0Id, overview)\n .pipe(take(1))\n .subscribe((resp: boolean) => { });\n this.gridApi1.sizeColumnsToFit();\n this.gridApi2.sizeColumnsToFit();\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.channelUpdate.unsubscribe();\n }\n}\n","
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{group.title}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    {{item.title}}
    \n
    {{item.description}} 
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{group.title}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    {{item.title}}
    \n
    {{item.description}} 
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{group.title}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    {{item.title}}
    \n
    {{item.description}} 
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    {{group.title}}

    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n
    {{item.title}}
    \n
    {{item.description}} 
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { UserGrid } from '../../../models/userGrid';\nimport { GridApi } from 'ag-grid-enterprise';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { Observable } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\n\n@Component({\n selector: 'app-userlist',\n templateUrl: './userslist.component.html',\n styles: [\n ]\n})\nexport class UserListPageComponent implements OnInit {\n public users$?: Observable\n private gridApi!: GridApi;\n\n public columnDefs = [\n {\n headerName: 'Select',\n width: 30,\n checkboxSelection: true,\n cellStyle: { 'pointer-events': 'none' },\n field: 'selected'\n },\n { headerName: 'Email', width: 100, field: 'email' },\n { headerName: 'Name', width: 100, field: 'name' },\n { headerName: 'E-App UserName', width: 100, field: 'eAppUserName' },\n { headerName: `Agent ID's`, field: 'lnkAgentIds' },\n {\r\n headerName: 'User Id', field: 'userId', hide: true,\n // this is needed to hide field from Quick Filter\n getQuickFilterText: (params: any) => {\r\n return null;\r\n }\n }\n ];\n public defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n constructor(public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) { }\n\n ngOnInit(): void {\n this.users$ = this.cloudStorageService.getUserList();\n }\n\n onSearchChanged() {\n this.gridApi.setQuickFilter(\n (document.getElementById('search') as HTMLInputElement).value\n );\n }\n\n onRowSelected(event: any) {\n if (event.node.selected) {\n this.cloudStorageService.getImpersonationProfile(event.data.userId)\n .pipe(take(1))\n .subscribe((resp: any) => {\n this.siteParmService.setProfile(resp);\n this.siteParmService.sendImpersonationUpdate(resp);\n });\n }\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n params.api.sizeColumnsToFit();\n }\n}\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { DOCUMENT } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { SelectListItem } from '../../../models/selectlistitem';\nimport { Profile } from '../../../models/profile';\nimport { APIResponse } from '../../../models/apiresponse';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\n\n@Component({\n selector: 'app-nav-bar',\n templateUrl: './nav-bar.component.html',\n styleUrls: ['./nav-bar.component.css'],\n})\nexport class NavBarComponent implements OnInit {\n public profile!: Profile;\n public messageReceived: any;\n public showImpersonation = false;\n public showAdmin = false;\n public showEAppLink = false;\n public showContactUsLink = false;\n public showDocumentLink = false;\n public showCollectionsLink = false;\n public showZoomControls = false;\n public showRatesLink = false;\n public systemStatus = '';\n public systemStatusBadgeText = \"\";\n public systemStatusColor = \"\";\n public notices: any[] = [];\n public profileComplete = false;\n public initialChannelValue: number = 0;\n public apiResponse!: APIResponse;\n getImpersonationUpdate!: Subscription;\n getParmServiceInit!: Subscription;\n getUnlinkedAgentUpdate!: Subscription;\n currChromeZoom: number = 100;\n currFireFoxZoom: number = 1;\r\n currZoomValue: string = '100%';\n // Generic Annuity Login with NO access to Document Upload\n private genericAnnuityLogin: string = 'annuity.advisor@lbig.com';\n\n constructor(private onPremService: OnPremStorageService, public auth: AuthService, private siteParmService: SiteParameterService, @Inject(DOCUMENT) private doc: Document) {\n this.getImpersonationUpdate = this.siteParmService.getImpersonationUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n this.siteParmService.sendChannelUpdate(message.channelPreferenceValue);\n });\n this.getParmServiceInit = this.siteParmService.getParmServiceInit().subscribe(message => {\n this.profile = siteParmService.getStaticProfile();\n if (this.profile.agents.length > 0) {\n if (this.profile.permissions && this.profile.permissions.find(x => x === \"read:impersonation\")) {\n this.showImpersonation = true;\n }\n if (this.profile.permissions && this.profile.permissions.find(x => x === \"edit:associations\" || x === \"read:link-code\" || x === \"read:statements\")) {\n this.showAdmin = true;\n }\n this.profileComplete = true;\n this.siteParmService.sendAgentUpdate(this.profile.selectedAgentNumber);\n } else {\n this.auth.user$.subscribe(profile => {\n if (profile.sub) {\n this.profile = {};\n this.profile.displayName = profile.nickname;\n }\n });\n }\n this.setShowEAppLink(this.profile.channelPreferenceValue);\n this.setShowContactUsLink(this.profile.channelPreferenceValue);\n this.setShowDocumentsLink(this.profile.channelPreferenceValue);\n this.setShowCollectionsLink(this.profile.channelPreferenceValue);\n this.setShowRatesLink(this.profile.channelPreferenceValue);\n });\n this.getUnlinkedAgentUpdate = this.siteParmService.getunlinkedAgentUpdate().subscribe(message => { \n this.profileComplete = false;\n this.auth.user$.subscribe(profile => {\n if (profile.sub) {\n this.profile = {};\n this.profile.displayName = profile.nickname;\n }\n });\n });\n }\n ngOnInit(): void {\n this.profile = {};\n setInterval(() => {\n this.onPremService.systemStatus()\n .subscribe({\n next: (apiResponse) => {\n this.apiResponse = apiResponse;\n this.notices = apiResponse.data.notices;\n this.systemStatus = apiResponse.data.status.message;\n if (this.notices.length > 0) {\n this.systemStatusColor = apiResponse.data.status.color;\n this.systemStatusBadgeText = this.notices.length.toString();\n } else { this.systemStatusBadgeText = \"\"; }\n },\n error: (err: any) => {\n this.systemStatusBadgeText = \"1\";\n this.systemStatusColor = \"warning\";\n let errorNotice = { description: 'API Issue', message: 'Limited Functionality due to connectivity issues' }\n this.notices[0] = errorNotice;\n }\n });\n },\n 5000);\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.getImpersonationUpdate.unsubscribe()\n this.getParmServiceInit.unsubscribe();\n this.getUnlinkedAgentUpdate.unsubscribe();\n }\n logout(): void {\n this.auth.logout({ returnTo: this.doc.location.origin });\n }\n loginWithRedirect(): void {\n this.auth.loginWithRedirect({ appState: { target: '/home' } });\n }\n changeChannel(selectedchannel: number, selectedDescription: string): void {\n this.profile.channelPreference = selectedDescription;\n this.profile.channelPreferenceValue = selectedchannel;\n if (this.profile.agents) {\n var agent = this.profile.agents.find(x => x.channel == selectedchannel);\n this.profile.selectedAgentNumber = agent?.agentNumber || \"\";\n }\n this.siteParmService.setProfile(this.profile);\n this.siteParmService.sendChannelUpdate(selectedchannel);\n //this.setShowDocumentsLink(this.profile.channelPreferenceValue);\n }\n setShowEAppLink(selectedchannel: number): void {\n if (selectedchannel) {\n this.showEAppLink = selectedchannel === 2 ? false : true;\n }\r\n }\n setShowContactUsLink(selectedchannel: number): void {\n if (selectedchannel) {\n this.showContactUsLink = selectedchannel === 2 ? false : true;\n }\r\n }\n setShowDocumentsLink(selectedchannel: number): void {\n // DISABLED UNTIL Landmark is Ready\n if (selectedchannel) {\n this.onPremService.getFileTargetList(selectedchannel).subscribe(resp => {\n if (resp.count.valueOf() == \"0\" || this.profile.emailAddress === this.genericAnnuityLogin) {\n this.showDocumentLink = false;\n }\n else\n this.showDocumentLink = true;\n });\r\n }\r\n }\n setShowCollectionsLink(selectedchannel: number): void {\n if (selectedchannel) {\n if (selectedchannel === 3 || selectedchannel === 4) {\n this.showCollectionsLink = true;\n this.showZoomControls = true;\n }\n else {\n this.showCollectionsLink = false;\n this.showZoomControls = false;\n }\n }\r\n }\n setShowRatesLink(selectedchannel: number): void {\n if (selectedchannel) {\n if (selectedchannel === 1 || selectedchannel === 2) {\n this.showRatesLink = true;\n }\n else {\n this.showRatesLink = false;\n }\n }\r\n }\n zoomOut(): void {\n if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6) { //Firefox\r\n var step = 0.10\r\n this.currFireFoxZoom -= step;\r\n $('body').css('MozTransform', 'scale(' + this.currFireFoxZoom + ')');\r\n this.currZoomValue = this.currFireFoxZoom * 100 + '%';\r\n\r\n } else {\r\n var step = 10;\r\n this.currChromeZoom -= step;\r\n $('body').css('zoom', ' ' + this.currChromeZoom + '%');\r\n this.currZoomValue = this.currChromeZoom + '%';\r\n }\r\n }\n zoomIn(): void {\n if (navigator.userAgent.indexOf('Firefox') != -1 && parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox') + 8)) >= 3.6) { //Firefox\r\n var step = 0.10;\r\n this.currFireFoxZoom += step;\r\n $('body').css('MozTransform', 'scale(' + this.currFireFoxZoom + ')');\r\n this.currZoomValue = this.currFireFoxZoom * 100 + '%';\r\n } else {\r\n var step = 10;\r\n this.currChromeZoom += step;\r\n $('body').css('zoom', ' ' + this.currChromeZoom + '%');\r\n this.currZoomValue = this.currChromeZoom + '%';\r\n }\r\n }\n}\n","\n
    \n \n
    \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AgentGrid } from '../models/agentGrid';\nimport { profileOptions } from '../models/profileOptions';\nimport { UserGrid } from '../models/userGrid';\nimport { CarouselImage } from '../models/carouselimage';\nimport { AgentLinkResponse } from '../models/agentLinkResponse';\nimport { Profile } from '../models/profile';\nimport { alertItem } from '../models/alertItem';\nimport { documentGroup } from '../models/documentGroup';\nimport { channel } from '../models/channel';\nimport { channelProduct } from '../models/channelProduct';\nimport { product } from '../models/product';\nimport { feature } from '../models/feature';\nimport { trainingdisplay } from '../models/trainingdisplay';\nimport { searchParams } from '../models/searchParams';\nimport { EAppConfig } from '../models/eappconfig';\nimport { EApp } from '../models/eapp';\nimport { SiteSetting } from '../models/siteSetting';\r\n\n\nconst endpoint = './api/clouddata/';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CloudStorageService {\n private httpOptions = {};\n constructor(private http: HttpClient) { }\n createUserProfile(thedata: AgentLinkResponse): Observable {\n return this.http.post(endpoint + 'CreateUserProfile', thedata);\n }\n getUserProfile(id: string): Observable {\n return this.http.get(endpoint + 'GetUserProfile?auth0ID=' + id);\n }\n getImpersonationProfile(id: string): Observable {\n return this.http.get(endpoint + 'GetImpersonationProfile?userID=' + id);\n }\n getLinkedAgents(auth0Id: string): Observable {\n return this.http.get(endpoint + 'GetLinkedAgents?auth0ID=' + auth0Id);\n }\n updateLinkedAgents(thedata: AgentLinkResponse): Observable {\n return this.http.post(endpoint + 'updateLinkedAgents', thedata);\n }\n getProfileOptions(auth0Id: string): Observable {\n return this.http.get(endpoint + 'GetProfileOptions?auth0ID=' + auth0Id);\n }\n getUserList(): Observable {\n return this.http.get(endpoint + 'GetUserList');\n }\n updateProfile(authId: string, defaultAgentId: string, displayName: string): Observable {\n return this.http.get(endpoint + 'UpdateProfile?auth0ID=' + authId + '&defaultAgentId=' + defaultAgentId + '&displayName=' + displayName);\n }\n getUserRestriction(id: string, area: string): Observable {\n return this.http.get(endpoint + 'GetUserRestriction?userID=' + id + '&area=' + area);\n }\n getAlertsByChannel(channelID: number): Observable {\n return this.http.get(endpoint + 'GetAlerts?luChannelID=' + channelID);\n }\n getCarouselImages(): Observable {\n return this.http.get(endpoint + 'GetCarouselImages');\n }\n getDocuments(channelID: number): Observable {\n return this.http.get(endpoint + 'getDocuments?luChannelID=' + channelID);\n }\n updatePageVisited(auth0ID: string, pageTypeId: number): Observable { \n return this.http.get(endpoint + 'updatePageVisited?auth0ID=' + auth0ID + \"&pageTypeID=\" + pageTypeId);\n }\n getChannel(channelID: number): Observable {\n return this.http.get(endpoint + 'GetChannelInfo?luChannelID=' + channelID);\n }\n getProductsByChannel(channelID: number): Observable {\n return this.http.get(endpoint + 'GetProducts?luChannelID=' + channelID);\n }\n getAnonymousProductsByChannel(channelID: number): Observable {\n return this.http.get(endpoint + 'GetAnonymousProducts?luChannelID=' + channelID);\n }\n getProductSectors(): Observable {\n return this.http.get(endpoint + 'GetProductSectors');\n }\n updatePreference(prefType: string, auth0ID: string, overview: boolean): Observable { \n return this.http.get(endpoint + 'updatePreference?type=' + prefType + '&auth0ID=' + auth0ID + '&overview=' + overview);\n }\n updateDateModified(agentLinkID: number, dateModified: string): Observable {\n return this.http.get(endpoint + 'UpdateDateModified?&agentLinkID=' + agentLinkID + '&dateModified=' + dateModified);\n }\n getTraining(channelID: number): Observable {\n return this.http.get(endpoint + 'getTrainingList?luChannelID=' + channelID);\n }\n getSearchParms(channelID: number): Observable {\n return this.http.get(endpoint + 'GetSearchParms?luChannelID=' + channelID);\n }\n searchForms(channelID: number, description: string, formClassID: string, formStateID: string, formTypeID: string, formProductID: string, formCompanyID: string): Observable { \n return this.http.get(endpoint + 'searchForms?luChannelID=' + channelID + '&description=' + description + '&formClassID=' + formClassID + '&formTypeID=' + formTypeID + '&formProductID=' + formProductID + '&formStateID=' + formStateID + '&formCompanyID=' + formCompanyID);\n }\n downloadCombinedForms(fileNames: string[], container: string) {\n return this.http.post(endpoint + \"DownloadCombinedForms\", { fileNames: fileNames, formsContainerName: container}, { responseType: 'blob' as 'json' } );\n }\n emailForms(fileNames: string[], container: string, email: string, combined: boolean) {\n return this.http.post(endpoint + \"EmailForms\", { fileNames: fileNames, formsContainerName: container, emailAddress: email, combineForms: combined });\n }\n getEAppURI(auth0ID: string, isProd: boolean): Observable {\n return this.http.get(endpoint + 'BuildEAppLoginURI?auth0ID=' + auth0ID + '&isProd=' + isProd);\n }\n checkeAppStatus(channelID: number): Observable {\n return this.http.get(endpoint + 'CheckeAppStatus?channelID=' + channelID);\n }\n getSiteSettings(): Observable {\n return this.http.get(endpoint + 'GetSiteSettings');\n }\n getEncryptedSaml(url: string, id: string, name: string, email: string): Observable {\n return this.http.get(endpoint + 'GetEncryptedSaml?samlUrl=' + url + '&authID=' + id + '&name=' + name + '&email=' + email);\n }\n}\n\n","import { HttpClient, HttpBackend, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment as env } from '../../environments/environment';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n\r\n private http: HttpClient;\r\n\r\n constructor(backend: HttpBackend) {\r\n this.http = new HttpClient(backend);\r\n }\r\n\r\n public upload(fileTargetId: number, channelId: number, emailAddress: string, auth0Id: string, agentId: string, policyNumber: string,\r\n clientName: string, fileName: string, file: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"fileTargetId\", fileTargetId.toString());\r\n formData.append(\"channelId\", channelId.toString());\r\n formData.append(\"emailAddress\", emailAddress);\r\n formData.append(\"authUserId\", auth0Id);\r\n formData.append(\"agentID\", agentId);\r\n formData.append(\"policyNumber\", policyNumber);\r\n formData.append(\"clientName\", clientName);\r\n formData.append(\"fileName\", fileName);\r\n formData.append('file', file, file.name);\r\n\r\n return this.http.post>(`${env.dev.onPremServerUrl + 'file/upload'}`, formData, {\r\n reportProgress: true,\r\n observe: 'events',\r\n })\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment as env } from '../../environments/environment';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Report } from '../models/report';\nimport { AgentLinkResponse } from '../models/agentLinkResponse';\nimport { APIResponse } from '../models/apiresponse';\nimport { map, share } from 'rxjs/operators';\nimport { AgentLink } from '../models/agentLink';\nimport { KPI } from '../models/kpi';\nimport { Policy } from '../models/policy';\nimport { AgentDownline } from '../models/downline';\nimport { policySearchResponse } from '../models/policysearchresponse';\nimport { PolicyRoute } from '../models/policyRoute';\nimport { EAppConfig } from '../models/eappconfig';\nimport { AgentGrid } from '../models/agentGrid';\r\nimport { Agent } from '../models/agent';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OnPremStorageService {\n private httpOptions = {};\n\n constructor(\n private http: HttpClient, public auth: AuthService) { }\n public getReports(agentID: string): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'reports?agentid=' + agentID}`, this.httpOptions);\n }\n public getAgentToken(agentID: string): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'reports/token?agentid=' + agentID}`);\n }\n public linkAgent(email: string, agentId: string, ssn: string, dob: string, linkCode: string): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'agentLink/'}`, { emailAddress: email, InputAgentID: agentId, InputLast4SSN: ssn, InputDOB: dob, LinkCode: linkCode });\n }\n public unLinkAgent(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentLink/delete'}`);\n }\n public deleteAgentLink(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentLink/Delete'}`);\n }\n public systemStatus(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'systemStatus'}`);\n }\n public getAgentList(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink'}`)\n .pipe(map((res: any) => res.data));\n }\n public getAgentDetail(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/info?' + params}`);\n }\n public getAgentHierarchyList(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/hierarchylist?' + params}`);\n }\n public getLinkedAgentDetail(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/info?' + params}`);\n }\n public getLinkedAgentList(auth0Id: string, channelId: number, hideFireAgents: boolean): Observable {\n const params = `authuserid=${auth0Id}&ChannelId=${channelId}&hideFireAgents=${hideFireAgents}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/List?' + params}`);\n }\n public getAgentDownlineList(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/downlinelist?' + params}`).pipe(map((res: any) => res.data));\n }\n public getAgentWithDownine(agentLinkId: number, channelId: number, hideFireAgents: boolean): Observable {\n const params = `agentlinkid=${agentLinkId}&ChannelId=${channelId}&hidefireagents=${hideFireAgents}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/WithDownline?' + params}`)\n .pipe(map((res: any) => res.data));\n }\n public getAgentWithDownineList(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/WithDownlineList?' + params}`)\n .pipe(map((res: any) => res.data));\n }\n public getUnassociatedLinkedAgentList(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/unassociatedList?'}`);\n }\n public getAgentActiveHierarchyListWithSelf(agentId: string, hideFireAgents: boolean): Observable {\n const params = `agentid=${agentId}&hidefireagents=${hideFireAgents}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/ActiveHierarchyListIncSelf?' + params}`);\n }\n public getPolicies(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'policies?' + params}`);\n }\n public getPolicyDetail(agentId: string, policyNumber: string, regionId: number, channelId: number): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'policies?agentid=' + agentId + '&policyNumber=' + policyNumber + '®ionId=' + regionId + '&channelId=' + channelId}`);\n }\n public searchPolicies(agentId: string, status: string, startDate: string, endDate: string, included: number, channel: string): Observable {\n var endpoint = channel == 'Annuity' || channel == 'Annuity [Bank]' ? 'annuityquicksearch?' : 'quicksearch?';\n const params = `agentid=${agentId}&status=${status}&startdate=${startDate}&enddate=${endDate}&includedagents=${included}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'policies/' + endpoint + params}`).pipe(map((res: any) => res.data));\n }\n public searchAdvancedPolicies(agentId: string, selectedAgentID: string, downlineAgentId: string, status: string, startDate: string, endDate: string, insuredName: string,\n addressOrCity: string, phoneNumber: string, policyNumber: string, channel: string): Observable {\n var endpoint = channel == 'Annuity' || channel == 'Annuity [Bank]' ? 'annuityadvancedsearch?' : 'advancedsearch?';\n const params = `agentid=${agentId}&selectedagentid=${selectedAgentID}&downlineagentid=${downlineAgentId}&status=${status}&startdate=${startDate}&enddate=${endDate}&insuredname=${insuredName}&addressorcity=${addressOrCity}&phone=${phoneNumber}&policynumber=${policyNumber}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'policies/' + endpoint + params}`).pipe(map((res: any) => res.data));\n }\n public searchKpiPolicies(agentId: string, kpiId: number, included: number, channel: string): Observable {\n var endpoint = channel == 'Annuity' || channel == 'Annuity [Bank]' ? 'annuitykpi?' : 'kpi?';\n const params = `agentid=${agentId}&kpiid=${kpiId}&includedagents=${included}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'policies/' + endpoint + params}`).pipe(map((res: any) => res.data));\n }\n public getGridColumnList(channelId: number, name: string): Observable {\n const params = `channelid=${channelId}&name=${name}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'grid/columnlist?' + params}`);\n }\n public downloadStatement(statementId: number) {\n const params = `${statementId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'statements/' + params}`, { responseType: 'blob' });\n }\n public searchStatements(agentId: string, type: number, startDate: string, endDate: string, included: number): Observable {\n const params = `agentid=${agentId}&type=${type}&startdate=${startDate}&enddate=${endDate}&includedagents=${included}`;\n var x = env.dev.onPremServerUrl + 'statements/search?' + params;\n return this.http.get(x);\n }\n public getKpis(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'kpi?' + params}`, this.httpOptions);\n }\n public getKpiList(agentId: string, policySearch: boolean): Observable {\n const params = `agentid=${agentId}&policysearchonly=${policySearch}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'kpi/list?' + params}`, this.httpOptions)\n .pipe(map((res: any) => res.data));\n }\n public getEAppInfo(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'agent/EAppUser?' + params}`, this.httpOptions)\n .pipe(map((res: APIResponse) => res.data));\n }\n public getAssociations(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentassociation'}`);\n }\n public getAssociation(agentLinkAssociationID: number): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentassociation/' + agentLinkAssociationID}`);\n }\n public addAssociation(agentID: string, channelID: number, regionID: number, associatedAgentID: string, associatedRegionID: number): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'agentassociation'}`,\n { agentId: agentID, channelId: channelID, regionId: regionID, associatedAgentId: associatedAgentID, associatedRegionId: associatedRegionID });\n }\n public updateAssociation(agentLinkAssociationID: number, associatedAgentID: string, associatedRegionID: number): Observable {\n return this.http.put(`${env.dev.onPremServerUrl + 'agentassociation/' + agentLinkAssociationID}`, { associatedAgentId: associatedAgentID, associatedRegionId: associatedRegionID });\n }\n public deleteAssociation(agentLinkAssociationID: number): Observable {\n return this.http.delete(`${env.dev.onPremServerUrl + 'agentassociation/delete/' + agentLinkAssociationID}`);\n }\n public getExternalLink(linkUri: string): Observable {\n return this.http.get(linkUri, this.httpOptions);\n }\n public getAgentLinkCodeRecords(): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/code'}`);\n }\n public getAgentLinkCodeRecord(agentLinkCodeId: number): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'agentlink/code/' + agentLinkCodeId}`);\n }\n public addAgentLinkCodeRecord(emailAddress: string): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'agentlink/code'}`,\n { emailAddress: emailAddress });\n }\n public updateAgentLinkCodeRecord(agentLinkCodeId: number, agentId: string): Observable {\n return this.http.put(`${env.dev.onPremServerUrl + 'agentlink/code/' + agentLinkCodeId}`, { agentID: agentId });\n }\n public getFileTargetList(channelId: number): Observable {\n const params = `channelid=${channelId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'file/targets?' + params}`);\n }\n public getFileUploadList(auth0Id: string): Observable {\n const params = `authuserid=${auth0Id}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'file/uploadlist?' + params}`);\n }\n public getRouteList(agentId: string, billFormCodeList: string): Observable {\n const params = `agentid=${agentId}&billformcodelist=${billFormCodeList}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections/routelist?' + params}`);\n }\n public getCollection(collectionId: string): Observable {\n const params = `collectionid=${collectionId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections?' + params}`);\n }\n public saveCollection(collectionId: string, collectionTypeId: number, regionId: number, policyNum: string, agentId: string, collectionAgentId: string, monthsPaid: number,\n cashAmt: number, suspenseAmt: number, overpaymentAmt: number, loanPaymentAmt: number, userId: string, modalPremium: number, currentCommRate: number, insuredName: string,\n payorName: string, sequenceNo: string): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'collections'}`, {\r\n collectionId: collectionId ? collectionId : null, collectionTypeId: collectionTypeId, regionId: regionId, policyNum: policyNum,\n agentID: agentId, collectionAgentId: collectionAgentId, monthsPaid: monthsPaid, cashAmt: cashAmt, suspenseAmt: suspenseAmt, overpaymentAmt: overpaymentAmt,\n loanPaymentAmt: loanPaymentAmt, userId: userId, modalPremium: modalPremium, currentCommRate: currentCommRate, insuredName: insuredName, payorName: payorName,\n sequenceNo: sequenceNo\r\n });\n }\n public deleteCollection(collectionId: string): Observable {\n return this.http.delete(`${env.dev.onPremServerUrl + 'collections/delete/' + collectionId}`);\n }\n public async saveGroupCollection(routeSequenceId: string, agentId: string, collectionAgentId: string, monthsPaid: number, cashAmt: number, userId: string): Promise> {\n return (await this.http.post(`${env.dev.onPremServerUrl + 'collections/group'}`, {\r\n RouteSequenceId: routeSequenceId, AgentID: agentId, CollectionAgentId: collectionAgentId, MonthsPaid: monthsPaid, CashAmt: cashAmt, UserId: userId\r\n }).toPromise()).data;\n }\n public async deleteGroupCollection(routeSequenceId: string): Promise> {\n return (await this.http.delete(`${env.dev.onPremServerUrl + 'collections/group/delete/' + routeSequenceId}`).toPromise()).data;\n }\n public saveSequence(regionId: number, policyNum: string, agentId: string, sequenceNum: string, userId: string): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'collections/sequence'}`, {\r\n RegionId: regionId, PolicyNum: policyNum, AgentID: agentId, SequenceNum: sequenceNum, UserId: userId });\n }\n public getSequenceContact(routeSequenceId: string): Observable {\n const params = `routesequenceId=${routeSequenceId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections/sequencecontact?' + params}`);\n }\n public saveSequenceContact(routeSequenceId: string, sequenceNum: string, name: string, addressLine1: string, addressLine2: string, city: string,\n state: string, zip: string, emailAddress: string, phone: string, notes: string, userId: string): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'collections/sequencecontact'}`, {\r\n RouteSequenceId: routeSequenceId, SequenceNum: sequenceNum, Name: name, AddressLine1: addressLine1, AddressLine2: addressLine2, City: city,\n State: state, Zip: zip, EmailAddress: emailAddress, Phone: phone, Notes: notes, UserId: userId });\n }\n public getPendingCollections(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections/pendingList?' + params}`);\n }\n public getBatchHistory(agentId: string): Observable {\n const params = `agentid=${agentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections/batchhistory?' + params}`);\n }\n public async insertCollectionBatch(agentId: string): Promise> {\n return (await this.http.post(`${env.dev.onPremServerUrl + 'collections/batch'}`, {\r\n agentID: agentId}).toPromise()).data;\n }\n public getLapsedPolicy(agentId: string, policyNumber: string): Observable {\n const params = `agentid=${agentId}&policynumber=${policyNumber}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'collections/lapsedpolicysearch?' + params}`);\n }\n public downloadDocument(documentId: number) {\n const params = `${documentId}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'policies/documents/' + params}`, { responseType: 'blob' });\n }\n public getAnnuityDeferredRates(channelId: number, rateType: string, caOnly: boolean): Observable {\n const params = `channelid=${channelId}&ratetype=${rateType}&caonly=${caOnly}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'annuityrates/deferred?' + params}`, this.httpOptions);\n }\n public getAnnuityImmediateRates(channelId: number, rateType: string, caOnly: boolean): Observable {\n const params = `channelid=${channelId}&ratetype=${rateType}&caonly=${caOnly}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'annuityrates/immediate?' + params}`, this.httpOptions);\n }\n public getAnnuityFixedIndexRates(channelId: number, rateType: string, caOnly: boolean): Observable {\n const params = `channelid=${channelId}&ratetype=${rateType}&caonly=${caOnly}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'annuityrates/fixedindex?' + params}`, this.httpOptions);\n }\n public trackEvent(eventId: number, userId: string, eventData: string, agentId: string, channelId: number): Observable {\n return this.http.post(`${env.dev.onPremServerUrl + 'siteanalytics/event'}`,\n { eventId: eventId, userId: userId, eventData: eventData, agentId: agentId, channelId: channelId });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Observable, of, Subject } from 'rxjs';\nimport { map, mergeMap, switchMap } from 'rxjs/operators';\nimport { Profile } from '../models/profile';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SiteParameterService { \n private _profile!: Profile;\n private endpoint = './api/clouddata/';\n public profileLoadComplete = false;\n public setProfile(profile: Profile) { this._profile = profile; this.profileLoadComplete = true; this.sendParmServiceInit(this._profile); }\n public getStaticProfile(): Profile { return this._profile };\n private gridNoResults = '
    No search results
     
    ';\n public getGridNoResults(): string { return this.gridNoResults };\n\n constructor(public auth: AuthService, private http: HttpClient) {}\n public loadProfile() {\n return this.auth.user$.pipe(mergeMap((auth: any) => this.http.get(this.endpoint + 'GetUserProfile?auth0ID=' + auth.sub).pipe(map((profile: Profile) => { this.setProfile(profile) }))\n .pipe(switchMap(l => { return of(true) }))));\n }\n private parmServiceInit = new Subject(); //need to create a subject\n sendParmServiceInit(message: any) { //the component that wants to update something, calls this fn\n this.parmServiceInit.next({ value: message }); //next() will feed the value in Subject\n }\n getParmServiceInit(): Observable { //the receiver component calls this function\n return this.parmServiceInit.asObservable(); //it returns as an observable to which the receiver function will subscribe\n }\n\n private impersonation = new Subject();\n sendImpersonationUpdate(message: any) { //the component that wants to update something, calls this fn\n this.impersonation.next({ value: message }); //next() will feed the value in Subject\n }\n getImpersonationUpdate(): Observable { //the receiver component calls this function\n return this.impersonation.asObservable(); //it returns as an observable to which the receiver function will subscribe\n }\n\n private channelUpdate = new Subject(); //need to create a subject\n sendChannelUpdate(message: any) { //the component that wants to update something, calls this fn\n this.channelUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getChannelUpdate(): Observable { //the receiver component calls this function \n return this.channelUpdate.asObservable(); //it returns as an observable to which the receiver function will subscribe\n }\n\n private channelInit = new Subject(); //need to create a subject\n sendChannelInit(message: any) { //the component that wants to update something, calls this fn\n this.channelInit.next({ value: message }); //next() will feed the value in Subject\n }\n getChannelInit(): Observable { //the receiver component calls this function \n return this.channelInit.asObservable(); //it returns as an observable to which the receiver function will subscribe\n }\n\n private agentUpdate = new Subject(); //need to create a subject\n sendAgentUpdate(message: any) { //the component that wants to update something, calls this fn\n this.agentUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getAgentUpdate(): Observable { //the receiver component calls this function\n return this.agentUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n\n private defaultAgentUpdate = new Subject(); //need to create a subject\n sendDefaultAgentUpdate(message: any) { //the component that wants to update something, calls this fn\n this.defaultAgentUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getDefaultAgentUpdate(): Observable { //the receiver component calls this function\n return this.defaultAgentUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n\n private defaultChannelUpdate = new Subject(); //need to create a subject\n sendDefaultChannelUpdate(message: any) { //the component that wants to update something, calls this fn\n this.defaultChannelUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getDefaultChannelUpdate(): Observable { //the receiver component calls this function\n return this.defaultChannelUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n\n private agentDetailUpdate = new Subject(); //need to create a subject\n sendAgentDetailUpdate(message: any) { //the component that wants to update something, calls this fn\n this.defaultChannelUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getAgentDetailUpdate(): Observable { //the receiver component calls this function\n return this.defaultChannelUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n\n private kpiSearchUpdate = new Subject(); //need to create a subject\n sendkpiSearchUpdate(message: any) { //the component that wants to update something, calls this fn\n this.kpiSearchUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getkpiSearchUpdate(): Observable { //the receiver component calls this function\n return this.kpiSearchUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n\n private unlinkedAgentUpdate = new Subject(); //need to create a subject\n sendunlinkedAgentUpdate(message: any) { //the component that wants to update something, calls this fn\n this.unlinkedAgentUpdate.next({ value: message }); //next() will feed the value in Subject\n }\n getunlinkedAgentUpdate(): Observable { //the receiver component calls this function\n return this.unlinkedAgentUpdate.asObservable(); //it returns as an observable to which the receiver funtion will subscribe\n }\n}\n","export default \".ag-theme-alpine .ag-row.ag-row-level-0 {\\r\\n background-color: #dddbdb;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hc3NldHMvY3NzL3JvdXRlbGlzdC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBeUI7QUFDM0IiLCJmaWxlIjoic3JjL2Fzc2V0cy9jc3Mvcm91dGVsaXN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hZy10aGVtZS1hbHBpbmUgLmFnLXJvdy5hZy1yb3ctbGV2ZWwtMCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZGJkYjtcclxufVxyXG4iXX0= */\";","// src/environments/environment.ts\n\n//import { domain, clientId, serverUrl } from '../../auth_config.json';\n\n//export const environment = {\n// production: false,\n// auth: {\n// domain,\n// clientId,\n// redirectUri: window.location.origin, \n// },\n// dev: {\n// serverUrl,\n// },\n//};\n\nimport * as ConfigInfo from '../../config.json';\n\nexport const environment = {\n production: true,\n auth: {\n domain: ConfigInfo.domain,\n clientId: ConfigInfo.clientId,\n redirectUri: window.location.origin,\n audience: ConfigInfo.audience\n },\n dev: {\n serverUrl: ConfigInfo.serverUrl,\n tappUrl: ConfigInfo.tappUrl,\n mrsSuppHealthUrl: ConfigInfo.mrsSuppHealthUrl,\n mrsHomeServiceUrl: ConfigInfo.mrsHomeServiceUrl,\n onPremServerUrl: ConfigInfo.onPremServerUrl,\n annuityEAppURL: ConfigInfo.annuityEAppURL,\n anonymousAllowedList: ConfigInfo.anonymousAllowedList,\n eAppRedirectUrlPart1: ConfigInfo.eAppRedirectUrlPart1,\n eAppRedirectUrlPart2: ConfigInfo.eAppRedirectUrlPart2,\n disableFileUpload: ConfigInfo.disableFileUpload,\n maxFileSize: ConfigInfo.maxFileSize\n },\n};\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"],"sourceRoot":"webpack:///"}