{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/authentication/anonymous.guard.ts","webpack:///src/app/authentication/profile.guard.ts","webpack:///src/app/authentication/tokeninterceptor.ts","webpack:///src/app/common/ag-grid-currencyFormatter.ts","webpack:///src/app/common/ag-grid-resize.directive.ts","webpack:///src/app/common/helpers.ts","webpack:///src/app/common/phone.pipe.ts","webpack:///src/app/common/replace.ts","webpack:///src/app/common/yes-no.pipe.ts","webpack:///src/app/core/rollbar.ts","webpack:///src/app/presentation/components/agent-hierarchy/agent-hierarchy.component.ts","webpack:///src/app/presentation/components/agent-hierarchy/agent-hierarchy.component.html","webpack:///src/app/presentation/components/agentdetail/agentdetail.component.ts","webpack:///src/app/presentation/components/agentdetail/agentdetail.component.html","webpack:///src/app/presentation/components/agentgrid/agentgrid.component.ts","webpack:///src/app/presentation/components/agentgrid/agentgrid.component.html","webpack:///src/app/presentation/components/agentinfomessage/agentinfomessage.component.ts","webpack:///src/app/presentation/components/agentinfomessage/agentinfomessage.component.html","webpack:///src/app/presentation/components/agentpicker/agentpicker.component.ts","webpack:///src/app/presentation/components/agentpicker/agentpicker.component.html","webpack:///src/app/presentation/components/annuitybankrates/annuitybankrates.component.ts","webpack:///src/app/presentation/components/annuitybankrates/annuitybankrates.component.html","webpack:///src/app/presentation/components/annuityrates/annuityrates.component.ts","webpack:///src/app/presentation/components/annuityrates/annuityrates.component.html","webpack:///src/app/presentation/components/associations/associations.component.ts","webpack:///src/app/presentation/components/associations/associations.component.html","webpack:///src/app/presentation/components/batchhistory/batchhistory.component.ts","webpack:///src/app/presentation/components/batchhistory/batchhistory.component.html","webpack:///src/app/presentation/components/channelnews/channelnews.component.ts","webpack:///src/app/presentation/components/channelnews/channelnews.component.html","webpack:///src/app/presentation/components/commissions/commissions.component.ts","webpack:///src/app/presentation/components/commissions/commissions.component.html","webpack:///src/app/presentation/components/componentloading/componentloading.component.ts","webpack:///src/app/presentation/components/componentloading/componentloading.component.html","webpack:///src/app/presentation/components/fileupload/fileupload.component.ts","webpack:///src/app/presentation/components/fileupload/fileupload.component.html","webpack:///src/app/presentation/components/grid-tooltip/grid-tooltip.component.ts","webpack:///src/app/presentation/components/grid-tooltip/grid-tooltip.component.html","webpack:///src/app/presentation/components/hero/hero.component.ts","webpack:///src/app/presentation/components/hero/hero.component.html","webpack:///src/app/presentation/components/kpis/kpis.component.ts","webpack:///src/app/presentation/components/kpis/kpis.component.html","webpack:///src/app/presentation/components/link-code/link-code.component.ts","webpack:///src/app/presentation/components/link-code/link-code.component.html","webpack:///src/app/presentation/components/loading/loading.component.ts","webpack:///src/app/presentation/components/loading/loading.component.html","webpack:///src/app/presentation/components/pendingcollections/pendingcollections.component.ts","webpack:///src/app/presentation/components/pendingcollections/pendingcollections.component.html","webpack:///src/app/presentation/components/policyinfo/policyinfo.component.ts","webpack:///src/app/presentation/components/policyinfo/policyinfo.component.html","webpack:///src/app/presentation/components/quicklinks/quicklinks.component.ts","webpack:///src/app/presentation/components/quicklinks/quicklinks.component.html","webpack:///src/app/presentation/components/reports/reports.component.ts","webpack:///src/app/presentation/components/reports/reports.component.html","webpack:///src/app/presentation/components/routelist/routelist.component.ts","webpack:///src/app/presentation/components/routelist/routelist.component.html","webpack:///src/app/presentation/components/statement-search/statement-search.component.ts","webpack:///src/app/presentation/components/statement-search/statement-search.component.html","webpack:///src/app/presentation/pages/admin/admin.component.ts","webpack:///src/app/presentation/pages/admin/admin.component.html","webpack:///src/app/presentation/pages/annuitybankreplogin/annuitybankreplogin.component.ts","webpack:///src/app/presentation/pages/annuitybankreplogin/annuitybankreplogin.component.html","webpack:///src/app/presentation/pages/annuitylogin/annuitylogin.component.ts","webpack:///src/app/presentation/pages/annuitylogin/annuitylogin.component.html","webpack:///src/app/presentation/pages/briefcase/briefcase.component.ts","webpack:///src/app/presentation/pages/briefcase/briefcase.component.html","webpack:///src/app/presentation/pages/collections/collections.component.ts","webpack:///src/app/presentation/pages/collections/collections.component.html","webpack:///src/app/presentation/pages/completeprofile/completeprofile.component.ts","webpack:///src/app/presentation/pages/completeprofile/completeprofile.component.html","webpack:///src/app/presentation/pages/contact/contact.component.ts","webpack:///src/app/presentation/pages/contact/contact.component.html","webpack:///src/app/presentation/pages/documents/documents.component.ts","webpack:///src/app/presentation/pages/documents/documents.component.html","webpack:///src/app/presentation/pages/eapp/eapp.component.ts","webpack:///src/app/presentation/pages/eapp/eapp.component.html","webpack:///src/app/presentation/pages/forms/forms.component.ts","webpack:///src/app/presentation/pages/forms/forms.component.html","webpack:///src/app/presentation/pages/home/home.component.ts","webpack:///src/app/presentation/pages/home/home.component.html","webpack:///src/app/presentation/pages/login/login.component.ts","webpack:///src/app/presentation/pages/login/login.component.html","webpack:///src/app/presentation/pages/products/products.component.ts","webpack:///src/app/presentation/pages/products/products.component.html","webpack:///src/app/presentation/pages/profile/profile.component.ts","webpack:///src/app/presentation/pages/profile/profile.component.html","webpack:///src/app/presentation/pages/rates/rates.component.ts","webpack:///src/app/presentation/pages/rates/rates.component.html","webpack:///src/app/presentation/pages/redirecting/redirecting.component.ts","webpack:///src/app/presentation/pages/redirecting/redirecting.component.html","webpack:///src/app/presentation/pages/terms/terms.component.ts","webpack:///src/app/presentation/pages/terms/terms.component.html","webpack:///src/app/presentation/pages/training/training.component.ts","webpack:///src/app/presentation/pages/training/training.component.html","webpack:///src/app/presentation/pages/userlist/userslist.component.ts","webpack:///src/app/presentation/pages/userlist/userslist.component.html","webpack:///src/app/presentation/shared/nav-bar/nav-bar.component.ts","webpack:///src/app/presentation/shared/nav-bar/nav-bar.component.html","webpack:///src/app/services/cloud-storage.ts","webpack:///src/app/services/fileupload.service.ts","webpack:///src/app/services/onprem-storage.ts","webpack:///src/app/services/siteparameter.service.ts","webpack:///src/assets/css/routelist.css","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","routes","path","component","pathMatch","canActivate","AppRoutingModule","forRoot","imports","AppComponent","auth","setLicenseKey","selector","templateUrl","AppModule","provide","useClass","multi","useFactory","withComponents","httpInterceptor","allowedList","dev","serverUrl","declarations","providers","bootstrap","schemas","AnonymousGuard","router","next","state","isAuthenticated$","subscribe","hasToken","navigate","providedIn","ProfileGuard","siteParameterService","endpoint","profileLoadComplete","loadProfile","TokenInterceptor","injector","request","anonymousAllowedList","split","some","item","url","includes","handle","getAccessTokenSilently","pipe","token","tokenReq","clone","headers","set","error","errorMessage","ErrorEvent","currencyFormatter","params","currencyValue","isNaN","value","formatNumber","number","toLocaleString","style","currency","AgGridResizeDirective","gridApi","setTimeout","sizeColumnsToFit","api","onResize","onGridReady","ReturnDateRangeFromType","rangeType","startDate","endDate","getFirstDayofMonth","Date","firstDay","lastDay","getFirstDayofQuarter","getFirstDayofWeek","getFirstDayofYear","getPreviousMonth","getPreviousQuarter","getPreviousWeek","getPreviousYear","d","day","getDay","diff","getDate","firstday","setDate","lastday","getFullYear","getMonth","monthDate","month","quarter","Math","floor","year","yearDate","DateComparator","date1","date2","date1Number","monthToComparableNumber","date2Number","date","undefined","length","yearNumber","Number","parseInt","substring","dayNumber","monthNumber","PhonePipe","returnValue","slice","name","ReplacePipe","strToReplace","replacementStr","replace","RegExp","YesNoPipe","rollbarConfig","accessToken","captureUncaught","captureUnhandledRejections","RollbarService","RollbarErrorHandler","rollbar","err","rollbarFactory","AgentHierarchyComponent","onPremService","siteParmService","selectedAgentID","showSpinner","showDownlineGrid","downlineAgents","filteredDownline","downlineAgentsByStatus","profileFullStatus","hierarchy","savedFilter","columnDefs","field","filter","filterParams","suppressAndOrCondition","cellStyle","columnDefs1","headerName","valueGetter","idAndNameGetter","minWidth","defaultColDef","flex","autoGroupColumnDef","cellRendererParams","suppressCount","groupDefaultExpanded","getDataPath","data","orgHierarchy","agentUpdate","getAgentUpdate","message","getdownlineList","gridColumnApi","columnApi","gridApi1","gridColumnApi1","profile","getStaticProfile","selectedAgentNumber","status","limitedAccessOnly","getAgentDownlineList","downline","agent","managerID","findManager","reverse","push","agentID","agentName","JSON","parse","stringify","event","sendAgentDetailUpdate","model","getFilterModel","setRowData","type","f","toUpperCase","indexOf","startsWith","findFilteredManager","setFilterModel","s","obj","find","i","document","getElementById","setQuickFilter","fileName","sheetName","exportDataAsExcel","$event","clickedElement","target","srcElement","nodeName","classList","contains","isCertainButtonAlreadyActive","parentElement","querySelector","remove","className","selectedStatus","unsubscribe","styleUrls","color","buttonColorToColorCode","node","toLowerCase","fontColor","AgentDetailComponent","agentDetail","agentDetailUpdate","getAgentDetailUpdate","getAgentDetail","apiResponse","AgentGridComponent","cloudStorageService","width","checkboxSelection","cellRenderer","selected","setSelected","hide","defaultColumnDef","sortable","resizable","sendDefaultAgentUpdate","agentId","sendDefaultChannelUpdate","channelName","linkedAgents$","getLinkedAgents","auth0Id","onRowSelected","AgentInfoMessageComponent","showHeaderText","headerText","channelUpdate","getChannelUpdate","getMessage","selectedBusinessChannel","channelPreferenceValue","getChannel","channel","agentInfoMessage","styles","AgentPickerComponent","selectedAgentId","subscriptionName","agents","x","sendAgentUpdate","defaultAgentNumber","selectedAgent","selectedChannel","setProfile","AnnuityBankRatesComponent","currentDate","channelId","screenWidthForLargeDevice","screenWidthForSmallDevice","newBusinessDeferredRatesRowData","newBusinessImmediateRatesRowData","newBusinessFixedIndexRatesRowData","renewalDeferredRatesRowData","renewalImmediateRatesRowData","noRowsTemplate","domLayout","suppressMenu","suppressMovable","maxWidth","colSpan","getGridNoResults","getChannelProductLinks","innerWidth","window","getListColumnDefs","getRateLists","$","addClass","rateType","getAnnuityDeferredRates","rates","getAnnuityImmediateRates","getAnnuityFixedIndexRates","ratesDeferredNBRatesColumnDefs","rowGroup","headerClass","cellClass","rateCLICGetter","autoHeight","tooltipValueGetter","getRateTooltip","rateStartDateCLICO","ratesImmediateNBRatesColumnDefs","ratesDeferredRenewalRatesColumnDefs","ratesImmediateRenewalRatesColumnDefs","fixedIndexRatesColumnDefs","periodAndRateCLICGetter","getAnonymousProductsByChannel","productList","channelProduct","rateStartDate","link","removeClass","gridApi3","gridApi4","gridApi2","gridColumnApi2","gridColumnApi3","gridColumnApi4","onClickTabSelect","seriesAndProductGetter","product","series","rateLBLGetter","rateValue","rateLBL","rateFirstYearLBL","rateCLICO","rateFirstYearCLICO","periodAndRateLBLGetter","guaranteePeriod","AnnuityRatesComponent","newBusinessCADeferredRatesRowData","newBusinessCAImmediateRatesRowData","newBusinessCAFixedIndexRatesRowData","rateStartDateLBL","gridApi5","gridApi6","gridApi7","gridColumnApi5","gridColumnApi6","gridColumnApi7","AssociationsComponent","datePipe","showList","showDetail","showAddButton","showUpdateForm","showAddForm","disableUpdate","disableAdd","showLinkedAgentIDFound","showLinkedAgentIDNotFound","showAssociationAgentIDFound","showAssociationAgentIDNotFound","agentLinkAssociationID","linkedAgentName","associatedAgentID","associatedAgentName","channelID","regionID","associatedRegionID","children","listAssociations","getUnassociatedLinkedAgentList","associations$","getAssociations","response","unassociatedLinkedAgents$","apiReponse","selectedAssociation$","getAssociation","formData","addAssociation","agentLinkID","yesterdayDateString","transform","updateDateModified","closeDetail","updateAssociation","confirm","deleteAssociation","formAgentIdCtrl","formAgentNameCtrl","getLinkedAgentDetail","setAddButton","setValue","BatchHistoryComponent","batchHistoryRowData","selectedAgentName","getbatchHistory","getAgentList","getBatchHistory","policyInfo","agent1","agent2","agent3","agent4","arr","options","selectedIndex","text","trim","changeAgentId","ChannelNewsComponent","alertItems","accordionExanded","getAlertsByChannel","alerts","index","CommissionsComponent","showSearch","policyType","timeFrame","timeFrameEnable","includedAgents","start","end","statements$","searchStatements","statement","downloadStatement","statementID","binaryData","downloadedFile","Blob","a","createElement","setAttribute","body","appendChild","download","href","URL","createObjectURL","click","removeChild","changeTimeFrame","ComponentLoadingComponent","loadingImg","FileUploadComponent","fileUploadService","fileTargetId","fileExtensionsAllowed","policyNumber","clientName","disableUpload","hideUploadButtons","currentFileName","progress","showUploadComplete","rowData","uploadRowCount","comparator","getFileTargetListAndMessage","getFileUploadList","hideUploadFunctions","fileTargets$","getFileTargetList","documentUploadPageMessage","resp","disableFileUpload","currentFile","files","validateFields","invalidChars","ext","substr","lastIndexOf","size","maxFileSize","upload","emailAddress","UploadProgress","round","loaded","total","uploadFile","onFileTargetChange","onClientNameChange","onPolicyNumberChange","GridTooltipComponent","getDisplayedRowAtIndex","rowIndex","HeroComponent","heroLogo","getCarouselImages","carouselImages","KpisComponent","images","bgColors","agentUpdateSubscription","getKpis","response$","kpis$","kpi","kpis","kpimessage$","kpimessage","executeSearch","sendkpiSearchUpdate","LinkCodeComponent","showRefreshButton","showAgentIDFound","showAgentIDNotFound","selectedCode","agentLinkCodeID","listLinkCodes","linkCodes$","getAgentLinkCodeRecords","selectedLinkCode$","getAgentLinkCodeRecord","updateAgentLinkCodeRecord","codeStatusColor","LoadingComponent","PendingCollectionsComponent","pendingCollectionsRowData","getPendingCollections","PolicyInfoComponent","showSpinner2","searchType","showReset","showExport","detailTitleName","searchRowData","coverageRowData","paymentRowData","withdrawalRowData","statusHistoryRowData","underwritingStatusRowData","allocationRowData","hierarchyRowData","beneficiaryInfoRowData","beneficiaryRowData","documentsRowData","searchRowCount","policyStatus","timeFrameStart","timeFrameEnd","insuredName","phone","addressCity","downlineAgent","policy","selectedPolicy","gridName","asOfDateMessage","limitMessage","disableTimeFrame","disableAdvancedDates","clientInfoAccordionExpanded","rmaAccordionExpanded","allocationAccordionExpanded","coverageColumnDefs","paymentSHColumnDefs","paymentNonSHColumnDefs","withdrawalColumnDefs","statusHistoryColumnDefs","underwritingStatusColumnDefs","hierarchyColumnDefs","beneficiaryColumnDefs","allocationColumnDefs","documentsColumnDefs","textAlign","onCellClicked","downloadDocument","channelSubscription","getKPIList","getDownlineAgentList","buildPaymentGridColumns","impersonationSubscription","getImpersonationUpdate","kpiSearchSubscription","getkpiSearchUpdate","k","description","kpiid","element","searchPolicies","setDetailType","getGridColumnList","map","column","valueFormatter","match","list","searchColumnDefs","changeTimeFrameDates","valueAsDate","getColumnDefs","startDateString","endDateString","channelPreference","policies","scrollIntoView","parsedStartDate","parsedEndDate","startSearchDate","getUTCFullYear","getUTCMonth","getUTCDate","endSearchDate","searchAdvancedPolicies","searchKpiPolicies","getKpiList","getAgentHierarchyList","isAnnuityPolicy","getPolicyDetail","policyCoverages","policyPayments","policyWithdrawals","policyStatusHistory","policyUnderwritingStatus","policyHierarchy","policyBeneficiaryInfo","policyBeneficiary","policyAllocation","policyDocuments","annuitantName","detailPageName","show","gridApi8","gridColumnApi8","gridApi9","gridColumnApi9","paymentColumnDefs","allocDiv","setDomLayout","scrollTo","print","days","result","documentDate","fileDate","replaceAll","policyDocumentID","clearSearch","QuickLinksInfoComponent","accordionColumn","accordionCollapsed","getDocuments","groups","forEach","g","documents","externalLink","Object","entries","key","replaceToken","linkUrl","groupsLeft","l","direction","groupsRight","getExternalLink","redirect","side","ReportsComponent","warning","info","agentToken","downlineAgentId","getReports","downlineAgents$","reports$","report","getAgentToken","t","reportURL","open","RouteListComponent","showCollectionParameters","showCollectionList","showCollectionForm","showGroupCollectionForm","showSequenceNumberForm","showSequenceContactForm","showLapseAlert","showNoPremiumCollected","showNoGroupPremiumCollected","sequenceNo","routeSequenceId","modalPremium","premiumDue","monthsPaid","minimumMonths","groupModalPremium","groupPremiumDue","premiumGroupCollected","monthsGroupPaid","currentGroupCommRate","estimatedGroupCommission","regionId","collectionAgentId","cashAmount","suspenseAmount","payorName","premiumCollected","currentCommRate","estimatedCommission","contactName","contactAddressLine1","contactAddressLine2","contactCity","contactState","contactZip","contactEmailAddress","contactPhone","contactNotes","gridOptions","context","getRouteList","getTotalCollectedAmount","routeList$","testText$","reduce","b","collectionAmt","collectionId","isSelected","getCollection","openCollectionForm","clearForm","collectionID","policyNum","routeSequenceID","monthsDue","cashAmt","suspenseAmt","collectionAgentID","closeCollectionForm","deleteCollection","listCollection","premiumSum","premiumDueSum","disable","collectedSum","monthsDueArray","every","saveGroupCollection","closeGroupCollectionForm","deleteGroupCollection","refreshGrid","saveSequence","closeSequenceNumberForm","getSequenceContact","addressLine1","addressLine2","city","zip","notes","saveSequenceContact","closeSequenceContactForm","action","disabled","openSequenceNumberForm","getSequenceNumberInfo","setGroupCollectionValues","parent","allLeafChildren","openGroupCollectionForm","checkToDisableAddGroupCollection","checkToDeleteGroupCollection","openSequenceContactForm","getSequenceContactInfo","onMonthsPaidChanged","minValue","onMonthsGroupPaidChanged","wait","ms","getTime","StatementSearchComponent","agentNumber","resetSearch","AdminPageComponent","showAssociation","showLinkCode","showStatementSearch","AnnuityBankRepLoginPageComponent","isLoggedIn","loginRedirect","loginWithRedirect","appState","registration_code","screen_hint","AnnuityLoginPageComponent","BriefcaseComponent","CollectionsPageComponent","activeTab","searchTerm","routeListRowHeight","enableRouteListSearch","showSubmitBatchButton","showRouteList","showPendingCollectionsList","showCollectingManagerList","showLapsedCollectionForm","enablePolicyNumberSearch","showPolicyFound","showPolicyNotFound","showLapseCollectionInfo","lapseAlertMessage","showSuspenseAlert","showLoanBalanceAlert","disableSaveCollectionButton","disableSaveLapsedCollectionButton","disableSaveGroupCollectionButton","disableSubmitBatchButton","screenWidthForDesktops","pendingCollectionsListHeaderHeight","selectedTab","topRowID","showBillFormListCheckboxes","agentCollectCount","autoPremiumLoanCount","bankDraftCount","creditCardCount","directBillCount","groupListBillCount","agentCollectCheckValue","autoPremiumLoanCheckValue","bankDraftCheckValue","creditCardCheckValue","directBillCheckValue","groupListBillCheckValue","policyAgentID","amountCollected","monthlyPremiumPaid","collectionTypeId","paidToDate","isUseSuspenseChecked","isMakeLoanPaymentChecked","isMakeOverPaymentChecked","availableSuspenseAmount","overpaymentAmount","currentLoanBalance","loanPaymentAmount","collectingAgents","selectedCollectingAgentId","showPolicyDetail","defaultRoutleListColumnDef","tooltipShowDelay","gridOptions2","gridOptions3","getRoutleListColumnDefs","getPendingCollectionsColumnDefs","getBatchHistoryColumnDefs","refreshRouteList","refreshPendingCollectionsList","columnRoutleListDefs","getRoutleListGridIcons","getRoutleListGridTooltip","columnPendingCollectionsDefs","getPendingCollectionsListGridIcons","getPendingCollectionsListGridTooltip","columnBatchHistoryDefs","billFormCodeListValues","concat","billFormCountAgentCollect","billFormCountAutoPremLoan","billFormCountBankDraft","billFormCountCreditCard","billFormCountDirectBill","billFormCountGroupListBill","shift","getAgentWithDownineList","getAgentActiveHierarchyListWithSelf","checked","lockPayment","showLockAlert","getReport","collectionBatchID","disabledTabs","enableTabs","collectionTypeID","requireFullPayment","availableSuspense","overpaymentAmt","originalCashAmount","loanPaymentAmt","loanBalanceAmt","EPSILON","netCashAmount","saveCollection","responseCode","showCollectionErrorAlert","closeLapsedCollectionForm","isLapsed","monthsLapsed","collectionError","locked","formPolicyNumberCtrl","getLapsedPolicy","insertCollectionBatch","rowModel","rowsToDisplay","ensureIndexVisible","topIndex","top","rows","rowTop","topIndexValue","columnModel","premiumColumn","getColumn","premiumTotal","premiumAmt","colDef","overpaymentAmtColumn","overpaymentAmtTotal","agentCollectAmtColumn","agentCollectAmtTotal","agentCollectAmt","appliedSuspenseAmtColumn","appliedSuspenseAmtTotal","appliedSuspenseAmt","loanPaymentAmtColumn","loanPaymentAmtTotal","totalCollectionAmtColumn","totalCollectionAmtTotal","totalCollectionAmt","estCommAmtColumn","estCommAmtTotal","estCommAmt","estNetAmtColumn","estNetAmtTotal","estNetAmt","refreshHeader","checkForLockInGroupCollection","showGroupLockAlert","checkToDisableDeleteGroupCollection","displayPolicyDetail","sequence","openLapsedCollectionForm","iconString","billFormCode","tipString","billFormDesc","collectionType","reportId","sequenceNum","collectionBatchId","tab","refreshBatchHistory","calculatePremiumCollected","totalCollected","disableSave","appliedAmount","appliedOverpayment","alert","calculatePremiumGroupCollected","reg","input","String","fromCharCode","charCode","test","preventDefault","which","keyCode","onBatchHistoryListRowClicked","onGridReady3","insuredAndPayorCellRenderer","insuredAndPayorValueGetter","policyNumAndAgentIDCellRenderer","policyNumAndAgentIDValueGetter","paidToDateAndIssueDateCellRenderer","issueDate","paidToDateAndIssueDateValueGetter","premiumDueAndMonthsCellRenderer","toFixed","premiumDueAndMonthsValueGetter","suspenseAndLoanBalanceCellRenderer","suspenseAndLoanBalanceValueGetter","CompleteProfileComponent","toastr","auth0ID","avatarLink","updateSuccess","updateFailed","showForm","showGrid","profileJson","user$","email","sub","picture","addAgentLinkCodeRecord","select","elementReference","HTMLElement","focus","linkCode","linkCode1","linkCode2","linkCode3","linkCode4","linkCode5","linkCode6","linkAgent","ssn","dob","createUserProfile","userId","sendChannelInit","success","positionClass","tapToDismiss","timeOut","errorCode","enableHtml","ContactPageComponent","setTab","DocumentsPageComponent","EAppComponent","eAppEnabled","eAppMessage","eAppURI","isAnnuity","isAnnuityBank","isSuppHealth","isWebHookConnection","isRestricted","restrictionMessage","disableIllustrate","companyList","Array","company","annuityEAppURL","samlResponse","genericAnnuityLogin","checkeAppStatus","eApp","enabled","getUserRestriction","restriction","isProd","trackEvent","getEAppURI","uri","tappURL","tappUrl","mrsURL","mrsEAppUrl","mrsEAppTrainingUrl","mrsSuppHealthUrl","eventId","companyName","firstName","lastName","formProductCtrl","splice","formCompanyCtrl","getEncryptedSaml","displayName","content","_","eAppForm","nativeElement","submit","FormsPageComponent","datepipe","combineForms","formClass","combineDisabled","individualDisabled","sendEmailDisabled","nodeCount","headerCheckboxSelection","preselected","getSearchParmsAndMessage","getSearchParms","parms","formsPageMessage","stateSearch","stateCompanyArray","forms$","searchForms","selectedNodes","getSelectedNodes","selectedFiles","formNumber","container","currentDateTime","containerName","downloadCombinedForms","emailForms","HomeComponent","showLinkMessage","showFirstTimeMessage","updateRequired","linkedAgents","linkedAgentResponse","linkIdentities","eAppUser","clientID","clientSecret","username","updateLinkedAgents","p","sendunlinkedAgentUpdate","homeVisited","updatePageVisited","LoginPageComponent","disableSignUp","login","signup","ProductsComponent","showFront","showBack","showForAnnuity","hideFromAnnuityBank","slides","displayPreference","getProducts","productOverviewSelected","productsVisited","getProductsByChannel","products","title","getProductSectors","sections","overview","updatePreference","ProfileComponent","defaultAgentId","defaultChannel","setDefaultAgentUpdate","getDefaultAgentUpdate","setDefaultChannelUpdate","getDefaultChannelUpdate","getProfileOptions","profileOptions","updateProfile","sendParmServiceInit","onSubmit","RatesPageComponent","RedirectingComponent","TermsPageComponent","TrainingComponent","showGroup","showNew","overViewList","channelList","activeFilter","overviewGroupList","channelGroupList","overviewNewList","channelNewList","getTraining","trainingVisited","trainingOverviewSelected","training","overviewList","overviewByCategory","channelByCategory","overviewByType","channelByType","channelNew","overviewNew","toggleView","UserListPageComponent","getQuickFilterText","users$","getUserList","getImpersonationProfile","sendImpersonationUpdate","onSearchChanged","NavBarComponent","doc","showImpersonation","showAdmin","showContactUsLink","showDocumentLink","showCollectionsLink","showZoomControls","showRatesLink","systemStatus","systemStatusBadgeText","systemStatusColor","notices","profileComplete","initialChannelValue","currChromeZoom","currFireFoxZoom","currZoomValue","sendChannelUpdate","getParmServiceInit","permissions","nickname","setShowContactUsLink","setShowDocumentsLink","setShowCollectionsLink","setShowRatesLink","getUnlinkedAgentUpdate","getunlinkedAgentUpdate","setInterval","toString","errorNotice","logout","returnTo","location","origin","selectedchannel","selectedDescription","count","valueOf","navigator","userAgent","parseFloat","step","css","Document","CloudStorageService","http","httpOptions","thedata","post","get","authId","area","pageTypeId","prefType","dateModified","formClassID","formStateID","formTypeID","formProductID","formCompanyID","fileNames","formsContainerName","responseType","combined","FileUploadService","backend","file","FormData","append","onPremServerUrl","reportProgress","observe","OnPremStorageService","InputAgentID","InputLast4SSN","InputDOB","LinkCode","res","hideFireAgents","agentLinkId","included","addressOrCity","phoneNumber","kpiId","statementId","policySearch","associatedAgentId","associatedRegionId","put","linkUri","agentLinkCodeId","billFormCodeList","RouteSequenceId","AgentID","CollectionAgentId","MonthsPaid","CashAmt","UserId","toPromise","RegionId","PolicyNum","SequenceNum","Name","AddressLine1","AddressLine2","City","State","Zip","EmailAddress","Phone","Notes","documentId","caOnly","eventData","SiteParameterService","gridNoResults","parmServiceInit","impersonation","channelInit","defaultAgentUpdate","defaultChannelUpdate","kpiSearchUpdate","unlinkedAgentUpdate","_profile","asObservable","environment","production","domain","clientId","redirectUri","audience","bootstrapModule","console"],"mappings":"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KE,WAAL,CAAiB4D,WAAjB;AACA,iBAAKS,iBAAL,CAAuBT,WAAvB;AACD;;;;;;;yBAtCUO,oB,EAAoB,8I,EAAA,qJ;AAAA,O;;;cAApBA,oB;AAAoB,yC;AAAA,kB;AAAA,gB;AAAA,gR;AAAA;AAAA;ACfjC;;AACE;;AACE;;AACE;;AAAM;;AAAY;;AACpB;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAO;;AAAK;;AACZ;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAI;;AACX;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAO;;AACd;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAI;;AACX;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAK;;AACZ;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAG;;AACV;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAK;;AACZ;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAG;;AACV;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAa;;AACpB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAgB;;AACvB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAM;;AACb;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAQ;;AACf;;AACF;;AACF;;AACF;;AAEA;;AACE;;AACE;;AACE;;AAAO;;AAAY;;AACnB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAc;;AACrB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAa;;AACpB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAS;;AAChB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAU;;AACjB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAY;;AACnB;;AACF;;AACF;;AACF;;AAE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E;;AACE;;AACE;;AAAO;;AAA8B;;AACrC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAK;;AACZ;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAU;;AACjB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAW;;AAClB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAU;;AACjB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAY;;AACnB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAY;;AACnB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAW;;AAClB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAO;;AACd;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AAEE;;AAEE;;AAEE;;AAA6B;AAAA;;AAAA;;AAAA;AAAA;;AAC3B;;AACE;;AAA0B;;AAAM;;AAAsD;;AACxF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAiCA;;AAiCA;;AAiCF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;;;AAvMS;;AAAA;;AAKkD;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAcN;;AAAA;;AAOb;;AAAA;;AAiCA;;AAAA;;AAiCA;;AAAA;;;;;;AA4CpC;;AAA6G;;AAAgC;;;;;;AAoE7I;;AACE;;AACE;;AACE;;AACE;;AAAO;;AAAe;;AACtB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAqB;;AAC5B;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAqB;;AAC5B;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAiB;;AACxB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAG;;AACV;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAuB;;AAC9B;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAc;;AACrB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA4B;;AACnC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA4B;;AACnC;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAwC;;AAC/C;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA8B;;AACrC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAkC;;AACzC;;AACF;;AACF;;AACF;;AACF;;;;;;AA5EyD;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;AAQA;;AAAA;;AAMA;;AAAA;;AAMA;;AAAA;;;;;;AAKzD;;AACE;;AACE;;AACE;;AACE;;AAAO;;AAAe;;AACtB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA2B;;AAClC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAqB;;AAC5B;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAiB;;AACxB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAG;;AACV;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAuB;;AAC9B;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAoC;;AAC3C;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAsC;;AAC7C;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAoC;;AAC3C;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAc;;AACrB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAoB;;AAC3B;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA+B;;AACtC;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;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ACE;;AACE;;AAA2B;;;;AAAuD;;AACpF;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAAyC;;AACtE;;AACF;;AACF;;AACF;;AACF;;;;;;AApBqC;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;;;;;AAMrC;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAAK;;AACf;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAA4B;;AACzD;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAA+B;;AAC5D;;AACF;;AACA;;AACE;;AACE;;AAA2B;;;;AAAmD;;AAChF;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAAqC;;AAClE;;AACF;;AACF;;AACF;;AACF;;;;;;AApBqC;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;;;;;AAMrC;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAQ;;AAAW;;AACrB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAAiC;;AAC9D;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAAoC;;AACjE;;AACF;;AACA;;AACE;;AACE;;AAA2B;;;;AAAwD;;AACrF;;AACF;;AACA;;AACE;;AACE;;AAA2B;;AAA0C;;AACvE;;AACF;;AACF;;AACF;;AACF;;;;;;AApBqC;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;AAKA;;AAAA;;;;;;;;AA/iBvD;;AACE;;AACE;;AACA;;AACE;;AACE;;AACE;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAgC;;AACvC;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAO;;AACd;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAU;;AACjB;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAmB;;AAC1B;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAU;;AACjB;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAAY;;AACnB;;AACF;;AACF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A;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,kDAAmB5xB,IAAnB,EAA8CwI,aAA9C,EAA2FyG,mBAA3F,EACUxG,eADV,EACiD;AAAA;;AAAA;;AAD9B,eAAAzI,IAAA,GAAAA,IAAA;AAA2B,eAAAwI,aAAA,GAAAA,aAAA;AAA6C,eAAAyG,mBAAA,GAAAA,mBAAA;AACjF,eAAAxG,eAAA,GAAAA,eAAA;AAvDH,eAAAopB,UAAA,GAAa,KAAb,CAuD0C,CAtDjD;;AACO,eAAAC,aAAA,GAAgB,KAAhB,CAqD0C,CAC/C;;AACA,eAAK9xB,IAAL,CAAUsB,gBAAV,CAA2BC,SAA3B,CAAqC,UAACC,QAAD,EAAuB;AAC1D,gBAAIA,QAAJ,EAAc;AACZ,qBAAI,CAACqwB,UAAL,GAAkB,IAAlB;AACD,aAFD,MAGK;AACH,qBAAI,CAACA,UAAL,GAAkB,KAAlB;AACD;AACF,WAPD,EAF+C,CAU/C;AACD;;;;qCAEO,CACN;AACA;AACA;AACA;AACD,W,CAEH;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;kCAEO;AACH,iBAAK7xB,IAAL,CAAU+xB,iBAAV,CAA4B;AAAEC,sBAAQ,EAAE;AAAExkB,sBAAM,EAAE;AAAV,eAAZ;AAAiCykB,+BAAiB,EAAE;AAApD,aAA5B;AAED;;;mCAEK;AACJ,iBAAKjyB,IAAL,CAAU+xB,iBAAV,CAA4B;AAAEC,sBAAQ,EAAE;AAAExkB,sBAAM,EAAE;AAAV,eAAZ;AAAiC0kB,yBAAW,EAAE;AAA9C,aAA5B;AAED;;;;;;;yBAnLUN,gC,EAAgC,iI,EAAA,8I,EAAA,4I,EAAA,qJ;AAAA,O;;;cAAhCA,gC;AAAgC,gD;AAAA,iB;AAAA,e;AAAA,o7B;AAAA;AAAA;ACb7C;;AACE;;AACE;;AAsCA;;AACA;;AACE;;AACE;;AAAG;;AAAkL;;AAAoC;;AAAa;;AAAI;;AAC5O;;AACF;;AACF;;AACF;;;;AA7CkB;;AAAA;;;;;;;;;wEDWLA,gC,EAAgC;gBAJ5C,uDAI4C;iBAJlC;AACT1xB,oBAAQ,EAAE,yBADD;AAETC,uBAAW,EAAE;AAFJ,W;AAIkC,U;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEb7C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACEI;;AACE;;AACE;;AACE;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAG;;AAAqD;;AAAK;;AAG/D;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAgF;AAAA;;AAAA;;AAAA;AAAA;;AAC9E;;AAAkC;;AACpC;;AACF;;AACA;;AACE;;AAAiF;AAAA;;AAAA;;AAAA;AAAA;;AAC/E;;AAAgC;;AAClC;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;;;UD1BSgyB,yB;AAIX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,2CAAmBnyB,IAAnB,EAA8CwI,aAA9C,EAA2FyG,mBAA3F,EACUxG,eADV,EACiD;AAAA;;AAAA;;AAD9B,eAAAzI,IAAA,GAAAA,IAAA;AAA2B,eAAAwI,aAAA,GAAAA,aAAA;AAA6C,eAAAyG,mBAAA,GAAAA,mBAAA;AACjF,eAAAxG,eAAA,GAAAA,eAAA;AAhEH,eAAAopB,UAAA,GAAa,KAAb,CAgE0C,CA/DjD;;AACO,eAAAC,aAAA,GAAgB,KAAhB,CA8D0C,CAC/C;;AACA,eAAK9xB,IAAL,CAAUsB,gBAAV,CAA2BC,SAA3B,CAAqC,UAACC,QAAD,EAAuB;AAC1D,gBAAIA,QAAJ,EAAc;AACZ,qBAAI,CAACqwB,UAAL,GAAkB,IAAlB;AACD,aAFD,MAGK;AACH,qBAAI,CAACA,UAAL,GAAkB,KAAlB;AACD;AACF,WAPD,EAF+C,CAU/C;AACD;;;;qCAEO,CACN;AACA;AACA;AACA;AACD,W,CAEH;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;kCAEO;AACH,iBAAK7xB,IAAL,CAAU+xB,iBAAV,CAA4B;AAAEC,sBAAQ,EAAE;AAAExkB,sBAAM,EAAE;AAAV,eAAZ;AAAiCykB,+B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","file":"main-es5.53a9f5f2f05fe916ac90.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 { 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: '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 { 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 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 public profileFullStatus = false;\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.profileFullStatus = this.profile.status == 'Full';\n this.getdownlineList(); \n }\n getdownlineList(): void {\n this.showSpinner = true;\n let limitedAccessOnly = !this.profileFullStatus;\n this.onPremService.getAgentDownlineList(this.selectedAgentID, limitedAccessOnly)\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  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  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 public profileFullStatus = false;\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 this.profileFullStatus = this.profile.status == 'Full';\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 let limitedAccessOnly = this.profile.status == 'Limited';\n const response$ = this.onPremService.getKpis(this.selectedAgentID, limitedAccessOnly).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 paymentColumnDefs!: 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 paymentSHColumnDefs = [\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: 250, maxWidth: 300 },\n { field: 'returnDescription', headerName: 'Return Description', minWidth: 100 }\n ];\n paymentNonSHColumnDefs = [\n { field: 'paymentDate', headerName: 'Payment Date', minWidth: 100, comparator: DateComparator },\n { field: 'postDate', headerName: 'Post Date', minWidth: 100, comparator: DateComparator },\n { field: 'premiumAmt', headerName: 'Premium', minWidth: 100 },\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: 125, 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, maxWidth: 150 },\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 this.buildPaymentGridColumns();\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 this.buildPaymentGridColumns();\n\n if (this.profile.status == 'Limited') {\n $('#KPI-tab').addClass('router-link-exact-active');\n $('#KPI').addClass('active');\r\n this.searchType = \"3\";\r\n }\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 let limitedAccessOnly = this.profile.status == 'Limited';\n this.onPremService.getKpiList(this.profile.selectedAgentNumber, limitedAccessOnly, 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 if (this.profile.status == 'Full') {\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 }\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 buildPaymentGridColumns() {\n if (this.profile.channelPreference === 'Supplemental Health [Plus Series]') {\n this.paymentColumnDefs = this.paymentSHColumnDefs;\r\n } else {\n this.paymentColumnDefs = this.paymentNonSHColumnDefs;\r\n }\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 if (document.querySelector('#annuityAllocationAccordion')) {\r\n let allocDiv = document.querySelector('#allocationGrid')!;\r\n if (allocDiv !== null) {\r\n allocDiv.style.width = '';\r\n this.gridApi7.sizeColumnsToFit();\r\n this.gridApi7.setDomLayout('print');\r\n }\r\n $('#annuityAllocationCollapse').addClass(\"show\");\r\n }\r\n if (document.querySelector('#annuityRMDAccordion')) {\r\n $('#annuityRMDCollapse').addClass(\"show\");\r\n } \r\n $('#annuityClientInfoCollapse').addClass(\"show\");\r\n\r\n window.scrollTo(0, 0);\r\n window.print();\r\n\r\n if (document.querySelector('#annuityAllocationAccordion')) {\r\n let allocDiv = document.querySelector('#allocationGrid')!;\r\n if (allocDiv !== null) {\r\n allocDiv.style.width = '60%';\r\n this.gridApi7.setDomLayout(null)\r\n }\r\n $('#annuityAllocationCollapse').removeClass(\"show\");\r\n }\r\n if (document.querySelector('#annuityRMDAccordion')) {\r\n $('#annuityRMDCollapse').removeClass(\"show\");\r\n } \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 switch (link) {\r\n case '#Coverages-tab': {\r\n this.gridApi1.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#PremiumHistory-tab': {\r\n this.gridApi2.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#WithdrawalHistory-tab': {\r\n this.gridApi9.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#StatusHistory-tab': {\r\n this.gridApi3.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#Underwriting-tab': {\r\n this.gridApi4.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#Hierarchy-tab': {\r\n this.gridApi5.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#Beneficiary-tab': {\r\n this.gridApi6.sizeColumnsToFit();\r\n break;\r\n }\r\n case '#Documents-tab': {\r\n this.gridApi8.sizeColumnsToFit();\r\n break;\r\n }\r\n };\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 let limitedAccessOnly = this.profile.status == 'Limited';\n this.cloudStorageService.getDocuments(this.profile.channelPreferenceValue, limitedAccessOnly)\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 let limitedAccessOnly = this.profile.status == 'Limited';\n this.reports$ = this.onPremService.getReports(this.selectedAgentID, limitedAccessOnly).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 && profile.status == 'Full'\" 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 \"Supp Health [Discontinued Trad]\":\r\n case \"Supp Health [Discontinued IMO]\": {\r\n $('#SuppHealth-tab').addClass('router-link-exact-active');\n $('#SuppHealth').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@insadmin.comagentsupport@lbig.comcsr@insadmin.comcsr@insadmin.com
    Mailing AddressPO Box 224
    Brownwood, TX 76804-0224
    1605 LBJ FWY Suite 700
    Dallas, TX 75234
    ATTN: Agent Support
    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 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
    Phone800-731-4300Emailagentsupport@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
    \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
    Phone800-731-4300Emailagentsupport@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 isAnnuityBank = 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 this.isAnnuityBank = this.profile.channelPreference === 'Annuity [Bank]';\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 this.isAnnuityBank = this.profile.channelPreference === 'Annuity [Bank]';\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.mrsEAppUrl : env.dev.mrsEAppTrainingUrl;\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 case 'bankdeferredIllustrations.php':\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n case 'fiabankersIllustrations.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 { 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 let limitedAccessOnly = this.profile.status == 'Limited';\n this.forms$ = this.cloudStorageService.searchForms(selectedBusinessChannel, this.description, this.formClass, stateSearch, this.type, this.product, this.company, limitedAccessOnly);\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 profileFullStatus = 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 this.profileFullStatus = this.profile.status == 'Full';\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 && this.profileFullStatus) {\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 profileFullStatus = false;\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 // Profile Status\n this.profileFullStatus = this.profile.status == 'Full';\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, limitedAccessOnly: boolean): Observable {\n return this.http.get(endpoint + 'getDocuments?luChannelID=' + channelID + '&limitedaccessonly=' + limitedAccessOnly);\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,\n formCompanyID: string, limitedAccessOnly: boolean): Observable { \n return this.http.get(endpoint + 'searchForms?luChannelID=' + channelID + '&description=' + description + '&formClassID=' + formClassID + '&formTypeID=' +\n formTypeID + '&formProductID=' + formProductID + '&formStateID=' + formStateID + '&formCompanyID=' + formCompanyID + '&limitedaccessonly=' + limitedAccessOnly);\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, limitedAccessOnly: boolean): Observable {\n return this.http.get(`${env.dev.onPremServerUrl + 'reports?agentid=' + agentID}&limitedaccessonly=${limitedAccessOnly}`, 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, limitedAccessOnly: boolean): Observable {\n const params = `agentid=${agentId}&limitedaccessonly=${limitedAccessOnly}`;\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, limitedAccessOnly: boolean): Observable {\n const params = `agentid=${agentId}&limitedaccessonly=${limitedAccessOnly}`;\n return this.http.get(`${env.dev.onPremServerUrl + 'kpi?' + params}`, this.httpOptions);\n }\n public getKpiList(agentId: string, limitedAccessOnly: boolean, policySearch: boolean): Observable {\n const params = `agentid=${agentId}&limitedaccessonly=${limitedAccessOnly}&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 mrsEAppUrl: ConfigInfo.mrsEAppUrl,\n mrsEAppTrainingUrl: ConfigInfo.mrsEAppTrainingUrl,\n onPremServerUrl: ConfigInfo.onPremServerUrl,\n annuityEAppURL: ConfigInfo.annuityEAppURL,\n anonymousAllowedList: ConfigInfo.anonymousAllowedList,\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"]}