{"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/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/agentpicker/agentpicker.component.ts","webpack:///src/app/presentation/components/agentpicker/agentpicker.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/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/eappredirect/eappredirect.component.ts","webpack:///src/app/presentation/pages/eappredirect/eappredirect.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/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","YesNoPipe","rollbarConfig","accessToken","captureUncaught","captureUnhandledRejections","RollbarService","RollbarErrorHandler","rollbar","err","rollbarFactory","AgentHierarchyComponent","onPremService","siteParmService","selectedAgentID","showSpinner","showDownlineGrid","downlineAgents","filteredDownline","downlineAgentsByStatus","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","getAgentDownlineList","downline","agent","managerID","findManager","reverse","push","agentID","agentName","JSON","parse","stringify","event","sendAgentDetailUpdate","model","getFilterModel","status","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","onSearchChanged","exportToExcel","onStatusClick","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","AgentPickerComponent","selectedAgentId","subscriptionName","getChannelUpdate","agents","x","channel","channelPreferenceValue","sendAgentUpdate","defaultAgentNumber","selectedAgent","selectedChannel","setProfile","AssociationsComponent","datePipe","showList","showDetail","showAddButton","showUpdateForm","showAddForm","disableUpdate","disableAdd","showAgentIDFound","showAgentIDNotFound","noRowsTemplate","agentLinkAssociationID","associatedAgentID","associatedAgentName","channelID","regionID","associatedRegionID","children","getGridNoResults","listAssociations","getUnassociatedLinkedAgentList","associations$","getAssociations","response","unassociatedLinkedAgents$","apiReponse","selectedAssociation$","getAssociation","formData","addAssociation","agentLinkID","yesterdayDateString","transform","updateDateModified","updateAssociation","confirm","deleteAssociation","formAgentIdCtrl","formAgentNameCtrl","setValue","styles","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","replace","href","URL","createObjectURL","click","removeChild","changeTimeFrame","ComponentLoadingComponent","loadingImg","FileUploadComponent","fileUploadService","showHeaderText","headerText","fileTargetId","policyNumber","clientName","disableUpload","currentFileName","progress","showUploadComplete","rowData","uploadRowCount","comparator","channelUpdate","getFileTargetListAndMessage","getFileUploadList","selectedBusinessChannel","fileTargets$","getFileTargetList","getChannel","documentUploadPageMessage","resp","currentFile","files","validateFields","size","maxFileSize","upload","emailAddress","UploadProgress","round","loaded","total","uploadFile","onSelectFile","onFileTargetChange","onClientNameChange","onPolicyNumberChange","resetUpload","GridTooltipComponent","getDisplayedRowAtIndex","rowIndex","HeroComponent","heroLogo","getCarouselImages","carouselImages","KpisComponent","images","bgColors","agentUpdateSubscription","getKpis","response$","kpis$","kpi","kpis","kpimessage$","kpimessage","executeSearch","sendkpiSearchUpdate","LinkCodeComponent","showRefreshButton","selectedCode","agentLinkCodeID","listLinkCodes","linkCodes$","getAgentLinkCodeRecords","selectedLinkCode$","getAgentLinkCodeRecord","updateAgentLinkCodeRecord","codeStatusColor","LoadingComponent","PendingCollectionsComponent","pendingCollectionsRowData","getPendingCollections","PolicyInfoComponent","showSpinner2","searchType","showReset","showExport","detailTitleName","searchRowData","coverageRowData","paymentRowData","statusHistoryRowData","underwritingStatusRowData","allocationRowData","hierarchyRowData","beneficiaryInfoRowData","beneficiaryRowData","documentsRowData","searchRowCount","policyStatus","currentDate","timeFrameStart","timeFrameEnd","insuredName","phone","addressCity","downlineAgent","policy","selectedPolicy","gridName","asOfDateMessage","limitMessage","disableTimeFrame","disableAdvancedDates","clientInfoAccordionExpanded","rmaAccordionExpanded","allocationAccordionExpanded","coverageColumnDefs","maxWidth","paymentColumnDefs","statusHistoryColumnDefs","underwritingStatusColumnDefs","hierarchyColumnDefs","beneficiaryColumnDefs","allocationColumnDefs","documentsColumnDefs","textAlign","onCellClicked","downloadDocument","channelSubscription","getKPIList","getDownlineAgentList","impersonationSubscription","getImpersonationUpdate","kpiSearchSubscription","getkpiSearchUpdate","$","removeClass","addClass","k","description","kpiid","element","searchPolicies","setDetailType","getGridColumnList","map","column","list","searchColumnDefs","changeTimeFrameDates","valueAsDate","getColumnDefs","startDateString","endDateString","channelPreference","policies","scrollIntoView","parsedStartDate","parsedEndDate","startSearchDate","getUTCFullYear","getUTCMonth","getUTCDate","endSearchDate","searchAdvancedPolicies","searchKpiPolicies","getKpiList","getAgentHierarchyList","isAnnuityPolicy","channelId","getPolicyDetail","policyCoverages","policyPayments","policyStatusHistory","policyUnderwritingStatus","policyHierarchy","policyBeneficiaryInfo","policyBeneficiary","policyAllocation","policyDocuments","annuitantName","detailPageName","show","gridApi2","gridColumnApi2","gridApi3","gridColumnApi3","gridApi4","gridColumnApi4","gridApi5","gridColumnApi5","gridApi6","gridColumnApi6","gridApi7","gridColumnApi7","gridApi8","gridColumnApi8","window","print","days","result","link","documentDate","fileDate","replaceAll","policyDocumentID","clearSearch","checkDates","checkAdvancedDates","onStartDateSelect","onEndDateSelect","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","rowGroup","valueFormatter","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","AnnuityLoginPageComponent","isLoggedIn","loginRedirect","screenWidthForLargeDevice","screenWidthForSmallDevice","newBusinessDeferredRatesRowData","newBusinessImmediateRatesRowData","newBusinessFixedIndexRatesRowData","renewalDeferredRatesRowData","renewalImmediateRatesRowData","domLayout","suppressMenu","suppressMovable","colSpan","getChannelProductLinks","innerWidth","getListColumnDefs","getRateLists","ratesDeferredNBRatesColumnDefs","tooltipValueGetter","getRateTooltip","rateGetter","ratesImmediateNBRatesColumnDefs","ratesDeferredRenewalRatesColumnDefs","ratesImmediateRenewalRatesColumnDefs","fixedIndexRatesColumnDefs","periodAndRateGetter","autoHeight","loginWithRedirect","appState","registration_code","screen_hint","rateType","getAnnuityDeferredRates","rates","getAnnuityImmediateRates","getAnnuityFixedIndexRates","getAnonymousProductsByChannel","productList","channelProduct","rateStartDate","onClickTabSelect","seriesAndProductGetter","product","series","rateValue","rate","rateFirstYear","guaranteePeriod","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","headerClass","tooltipShowDelay","gridOptions2","gridOptions3","getRoutleListColumnDefs","getPendingCollectionsColumnDefs","getBatchHistoryColumnDefs","refreshRouteList","refreshPendingCollectionsList","columnRoutleListDefs","getRoutleListGridIcons","getRoutleListGridTooltip","columnPendingCollectionsDefs","getPendingCollectionsListGridIcons","getPendingCollectionsListGridTooltip","columnBatchHistoryDefs","billFormCodeListValues","concat","billFormCountAgentCollect","billFormCountAutoPremLoan","billFormCountBankDraft","billFormCountCreditCard","billFormCountDirectBill","billFormCountGroupListBill","shift","getAgentWithDownine","agentLinkId","getAgentActiveHierarchyListWithSelf","getLinkedAgentList","getAgentWithDownineList","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","gridApi9","gridColumnApi9","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","DocumentsPageComponent","EAppComponent","eAppEnabled","eAppMessage","eAppURI","isAnnuity","isSuppHealthHIP","isRestricted","restrictionMessage","disableIllustrate","companyList","Array","company","checkeAppStatus","eApp","enabled","getUserRestriction","restriction","isProd","trackEvent","getEAppURI","uri","tappURL","tappUrl","mrsUrl","eventId","companyName","firstName","lastName","formProductCtrl","splice","formCompanyCtrl","EAppRedirectComponent","route","caseId","location","searchParams","get","eAppRedirectUrlPart1","encodeURIComponent","eAppRedirectUrlPart2","FormsPageComponent","datepipe","combineForms","formClass","combineDisabled","individualDisabled","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","getProducts","productOverviewSelected","productsVisited","getProductsByChannel","getProductSectors","sections","overview","updatePreference","ProfileComponent","displayName","defaultAgentId","defaultChannel","setDefaultAgentUpdate","getDefaultAgentUpdate","setDefaultChannelUpdate","getDefaultChannelUpdate","getProfileOptions","profileOptions","updateProfile","sendParmServiceInit","onSubmit","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","NavBarComponent","doc","showImpersonation","showAdmin","showDocumentLink","showCollectionsLink","systemStatus","systemStatusBadgeText","systemStatusColor","notices","profileComplete","initialChannelValue","currChromeZoom","currFireFoxZoom","currZoomValue","sendChannelUpdate","getParmServiceInit","permissions","nickname","setShowDocumentsLink","setShowCollectionsLink","getUnlinkedAgentUpdate","getunlinkedAgentUpdate","setInterval","toString","errorNotice","logout","returnTo","origin","selectedchannel","selectedDescription","count","valueOf","navigator","userAgent","parseFloat","step","css","Document","CloudStorageService","http","httpOptions","thedata","post","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","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","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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E;AAFJ,W;AAIc,U;;;;;;;;;;;;;;;;;;;;;;AEXzB;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;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;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;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;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;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;A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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;;AAAiC;;AACxC;;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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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;;;;;;;;AA1hBvD;;AACE;;AACE;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAe;;AACtB;;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;;AACF;;AACA;;AACE;;AACE;;AACE;;AAAO;;AAAqB;;AAC5B;;AACF;;AACF;;AACA;;AACE;;AACE;;AAAO;;AAA4B;;AACnC;;AACF;;AACF;;AACA;;AACE;;AACE;;AA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;AACA;;AAAI;;AAAG;;AAAG;;AAAI;;AACd;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAkB;;AAAI;;AAC7B;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAM;;AAA8B;;AACtC;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACA;;AAAI;;AAAY;;AAChB;;AAAI;;AAAW;;AACf;;AAAI;;AAAqB;;AACzB;;AAAI;;AAAM;;AACZ;;AACA;;AACE;;AAAI;;AAAG;;AAAK;;AAAI;;AAChB;;AACA;;AACA;;AAAI;;AAAY;;AAChB;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAK;;AAAI;;AAChB;;AACA;;AACA;;AACA;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAe;;AAAI;;AAC1B;;AACA;;AACA;;AAAI;;AAAa;;AAAM;;AAAyB;;AAChD;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAG;;AAAI;;AACd;;AACA;;AACA;;AACA;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAkB;;AAAI;;AAC7B;;AACA;;AACA;;AACA;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AAAM;;AAAS;;AACjB;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAI;;AAAG;;AAAK;;AAAI;;AAChB;;AAAI;;AAAc;;AAClB;;AAAI;;AAAG;;AAAK;;AAAI;;AAChB;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAe;;AAAI;;AAC1B;;AACA;;AAAI;;AAAG;;AAAG;;AAAI;;AACd;;AACF;;AACA;;AACE;;AAAI;;AAAG;;AAAkB;;AAAI;;AAC7B;;AAAI;;AAA0B;;AAAM;;AAAqB;;AACzD;;AACF;;AACF;;AACF;;AACF;;AACF;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AAAM;;AAA8B;;AACtC;;AACF;;AACA;;AACE;;AACE;;AACE;;AACE;;AACE;;AACA;;AAAI;;AAAY;;AA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","file":"main-es5.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 { HomeComponent } from './presentation/pages/home/home.component';\nimport { FormsPageComponent } from './presentation/pages/forms/forms.component';\nimport { ProfileComponent } from './presentation/pages/profile/profile.component';\nimport { TermsPageComponent } from './presentation/pages/terms/terms.component';\nimport { CompleteProfileComponent } from './presentation/pages/completeprofile/completeprofile.component';\nimport { ProductsComponent } from './presentation/pages/products/products.component';\nimport { BriefcaseComponent } from './presentation/pages/briefcase/briefcase.component';\nimport { TrainingComponent } from './presentation/pages/training/training.component';\nimport { EAppComponent } from './presentation/pages/eapp/eapp.component';\nimport { AuthGuard } from '@auth0/auth0-angular';\nimport { UserListPageComponent } from './presentation/pages/userlist/userslist.component';\nimport { AnonymousGuard } from './authentication/anonymous.guard';\nimport { ProfileGuard } from './authentication/profile.guard';\nimport { ContactPageComponent } from './presentation/pages/contact/contact.component';\nimport { AdminPageComponent } from './presentation/pages/admin/admin.component';\r\nimport { DocumentsPageComponent } from './presentation/pages/documents/documents.component';\r\nimport { EAppRedirectComponent } from './presentation/pages/eappredirect/eappredirect.component';\r\nimport { RedirectingComponent } from './presentation/pages/redirecting/redirecting.component';\r\nimport { CollectionsPageComponent } from './presentation/pages/collections/collections.component';\r\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: 'home',\n component: HomeComponent,\n pathMatch: 'full',\n canActivate: [AuthGuard],\n },\n {\n path: 'completeprofile',\n component: CompleteProfileComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'products',\n component: ProductsComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'forms',\n component: FormsPageComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'briefcase',\n component: BriefcaseComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'training',\n component: TrainingComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'eapp',\n component: EAppComponent,\n canActivate: [AuthGuard, ProfileGuard],\n },\n {\n path: 'terms',\n component: TermsPageComponent\n },\n {\n path: 'userlist',\n component: UserListPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n },\n {\n path: 'admin',\n component: AdminPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n },\n {\n path: 'contact',\n component: ContactPageComponent\n },\n {\n path: 'documents',\n component: DocumentsPageComponent\n },\n {\n path: 'eappredirect',\n component: EAppRedirectComponent,\n },\n {\n path: 'redirecting',\n component: RedirectingComponent,\n },\n {\n path: 'collections',\n component: CollectionsPageComponent,\n canActivate: [AuthGuard, ProfileGuard]\n }\n];\n\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('CompanyName=Liberty Bankers Life Insurance Company,LicensedApplication=LBIG Agent Portal,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=2,LicensedProductionInstancesCount=1,AssetReference=AG-024361,ExpiryDate=10_January_2023_[v2]_MTY3MzMwODgwMDAwMA==70cbf000a477de0191960d19dcc26818');}\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 { AnnuityLoginPageComponent } from './presentation/pages/annuitylogin/annuitylogin.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 { 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';\n//import { NgbDatepickerModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\nimport { RollbarErrorHandler, rollbarFactory, RollbarService } from './core/rollbar';\nimport { AgGridModule } from 'ag-grid-angular';\nimport 'ag-grid-enterprise';\nimport { ContactPageComponent } from './presentation/pages/contact/contact.component';\nimport { AdminPageComponent } from './presentation/pages/admin/admin.component';\r\nimport { AssociationsComponent } from './presentation/components/associations/associations.component';\r\nimport { LinkCodeComponent } from './presentation/components/link-code/link-code.component';\r\nimport { StatementSearchComponent } from './presentation/components/statement-search/statement-search.component';\r\nimport { AgGridResizeDirective } from './common/ag-grid-resize.directive';\r\nimport { DocumentsPageComponent } from './presentation/pages/documents/documents.component';\r\nimport { FileUploadComponent } from './presentation/components/fileupload/fileupload.component';\r\nimport { EAppRedirectComponent } from './presentation/pages/eappredirect/eappredirect.component';\r\nimport { RedirectingComponent } from './presentation/pages/redirecting/redirecting.component';\r\nimport { CollectionsPageComponent } from './presentation/pages/collections/collections.component';\r\nimport { RouteListComponent } from './presentation/components/routelist/routelist.component';\r\nimport { BatchHistoryComponent } from './presentation/components/batchhistory/batchhistory.component';\r\nimport { PendingCollectionsComponent } from './presentation/components/pendingcollections/pendingcollections.component';\r\nimport { GridTooltipComponent } from './presentation/components/grid-tooltip/grid-tooltip.component';\r\n\n@NgModule({\n\n declarations: [\n AppComponent,\n HeroComponent,\n LoadingComponent,\n ComponentLoadingComponent,\n NavBarComponent,\n HomeComponent,\n ProfileComponent,\n KpisComponent,\n BriefcaseComponent,\n AgentPickerComponent,\n AgentDetailComponent,\n CommissionsComponent,\n FormsPageComponent,\n PolicyInfoComponent,\n LoginPageComponent,\n AnnuityLoginPageComponent,\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 EAppRedirectComponent,\n RedirectingComponent,\n CollectionsPageComponent,\n RouteListComponent,\n BatchHistoryComponent,\n PendingCollectionsComponent,\n GridTooltipComponent\n ],\n exports: [ \n ],\n imports: [\n MDBBootstrapModule,\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n FontAwesomeModule,\n MDBBootstrapModule.forRoot(), \n ToastrModule.forRoot(),\n BrowserAnimationsModule,\n FormsModule,\n CommonModule,\n AgGridModule.withComponents([]), \n //NgbDatepickerModule,\n NgbTooltipModule,\n AuthModule.forRoot({\n ...env.auth,\n httpInterceptor: {\n allowedList: [`${env.dev.serverUrl}/datawidget/*`],\n },\n }),\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true,\n },\n DatePipe,\n { provide: ErrorHandler, useClass: RollbarErrorHandler },\n { provide: RollbarService, useFactory: rollbarFactory }\n ],\n bootstrap: [AppComponent],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class AppModule {}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Observable, of } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AnonymousGuard implements CanActivate {\n constructor(private router: Router, public auth: AuthService) { }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree { \n this.auth.isAuthenticated$.subscribe((hasToken: boolean) => {\n if (hasToken) {\n return this.router.navigate(['/home']);\n }\n else {\n return true;\n }\n });\n return true;\n } \n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanActivateChild, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { SiteParameterService } from '../services/siteparameter.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileGuard implements CanActivate, CanActivateChild {\n private endpoint = './api/clouddata/';\n constructor(private router: Router, public siteParameterService: SiteParameterService) { }\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (!this.siteParameterService.profileLoadComplete) {\n return this.siteParameterService.loadProfile();\n }\n else {\n return of(true);\n }\n }\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n if (!this.siteParameterService.profileLoadComplete) {\n return this.siteParameterService.loadProfile();\n }\n else {\n return of(true);\n }\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { Observable } from 'rxjs';\nimport { catchError, mergeMap } from 'rxjs/operators';\nimport { throwError } from 'rxjs';\nimport { RollbarService } from '../core/rollbar';\nimport { environment as env } from '../../environments/environment';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private injector: Injector,public auth: AuthService) { }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n var allowedList = env.dev.anonymousAllowedList.split(\"|\");\n if (allowedList.some(item => request.url.includes(item))) {\n\n return next.handle(request);\r\n\r\n }\n\n return this.auth.getAccessTokenSilently().pipe(\n mergeMap(token => {\n const tokenReq = request.clone({\n headers: request.headers.set('Content-Type', 'application/json').set('Authorization', `Bearer ${token}`)\n });\n return next.handle(tokenReq);\n }),\n catchError((error: HttpErrorResponse) => {\n\n //const rollbar = this.injector.get(RollbarService);\n\n let errorMessage = '';\n if (error.error instanceof ErrorEvent) {\n // client-side error\n errorMessage = 'Error: ${ error.error.message }';\n\n } else {\n // server-side error\n errorMessage = 'Error Code: ${ error.status } \\nMessage: ${ error.message }';\n }\n //rollbar.error(new Error(error.message).stack)\n return throwError(errorMessage);\n })\n );\n }\n\n}\n\n","import { ValueFormatterParams } from \"ag-grid-community\";\r\n\r\nexport function currencyFormatter(params: ValueFormatterParams) {\r\n var currencyValue = isNaN(params.value) ? \"\" : formatNumber(params.value);\r\n return currencyValue;\r\n}\r\n\r\nexport function formatNumber(number: number) {\r\n return number.toLocaleString('en-US', {\r\n style: 'currency',\r\n currency: 'USD'\r\n });\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ag-grid-resize]'\r\n})\r\nexport class AgGridResizeDirective {\r\n private gridApi: any;\r\n @HostListener('window:resize')\r\n onResize() {\r\n if (!this.gridApi) return;\r\n\r\n setTimeout(() => {\r\n this.gridApi.sizeColumnsToFit();\r\n });\r\n }\r\n\r\n @HostListener('gridReady', ['$event'])\r\n onGridReady(params: any) {\r\n this.gridApi = params.api;\r\n params.api.sizeColumnsToFit();\r\n }\r\n}\r\n","import { AgentDownline } from \"../models/downline\";\n\nexport function ReturnDateRangeFromType(rangeType: string): [Date?, Date?] {\n\n var startDate: Date | null;\n var endDate: Date | null;\n\n switch (rangeType) {\n case \"MTD\": {\n let [firstDay, lastDay] = getFirstDayofMonth(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"QTD\": {\n let [firstDay, lastDay] = getFirstDayofQuarter(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"WTD\": {\n let [firstDay, lastDay] = getFirstDayofWeek(new Date());\n startDate = firstDay;\n endDate = lastDay; \n break;\n }\n case \"YTD\": { \n let [firstDay, lastDay] = getFirstDayofYear(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"MTDP\": {\n let [firstDay, lastDay] = getPreviousMonth(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"QTDP\": {\n let [firstDay, lastDay] = getPreviousQuarter(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"WTDP\": {\n let [firstDay, lastDay] = getPreviousWeek(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"YTDP\": {\n let [firstDay, lastDay] = getPreviousYear(new Date());\n startDate = firstDay;\n endDate = lastDay;\n break;\n }\n case \"ALL\": {\n startDate = null;\n endDate = null;\n break;\n }\n }\n\n return [startDate!, endDate!];\n}\n\nfunction getFirstDayofWeek(d: Date): [Date, Date] {\n const day = d.getDay(),\n diff = d.getDate() - day + (day == 0 ? -6:1);\n const firstday = new Date(d.setDate(diff));\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate() + 6);\n return [firstday, lastday]\n}\n\nfunction getPreviousWeek(d: Date): [Date, Date] {\n const day = d.getDay(), \n diff = d.getDate() - day + (day == 0 ? -6:1);\n const firstday = new Date(d.setDate(diff - 7));\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth(), firstday.getDate() +6);\n return[firstday, lastday]\n}\n\nfunction getFirstDayofMonth(d: Date): [Date, Date] {\n const monthDate = d.getMonth();\n const firstday = new Date(d.getFullYear(), monthDate, 1);\n const lastday = new Date(d.getFullYear(), monthDate + 1, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousMonth(d: Date): [Date, Date] {\n const month = d.getMonth();\n const monthDate = month - 1;\n\n const firstday = new Date(d.getFullYear(), monthDate, 1);\n const lastday = new Date(d.getFullYear(), monthDate + 1, 0);\n\n return[firstday, lastday];\n}\n\nfunction getFirstDayofQuarter(d: Date): [Date, Date] {\n const quarter = Math.floor((d.getMonth() / 3));\n const firstday = new Date(d.getFullYear(), quarter * 3, 1);\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth() + 3, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousQuarter(d: Date): [Date, Date] {\n const quarter = Math.floor((d.getMonth() / 3)); \n const firstday = new Date(d.getFullYear(), quarter * 3 - 3, 1);\n const lastday = new Date(firstday.getFullYear(), firstday.getMonth() + 3, 0);\n\n return[firstday, lastday];\n}\n\nfunction getFirstDayofYear(d: Date): [Date, Date] {\n const year = d.getFullYear();\n const firstday = new Date(year, 0, 1);\n const lastday = new Date(year + 1, 0, 0);\n return [firstday, lastday]; \n}\n\nfunction getPreviousYear(d: Date): [Date, Date] {\n const year = d.getFullYear();\n const yearDate = year - 1;\n\n const firstday = new Date(yearDate, 0, 1);\n const lastday = new Date(yearDate + 1, 0, 0);\n\n return[firstday, lastday];\n}\n\nexport function DateComparator(date1: string, date2: string) {\n const date1Number = monthToComparableNumber(date1);\n const date2Number = monthToComparableNumber(date2);\n if (date1Number === null && date2Number === null) {\n return 0;\n }\n if (date1Number === null) {\n return -1;\n }\n if (date2Number === null) {\n return 1;\n }\n return date1Number - date2Number;\n}\n\nfunction monthToComparableNumber(date: string) {\n if (date === undefined || date === null || date.length !== 10) {\n return null;\n }\n const yearNumber = Number.parseInt(date.substring(6, 10));\n const dayNumber = Number.parseInt(date.substring(3, 5));\n const monthNumber = Number.parseInt(date.substring(0, 2));\n return yearNumber * 10000 + monthNumber * 100 + dayNumber;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phone'\r\n})\r\n\r\nexport class PhonePipe implements PipeTransform {\r\n transform(value: string): string {\r\n var returnValue: string = 'N/A';\r\n\r\n if (value.length === 10)\r\n returnValue = value.slice(0, 3) + '-' + value.slice(3, 6) + '-' + value.slice(6);\r\n\r\n return returnValue;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'yesNo'\n})\nexport class YesNoPipe implements PipeTransform {\n\n transform(value: boolean): string {\n return value ? \"Yes\" : \"No\";\n }\n}\n","//import * as Rollbar from 'rollbar'; // When using Typescript < 3.6.0.\n import Rollbar from 'rollbar'; \n// However, it will only work when setting either `allowSyntheticDefaultImports` \n// or `esModuleInterop` in your Typescript options.\n\nimport {\n Injectable,\n Inject,\n InjectionToken,\n ErrorHandler\n} from '@angular/core';\n\nconst rollbarConfig = {\n accessToken: '0dadd8790caf4e5da2bf738003214845',\n captureUncaught: true,\n captureUnhandledRejections: true,\n};\n\nexport const RollbarService = new InjectionToken('rollbar');\n\n@Injectable()\nexport class RollbarErrorHandler implements ErrorHandler {\n constructor(@Inject(RollbarService) private rollbar: Rollbar) { }\n\n handleError(err: any): void {\n try {\n //this.rollbar.error(err.originalError || err);\n }\n catch {\n //swallow exception if our rollbar account has reached the monthly limit\n }\n }\n}\n\nexport function rollbarFactory() {\n return new Rollbar(rollbarConfig);\n}\n\n\n\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AgentDownline } from '../../../models/downline';\nimport { Profile } from '../../../models/profile';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { CellClassParams, RowSelectedEvent } from 'ag-grid-community';\n\n@Component({\n selector: 'app-agent-hierarchy',\n templateUrl: './agent-hierarchy.component.html',\n styleUrls: ['./agent-hierarchy.component.css']\n})\nexport class AgentHierarchyComponent implements OnInit {\n private selectedAgentID: string = \"\";\n profile!: Profile;\n public showSpinner = false;\n public showDownlineGrid = true;\n private agentUpdate: Subscription;\n public downlineAgents: AgentDownline[] = [];\n public filteredDownline: AgentDownline[] = [];\n public downlineAgentsByStatus: AgentDownline[] = [];\n private gridApi: any;\n private gridColumnApi: any;\n private gridApi1: any;\n private gridColumnApi1: any;\n private hierarchy: string[] = [];\n private savedFilter: {} = {};\n public columnDefs = [\n { field: 'agentName', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true } },\n { field: 'commissionLevel' },\n { field: 'status', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true }, cellStyle: cellStyle }\n ];\n public columnDefs1 = [\n { headerName: 'Agent', valueGetter: idAndNameGetter, minWidth: 300, filterParams: { suppressAndOrCondition: true } },\n { field: 'agentName', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true } },\n { field: 'commissionLevel' },\n { field: 'status', filter: 'agTextColumnFilter', filterParams: { suppressAndOrCondition: true }, cellStyle: cellStyle }\n ];\n public defaultColDef = { flex: 1 };\n public autoGroupColumnDef = {\n headerName: 'Agent',\n minWidth: 300,\n cellRendererParams: { suppressCount: true },\n };\n public groupDefaultExpanded = -1;\n public getDataPath = function (data: AgentDownline) {\n return data.orgHierarchy;\n };\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n }\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.agentUpdate = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.getdownlineList();\n });\n }\n\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getdownlineList();\n }\n getdownlineList(): void {\n this.showSpinner = true;\n this.onPremService.getAgentDownlineList(this.selectedAgentID)\n .subscribe(downline => {\n this.downlineAgents = downline;\n this.downlineAgentsByStatus = [];\n for (let agent of this.downlineAgents) {\n if (agent.managerID) {\n this.hierarchy.length = 0;\n this.findManager(agent.managerID);\n this.hierarchy.reverse();\n this.hierarchy.push(agent.agentID + ' - ' + agent.agentName);\n agent.orgHierarchy = JSON.parse(JSON.stringify(this.hierarchy));\n } else {\n agent.orgHierarchy = [agent.agentID + ' - ' + agent.agentName];\n }\n }\n this.showSpinner = false;\n });\n }\n onRowSelected(event: any) {\n this.siteParmService.sendAgentDetailUpdate(event.data.agentID);\n }\n onFilterChanged(event: any) {\n const model = event.api.getFilterModel();\n if (JSON.stringify(this.savedFilter) !== JSON.stringify(model)) {\n this.savedFilter = model;\n if (!model.status && !model.agentName) {\n event.api.setRowData(this.downlineAgents);\n return;\n }\n if (model.status) {\n if (model.status.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().indexOf(model.status.filter.toUpperCase()) != -1)));\n }\n if (model.status.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().startsWith(model.status.filter.toUpperCase()))));\n }\n }\n if (model.agentName) {\n if (model.agentName.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.agentName.toUpperCase().indexOf(model.agentName.filter.toUpperCase()) != -1)));\n }\n if (model.agentName.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.agentName.toUpperCase().startsWith(model.agentName.filter.toUpperCase()))));\n }\n }\n if (model.status && model.agentName) {\n if (model.status.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().indexOf(model.status.filter.toUpperCase()) != -1)));\n }\n if (model.status.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.downlineAgents.filter(f => f.status.toUpperCase().startsWith(model.status.filter.toUpperCase()))));\n }\n if (model.agentName.type == 'contains') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.filteredDownline.filter(f => f.agentName.toUpperCase().indexOf(model.agentName.filter.toUpperCase()) != -1)));\n }\n if (model.agentName.type == 'startsWith') {\n this.filteredDownline = JSON.parse(JSON.stringify(this.filteredDownline.filter(f => f.agentName.toUpperCase().startsWith(model.agentName.filter.toUpperCase()))));\n }\n }\n for (let agent of this.filteredDownline) {\n agent.orgHierarchy.length = 0;\n if (agent.managerID) {\n this.hierarchy.length = 0;\n this.findFilteredManager(agent.managerID);\n this.hierarchy.reverse();\n this.hierarchy.push(agent.agentID + ' - ' + agent.agentName);\n agent.orgHierarchy = JSON.parse(JSON.stringify(this.hierarchy));\n } else {\n agent.orgHierarchy = [agent.agentID + ' - ' + agent.agentName];\n }\n }\n event.api.setRowData(this.filteredDownline);\n event.api.setFilterModel(model);\n }\n }\n onRowClicked(event: RowSelectedEvent) {\n this.siteParmService.sendAgentDetailUpdate(event.data.agentID);\n }\n findManager(s: string): any {\n let obj = this.downlineAgents.find(i => i.agentID === s);\n if (obj) {\n this.hierarchy.push(obj.agentID + ' - ' + obj.agentName);\n return this.findManager(obj.managerID);\n } else {\n return;\n }\n }\n findFilteredManager(s: string): any {\n let obj = this.filteredDownline.find(i => i.agentID === s);\n if (obj) {\n this.hierarchy.push(obj.agentID + ' - ' + obj.agentName);\n return this.findFilteredManager(obj.managerID);\n } else {\n return;\n }\n }\n onSearchChanged() {\n let field = document.getElementById('search') as HTMLInputElement;\n\n if (this.showDownlineGrid)\n this.gridApi.setQuickFilter(field.value);\n else\n this.gridApi1.setQuickFilter(field.value);\r\n }\n exportToExcel() {\n const params = {\n fileName: this.profile.selectedAgentNumber + '_AgentDownline',\n sheetName: 'Agent Downline'\n };\n\n if (this.showDownlineGrid)\n this.gridApi.exportDataAsExcel(params);\n else\n this.gridApi1.exportDataAsExcel(params);\n }\n onStatusClick($event: any) {\n let clickedElement = $event.target || $event.srcElement;\n\n if (clickedElement.nodeName === \"BUTTON\") {\n if (!clickedElement.classList.contains(\"active\")) {\n let isCertainButtonAlreadyActive = clickedElement.parentElement.querySelector(\".active\");\n // if a Button already has Class: .active\n if (isCertainButtonAlreadyActive) {\n isCertainButtonAlreadyActive.classList.remove(\"active\");\n }\n clickedElement.className += \" active\"; \n }\n\n selectedStatus = $event.srcElement.value;\n\n if (selectedStatus == \"All\") {\n this.showDownlineGrid = true;\r\n }\n else {\n this.showDownlineGrid = false;\r\n this.downlineAgentsByStatus = this.downlineAgents.filter(f => f.status == selectedStatus);\r\n }\n let field = document.getElementById('search') as HTMLInputElement;\n field.value = '';\n }\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.agentUpdate.unsubscribe();\n }\n}\nvar selectedStatus = 'All';\nfunction cellStyle(params: CellClassParams) {\r\n const color = buttonColorToColorCode(params.node.data.color.toLowerCase());\r\n return {\r\n color: color,\r\n };\r\n}\nfunction buttonColorToColorCode(color: any) {\r\n var fontColor = '#28a745';\n switch (color) {\n case 'success':\n fontColor = '#28a745';\n break;\n case 'warning':\n fontColor = '#ffc107';\n break;\n case 'info':\n fontColor = '#17a2b8';\n break;\n case 'danger':\n fontColor = '#dc3545';\n break;\n }\n return fontColor;\r\n}\r\nfunction idAndNameGetter(params: any) {\r\n return params.data.agentID + ' - ' + params.data.agentName;\r\n}\r\n","
\n
\n

\n Downline Agents\n

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

\n Agent Detail\n

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

    \r\n Batch History\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Profile } from '../../../models/profile'\nimport { Subscription } from 'rxjs';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { alertItem } from '../../../models/alertItem';\n\n@Component({\n selector: 'app-channelnews',\n templateUrl: './channelnews.component.html',\n styleUrls: ['./channelnews.component.css']\n})\nexport class ChannelNewsComponent implements OnInit {\n alertItems: alertItem[] = [];\n profile: Profile;\n accordionExanded: boolean[] = [];\n private subscriptionName: Subscription; //important to create a subscription\n constructor(public cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService) {\n this.profile = this.siteParmService.getStaticProfile();\n this.subscriptionName = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.cloudStorageService.getAlertsByChannel(this.profile.channelPreferenceValue)\n .subscribe(alerts => this.alertItems = alerts);\n });\n }\n ngOnInit(): void {\n this.cloudStorageService.getAlertsByChannel(this.profile.channelPreferenceValue)\n .subscribe(alerts =>\n this.alertItems = alerts\n );\n }\n toggleAccordion(index: number) {\n this.accordionExanded[index] = !this.accordionExanded[index];\n }\n getAccordionArrowStyle(index: number) {\n return this.accordionExanded[index] ? 'fas fa-angle-up' : 'fas fa-angle-down';\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","
    \n
    \n \n
    \n
    \n \n
    \n
    \n

    \n
    \n
    \n
    \n
    \n

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

    \n Commission Statement Search\n

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

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

    \n
    \n
    \n
    \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'component-loading',\n templateUrl: './componentloading.component.html',\n})\nexport class ComponentLoadingComponent implements OnInit {\n loadingImg =\n 'https://cdn.auth0.com/blog/auth0-react-sample/assets/loading.svg';\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { HttpEvent, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { Observable, Subscription } from 'rxjs';\nimport { finalize, map, take } from 'rxjs/operators';\r\nimport { 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 policyNumber: string = '';\r\n public clientName: string = '';\r\n public disableUpload: boolean = true;\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 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 }\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 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 //if (this.currentFile !== undefined && this.fileTargetId > 0) {\r\n // this.disableUpload = false;\r\n //}\r\n //else {\r\n // this.disableUpload = true;\r\n //}\r\n }\n\n onFileTargetChange(event: any): void {\r\n this.validateFields();\r\n //if (this.currentFile !== undefined && this.fileTargetId > 0) {\r\n // this.disableUpload = false;\r\n //}\r\n //else {\r\n // this.disableUpload = true;\r\n //}\r\n }\n\n onPolicyNumberChange(event: any): void {\n this.policyNumber = event.target.value;\r\n }\n\n onClientNameChange(event: any): void {\n this.clientName = event.target.value;\r\n this.validateFields();\r\n //if (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 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 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.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 {{ 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 {{uploadRowCount === 1 ? uploadRowCount + \" Upload\" : uploadRowCount + \" Uploads\"}}\r\n

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

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

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

    \n Key Performance Indicators\n

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

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

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

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

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

    \r\n Pending Collections\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\n\nimport { DatePipe } from '@angular/common';\nimport { ReturnDateRangeFromType, DateComparator } from '../../../common/helpers';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { Profile } from '../../../models/profile';\nimport { KPI } from '../../../models/kpi';\nimport { AgentLink } from '../../../models/agentLink';\nimport { Policy } from '../../../models/policy';\nimport { Subscription } from 'rxjs';\nimport { ColDef, RowSelectedEvent } from 'ag-grid-community';\nimport { AgentGrid } from '../../../models/agentGrid';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { map, take } from 'rxjs/operators';\r\nimport { gridColumn } from '../../../models/gridColumn';\r\nimport { CellClickedEvent } from 'ag-grid';\r\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 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 = 1;\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 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 gridName: string = \"Policy\";\n public noRowsTemplate: string = \"\";\n public asOfDateMessage: string = \"\";\n public limitMessage: string = \"\";\n public disableTimeFrame: boolean = true;\n public disableAdvancedDates: boolean = true;\n public clientInfoAccordionExpanded: boolean = false;\n public rmaAccordionExpanded: boolean = false;\n public allocationAccordionExpanded: boolean = false;\n searchColumnDefs!: ColDef[];\n coverageColumnDefs = [\n { field: 'coverageType', headerName: 'Coverage', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanCode', headerName: 'Plan Code', minWidth: 125, maxWidth: 125 },\n { field: 'coveragePlanDesc', headerName: 'Plan Description', minWidth: 300 },\n { field: 'coveredPerson', headerName: 'Insured', minWidth: 100 },\n { field: 'ageAtIssue', headerName: 'Issue Age', minWidth: 100, maxWidth: 125 },\n { field: 'benefitAmt', headerName: 'Benefit Amount', minWidth: 100, maxWidth: 150 },\n { field: 'expiryDate', headerName: 'Expires', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'payUpDate', headerName: 'Paid To', minWidth: 100, maxWidth: 125, comparator: DateComparator }\n ];\n paymentColumnDefs = [\n { field: 'paymentDate', headerName: 'Payment Date', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'postDate', headerName: 'Post Date', minWidth: 100, maxWidth: 125, comparator: DateComparator },\n { field: 'premiumAmt', headerName: 'Premium', minWidth: 100, maxWidth: 125 },\n { field: 'source', headerName: 'Source', minWidth: 100}\n ];\n statusHistoryColumnDefs = [\n { field: 'status', headerName: 'Status', minWidth: 100 },\n { field: 'date', headerName: 'Status Date', minWidth: 100, comparator: DateComparator },\n ];\n underwritingStatusColumnDefs = [\n { field: 'underwritingItem', headerName: 'Underwriting Item', minWidth: 100 },\n { field: 'code', headerName: 'Code', minWidth: 100 },\n { field: 'requestedDate', headerName: 'Requested Date', minWidth: 100, comparator: DateComparator },\n { field: 'resolvedDate', headerName: 'Resolved Date', minWidth: 100, comparator: DateComparator }\n ];\n hierarchyColumnDefs = [\n { field: 'agentID', headerName: 'Agent ID', minWidth: 100, maxWidth: 125 },\n { field: 'agentName', headerName: 'Agent Name', minWidth: 275 },\n { field: 'level', headerName: 'Level', minWidth: 100, maxWidth: 125 },\n { field: 'commissionPct', headerName: 'Commission %', minWidth: 125, maxWidth: 150 },\n { field: 'agentType', headerName: 'Agent Type', minWidth: 100 }\n ];\n beneficiaryColumnDefs = [\n { field: 'name', headerName: 'Name', minWidth: 300 },\n { field: 'relationship', headerName: 'Relationship', minWidth: 175 },\n { field: 'split', headerName: 'Split %', minWidth: 125, maxWidth: 100 },\n { field: 'type', headerName: 'Type', minWidth: 175 }\n ];\n allocationColumnDefs = [\n { field: 'policyAllocationText', headerName: 'Strategy', minWidth: 300 },\n { field: 'allocationPct', headerName: 'Percentage', minWidth: 100 },\n { field: 'lastAnniversaryValue', headerName: 'Last Anniversary Value', minWidth: 200 },\n { field: 'currentValue', headerName: 'Current Value', minWidth: 200 }\n ];\n documentsColumnDefs = [\n { field: 'fileName', headerName: 'Document Name', minWidth: 275 },\n { field: 'fileType', headerName: 'Document Type', minWidth: 100 },\n { field: 'fileDate', headerName: 'Document Date', minWidth: 100, comparator: DateComparator },\n {\r\n headerName: ' Download', maxWidth: 125, cellStyle: { textAlign: 'center' },\r\n onCellClicked: (event: CellClickedEvent) => this.downloadDocument(event.data),\n cellRenderer: (params: any) => { return ''; }\r\n },\n ];\n defaultColumnDef = {\n sortable: true,\n resizable: true,\n };\n\n constructor(public cloudStorageService: CloudStorageService, private onPremService: OnPremStorageService, private siteParmService: SiteParameterService,\n private datePipe: DatePipe) { //\n this.noRowsTemplate = this.siteParmService.getGridNoResults();\n this.channelSubscription = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n });\n this.impersonationSubscription = this.siteParmService.getImpersonationUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n });\n this.kpiSearchSubscription = this.siteParmService.getkpiSearchUpdate().subscribe\n (message => {\n if (this.kpis.length > 0) {\n $('#submenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $('#KPI-tab').addClass('router-link-exact-active');\n $('#QuickSearch').removeClass('active');\n $('#AdvancedSearch').removeClass('active');\n $('#KPI').addClass('active');\n this.kpi = this.kpis.filter(k => k.description === message.value)[0].kpiid;\n this.includedAgents = 3;\n this.searchType = \"3\";\n var element = document.getElementById('endOfPage') as HTMLElement;\n this.searchPolicies(element);\n }\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getKPIList();\n this.getAgentList();\n this.getDownlineAgentList(this.profile.selectedAgentNumber);\n this.setDetailType();\n }\n ngAfterViewInit(): void {\n $('#submenu li a').click(function () {\n $('#submenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n $('#detailMenu li a').click(function () {\n $('#detailMenu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n }\n getColumnDefs(): void {\n const channel: number = this.profile.channelPreferenceValue;\n this.onPremService.getGridColumnList(channel, this.gridName)\r\n .pipe(map(resp => {\r\n return resp.data.map((column: gridColumn) => {\r\n return { field: column[\"field\"], headerName: column[\"header\"], minWidth: column[\"minWidth\"] };\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 === 'Pending' || this.policyStatus === 'Past Due') {\n this.startDate = new Date(\"\");\n this.endDate = new Date(\"\");\n this.disableAdvancedDates = true;\n }\n }\n getKPIList(): void {\n this.onPremService.getKpiList(this.profile.selectedAgentNumber, true)\n .subscribe(kpis => {\n this.kpis = kpis;\n this.kpi = kpis[0].kpiid;\n });\n }\n getAgentList(): void {\n this.cloudStorageService.getLinkedAgents(this.profile.auth0Id)\n .subscribe(agents => {\n this.agents = agents;\n });\n }\n getDownlineAgentList(agentId: string): void {\n if (this.agent === 'ANY')\n agentId = this.profile.selectedAgentNumber;\n\n this.onPremService.getAgentHierarchyList(agentId)\n .subscribe(apiReponse => {\n this.downlineAgents = apiReponse.data;\n });\n }\n setDetailType(): void {\n if (this.profile.channelPreference == 'Annuity' || this.profile.channelPreference == 'Annuity[Bank]') {\n this.isAnnuityPolicy = true;\r\n } else {\n this.isAnnuityPolicy = false;\r\n }\r\n }\n filterFunction(agents: AgentGrid[]): any[] {\n return agents.filter(i => i.channelId === this.profile.channelPreferenceValue);\n }\n onRowClicked(event: RowSelectedEvent) {\n this.selectedPolicy = {};\n this.onPremService.getPolicyDetail(this.profile.selectedAgentNumber, event.data.policyNumber, event.data.regionID, this.profile.channelPreferenceValue)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.selectedPolicy = policyInfo.data[0];\n this.coverageRowData = policyInfo.data[0].policyCoverages;\n this.paymentRowData = policyInfo.data[0].policyPayments;\n this.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].policyStatusHistory == null) {\n $('#StatusHistory-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyUnderwritingStatus == null) {\n $('#Underwriting-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].policyHierarchy == null) {\n $('#Hierarchy-tab').addClass('policymenudisabled');\n }\n if (policyInfo.data[0].annuitantName == '') {\n this.detailTitleName = policyInfo.data[0].insuredName\r\n } else {\n this.detailTitleName = policyInfo.data[0].annuitantName\r\n }\n if (policyInfo.data[0].policyDocuments == null) {\n $('#Documents-tab').addClass('policymenudisabled');\n }\n });\n this.showSearch = false;\n this.showDetail = true;\n }\n displayDetail(detailPageName: string): boolean {\n var show: boolean = false;\n switch (this.profile.channelPreference) {\r\n case 'Annuity': {\r\n if (detailPageName === 'Annuity') {\r\n show = true;\r\n }\r\n else {\r\n show = false;\r\n }\r\n break;\r\n }\r\n case 'Annuity [Bank]': {\r\n if (detailPageName === 'Annuity') {\r\n show = true;\r\n }\r\n else {\r\n show = false;\r\n }\r\n break;\r\n }\r\n default: {\r\n if (detailPageName === 'Annuity') {\r\n show = false;\r\n }\r\n else {\r\n show = true;\r\n }\r\n }\r\n };\r\n return show;\n }\n toggleClientInfoAccordion() {\r\n this.clientInfoAccordionExpanded = !this.clientInfoAccordionExpanded;\r\n }\r\n getClientInfoAccordionArrowStyle() {\r\n return this.clientInfoAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n toggleRmaAccordion() {\r\n this.rmaAccordionExpanded = !this.rmaAccordionExpanded;\r\n }\r\n getRmaAccordionArrowStyle() {\r\n return this.rmaAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n toggleAllocationAccordion() {\r\n this.allocationAccordionExpanded = !this.allocationAccordionExpanded;\r\n }\r\n getAllocationAccordionArrowStyle() {\r\n return this.allocationAccordionExpanded ? 'fas fa-angle-up' : 'fas fa-angle-down';\r\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n //this.gridApi.sizeColumnsToFit();\n }\n onGridReady1(params: any) {\n this.gridApi1 = params.api;\n this.gridColumnApi1 = params.columnApi;\n //this.gridApi1.sizeColumnsToFit();\n }\n onGridReady2(params: any) {\n this.gridApi2 = params.api;\n this.gridColumnApi2 = params.columnApi;\n //this.gridApi2.sizeColumnsToFit();\n }\n onGridReady3(params: any) {\n this.gridApi3 = params.api;\n this.gridColumnApi3 = params.columnApi;\n //this.gridApi3.sizeColumnsToFit();\n }\n onGridReady4(params: any) {\n this.gridApi4 = params.api;\n this.gridColumnApi4 = params.columnApi;\n //this.gridApi4.sizeColumnsToFit();\n }\n onGridReady5(params: any) {\n this.gridApi5 = params.api;\n this.gridColumnApi5 = params.columnApi;\n //this.gridApi5.sizeColumnsToFit();\n }\n onGridReady6(params: any) {\n this.gridApi6 = params.api;\n this.gridColumnApi6 = params.columnApi;\n //this.gridApi6.sizeColumnsToFit();\n }\n onGridReady7(params: any) {\n this.gridApi7 = params.api;\n this.gridColumnApi7 = params.columnApi;\n //this.gridApi6.sizeColumnsToFit();\n }\n onGridReady8(params: any) {\n this.gridApi8 = params.api;\n this.gridColumnApi8 = params.columnApi;\n //this.gridApi6.sizeColumnsToFit();\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') {\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') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Pre-Need': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n case 'Home Service [Career]': {\r\n if (list === 'BeneficiaryInfo') {\r\n show = true;\r\n }\r\n break;\r\n }\r\n default: {\r\n show = false;\r\n }\r\n };\r\n return show;\r\n }\n closeDetail() {\n this.clientInfoAccordionExpanded = false;\n this.rmaAccordionExpanded = false;\n this.showDetail = false;\n this.showSearch = true;\n }\n printPage() {\r\n window.print();\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 //this.gridApi1.sizeColumnsToFit();\n //this.gridApi2.sizeColumnsToFit();\n //this.gridApi3.sizeColumnsToFit();\n //this.gridApi4.sizeColumnsToFit();\n //this.gridApi5.sizeColumnsToFit();\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 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","import { group } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\r\nimport { documentGroup } from '../../../models/documentGroup';\nimport { Profile } from '../../../models/profile';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-quicklinks',\n templateUrl: './quicklinks.component.html',\n styleUrls: ['./quicklinks.component.css']\n})\nexport class QuickLinksInfoComponent implements OnInit {\n public groupsLeft!: documentGroup[];\n public groupsRight!: documentGroup[];\n public profile: Profile;\n public accordionColumn: string = \"\";\n public accordionCollapsed: boolean[] = [];\n private subscriptionName: Subscription; //important to create a subscription\n\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private onPremService: OnPremStorageService,) {\n this.profile = this.siteParmService.getStaticProfile();\n this.subscriptionName = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.profile = siteParmService.getStaticProfile();\n this.getDocuments();\n });\n }\n\n ngOnInit(): void {\n this.getDocuments();\n }\n getDocuments() {\n this.cloudStorageService.getDocuments(this.profile.channelPreferenceValue)\n .subscribe((groups) => {\n groups.forEach(g => g.documents.forEach(d => {\n if (d.externalLink) { \n Object.entries(this.profile).forEach(([key, value]) => {\r\n const replaceToken = '<' + key + '>';\r\n if (d.linkUrl.indexOf(replaceToken) > 0) {\r\n d.linkUrl = d.linkUrl.replace(replaceToken, value);\r\n }\r\n });\r\n }\r\n }));\n this.groupsLeft = groups.filter(l => l.direction === 'L');\n this.groupsRight = groups.filter(l => l.direction === 'R');\n });\r\n }\n externalLinkClick(link: string) {\n this.onPremService.getExternalLink(link)\n .pipe(take(1))\n .subscribe(redirect => {\n if (redirect) { \n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = redirect.data.url;\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n }\n });\r\n return link;\r\n }\n toggleAccordion(side: string, index: number) {\n this.accordionColumn = side;\n this.accordionCollapsed[index] = !this.accordionCollapsed[index];\n }\n getAccordionArrowStyle(side: string, index: number) {\n var style = 'fas fa-angle-up';\n\n if (side == this.accordionColumn) {\n style = this.accordionCollapsed[index] ? 'fas fa-angle-down' : 'fas fa-angle-up';\n }\n return style;\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { SiteParameterService } from '../../../services/siteparameter.service'\nimport { Observable, Subscription } from 'rxjs';\nimport { OnPremStorageService } from '../../../services/onprem-storage';\nimport { Profile } from '../../../models/profile';\nimport { map, take } from 'rxjs/operators';\r\nimport { Report } from '../../../models/report';\r\nimport { AgentLink } from '../../../models/agentLink';\r\n\n@Component({\n selector: 'app-reports',\n templateUrl: './reports.component.html',\n styleUrls: ['./reports.component.css']\n})\nexport class ReportsComponent implements OnInit {\n warning: string = \"Warning\";\n info: string = \"Info\";\n selectedAgentID: string = \"\";\n agentToken: string = \"\";\n profile!: Profile;\n subscriptionName: Subscription;\n public downlineAgentId?: string;\n public downlineAgents$?: Observable;\n public reports$?: Observable;\n\n constructor(private onPremService: OnPremStorageService, private siteParmService: SiteParameterService) {\n this.subscriptionName = this.siteParmService.getAgentUpdate().subscribe\n (message => {\n this.selectedAgentID = message.value;\n this.downlineAgentId = this.selectedAgentID;\n this.getDownlineAgentList();\n this.getReports();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.selectedAgentID = this.profile.selectedAgentNumber;\n this.getReports();\n this.downlineAgentId = this.selectedAgentID;\n this.getDownlineAgentList();\n }\n getDownlineAgentList(): void {\n this.downlineAgents$ = this.onPremService.getAgentHierarchyList(this.selectedAgentID).pipe(\r\n map(apiReponse => apiReponse.data));\n }\n getReports(): void {\n this.reports$ = this.onPremService.getReports(this.selectedAgentID).pipe(\r\n map(report => report.data));\r\n }\n getReport(url: string): void {\n this.onPremService.getAgentToken(this.downlineAgentId!)\n .pipe(take(1))\n .subscribe(t => {\n let reportURL = url.replace(this.selectedAgentID, this.downlineAgentId!) + t.data.token;\n window.open(reportURL, '_blank');\n });\n }\n ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.subscriptionName.unsubscribe();\n }\n}\n","
    0\" class=\"row justify-content-center\">\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n

    \n Reports\n

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

    \r\n Route List\r\n

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

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

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

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

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

    \r\n Edit Sequence Number\r\n

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

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

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

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

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

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

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","import { Component, OnInit } from '@angular/core';\nimport { Profile } from '../../../models/profile';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-adminPage',\n templateUrl: './admin.component.html',\n styles: [\n ]\n})\nexport class AdminPageComponent implements OnInit {\n public profile!: Profile;\n public showAssociation = true;\n public showLinkCode = true;\n public showStatementSearch = true;\n\n constructor(private siteParmService: SiteParameterService) { }\n\n ngOnInit(): void {\n //this.profile = this.siteParmService.getStaticProfile();\n\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"edit:associations\")) {\n // this.showAssociation = true;\n //}\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"read:link-code\")) {\n // this.showLinkCode = true;\n //}\n //if (this.profile.permissions && this.profile.permissions.find(x => x === \"read:statements\")) {\n // this.showStatementSearch = true;\n //}\n\n $('#menu li a').click(function () {\n $('#menu').find(\"*\").removeClass(\"router-link-exact-active\");\n $(this).addClass('router-link-exact-active');\n });\n }\n\n}\n","
    \n \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n","import { Component, HostListener, Inject, OnInit } from '@angular/core';\nimport { AuthService } from '@auth0/auth0-angular';\nimport { ColSpanParams, ColDef } from 'ag-grid-community';\r\nimport { take } from 'rxjs/operators';\r\nimport { channelProduct } from '../../../models/channelProduct';\r\nimport { CloudStorageService } from '../../../services/cloud-storage';\r\nimport { OnPremStorageService } from '../../../services/onprem-storage';\r\nimport { SiteParameterService } from '../../../services/siteparameter.service';\r\n\n@Component({\n selector: 'app-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 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)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType)\n .pipe(take(1))\n .subscribe(rates => {\n this.newBusinessImmediateRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityFixedIndexRates(this.channelId, rateType)\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)\n .pipe(take(1))\n .subscribe(rates => {\n this.renewalDeferredRatesRowData = rates.data;\n });\r\n this.onPremService.getAnnuityImmediateRates(this.channelId, rateType)\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\nfunction seriesAndProductGetter(params: any) {\r\n return params.data.product + ' - ' + params.data.series;\r\n}\r\n\r\nfunction 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\nfunction 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
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n

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

    \n
    \n
    \n \n
    \n
    \n For further rate details please refer to these guides:
    \n  Product Portfolio \n  State Availability\n
    \n
    \n
    \n \n
    \n
    \n
    \n 0\">\n
    \n

    LBL/CLIC Deferred Annuities

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

    LBL/CLIC 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.
    \n
    \n
    \n
    \n
    \n 0\">\n
    \n

    CLIC Fixed Index Annuities

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

    LBL/CLIC Deferred Annuities

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

    LBL/CLIC 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.
    \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-284-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","import { Component, AfterViewInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\n\n@Component({\n selector: 'app-briefcase',\n templateUrl: './briefcase.component.html',\n styles: [\n ]\n})\nexport class BriefcaseComponent implements AfterViewInit {\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 }\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 ngOnDestroy() { // It's a good practice to unsubscribe to ensure no memory leaks\n this.kpiSearchSubscription.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","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 = 40;\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 //public filterBillingMethod\n\n private channelSubscription: Subscription;\n\n public routeList$?: Observable\n public pendingCollectionsRowData: [] = [];\n public batchHistoryRowData: [] = [];\n\n public screenWidthForDesktops: number = 1920;\n public pendingCollectionsListHeaderHeight: number = 75;\n\n private selectedTab: string = \"Route List\";\n private topRowID: number = 0;\n\n public showBillFormListCheckboxes: boolean = true;\n\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\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\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 //public estimatedGroupCommission: number = 0.00;\n\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 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 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\n public innerWidth: any;\n\n // Temporary Setup properties\n //public testText$?: Observable;\n //public channelId: number = 3;\n\n columnRoutleListDefs!: ColDef[];\n columnPendingCollectionsDefs!: ColDef[];\n columnBatchHistoryDefs!: ColDef[];\n\n //public 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 //];\r\n //public 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 //];\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 //Old Method and Switch\n //this.getAgentLists();\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.refreshRouteList();\r\n //};\n\n //New Method\n this.getAgentList();\n\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 //TODO: TEST TO SEE IF TotalCollectedAmount CAN BE SAVED AND PRESENTED ELSEWHERE (AWAY FROM ROUTELIST TAB)\n //this.getTotalCollectedAmount();\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\n //Old Method\n //this.getAgentLists();\n //New Method\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 // headerName: \"Menu\",\r\n // cellRenderer: (params: any) => {\r\n // return ''\r\n // }\r\n //},\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\n //{\r\n // cellRenderer: insuredAndPayorCellRenderer, valueGetter: insuredAndPayorValueGetter, headerName: 'Insured\\nPayor', minWidth: 120, autoHeight: true,\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\r\n //},\n //{\r\n // cellRenderer: policyNumAndAgentIDCellRenderer, valueGetter: policyNumAndAgentIDValueGetter, field: 'policyNum', headerName: 'Policy #\\nAgent',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\r\n //},\n //{\r\n // cellRenderer: paidToDateAndIssueDateCellRenderer, valueGetter: paidToDateAndIssueDateValueGetter, headerName: 'Paid-To Date\\nIssue Date',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{ field: 'modalPremium', headerName: 'Modal Prem', valueFormatter: currencyFormatter },\n //{\r\n // cellRenderer: premiumDueAndMonthsCellRenderer, valueGetter: premiumDueAndMonthsValueGetter, headerName: 'Prem Due\\nMonths',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{\r\n // cellRenderer: suspenseAndLoanBalanceCellRenderer, valueGetter: suspenseAndLoanBalanceValueGetter, headerName: 'Suspense\\nLoan Balance',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{ field: 'collectionAmt', headerName: 'Prem Collected', valueFormatter: currencyFormatter }\n ];\r\n }\n else {\n this.columnRoutleListDefs = [\n { field: 'sequenceNoGroupText', rowGroup: true, hide: true },\n //{\r\n // headerName: \"Menu\",\r\n // cellRenderer: (params: any) => {\r\n // return ''\r\n // }\r\n //},\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 //{\r\n // cellRenderer: insuredAndPayorCellRenderer, valueGetter: insuredAndPayorValueGetter, headerName: 'Insured\\nPayor', minWidth: 200, autoHeight: true, headerClass: 'commission-header',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\r\n //},\n //{\r\n // cellRenderer: policyNumAndAgentIDCellRenderer, valueGetter: policyNumAndAgentIDValueGetter, field: 'policyNum', headerName: 'Policy #\\nAgent', minWidth: 120, headerClass: 'commission-header',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\r\n //},\n //{\r\n // cellRenderer: paidToDateAndIssueDateCellRenderer, valueGetter: paidToDateAndIssueDateValueGetter, headerName: 'Paid-To Date\\nIssue Date', headerClass: 'commission-header',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{ field: 'modalPremium', headerName: 'Modal Prem', valueFormatter: currencyFormatter, headerClass: 'commission-header' },\n //{\r\n // cellRenderer: premiumDueAndMonthsCellRenderer, valueGetter: premiumDueAndMonthsValueGetter, headerName: 'Prem Due\\nMonths', headerClass: 'commission-header',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{\r\n // cellRenderer: suspenseAndLoanBalanceCellRenderer, valueGetter: suspenseAndLoanBalanceValueGetter, headerName: 'Suspense\\nLoan Balance', headerClass: 'commission-header',\n // getQuickFilterText: params => {\r\n // return params.value;\r\n // }\n //},\n //{ field: 'collectionAmt', headerName: 'Prem Collected', 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 // Return Route List after extracting billing form counts from first record then removing that record from result set\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.getPendingCollectionsColumnDefs();\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.getBatchHistoryColumnDefs();\r\n this.onPremService.getBatchHistory(this.selectedAgentId)\n .pipe(take(1))\n .subscribe(policyInfo => {\n this.batchHistoryRowData = policyInfo.data;\n });\r\n }\n\n //TODO: TEST TO SEE IF TotalCollectedAmount CAN BE SAVED AND PRESENTED ELSEWHERE (AWAY FROM ROUTELIST TAB)\n //getTotalCollectedAmount() {\n // this.testText$ = this.routeList$?.pipe(\r\n // map(arr => arr.reduce((a, b) => a + b.collectionAmt, 0)));\r\n //}\n\n //Old Method\n getAgentLists(): void {\n this.onPremService.getAgentWithDownine(this.profile.agentLinkId, this.profile.channelPreferenceValue, true)\n .pipe(take(1))\n .subscribe(agents => {\n if (agents.length > 0) {\r\n this.collectingAgents = agents;\n this.selectedCollectingAgentId = agents[0].agentId;\r\n this.showCollectingManagerList = true;\r\n this.onPremService.getAgentActiveHierarchyListWithSelf(this.selectedCollectingAgentId, true)\r\n .pipe(take(1))\r\n .subscribe(apiReponse => {\r\n this.agents = apiReponse.data;\r\n });\r\n } else {\r\n this.showCollectingManagerList = false;\r\n this.onPremService.getLinkedAgentList(this.profile.auth0Id, this.profile.channelPreferenceValue, true)\r\n .pipe(take(1))\r\n .subscribe(apiReponse => {\r\n this.agents = apiReponse.data;\r\n });\r\n }\n });\r\n }\n\n //New Method\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 // TODO: Enable this when loan data is available\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 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.resetDisplayBillingMethods();\r\n this.getRouteList();\r\n //this.setBillingMethodCounts();\r\n //this.setDisplayBillingMethods();\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.gridApi2?.sizeColumnsToFit();\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
    \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';\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styles: [\n ]\n})\nexport class ContactPageComponent implements AfterViewInit {\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}\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-4829Emailannuities@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.comannuities@lbig.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 OperationF 8:00am-5:00pmM-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    F 8:00am-5:00pmF 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 Address362 NW Alice Ave
    Stuart, FL 34994
    Fax772-232-6640
    Hours of OperationM-Th 8:00am-5:30pm
    F 8:00am-4:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

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

    \n Marketing\n

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

    \n Additional Contact Information\n

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

    \n Marketing\n

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

    \n Additional Contact Information\n

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

    \n Marketing\n

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

    \n Additional Contact Information\n

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

    \n Marketing\n

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

    \n Additional Contact Information\n

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

    \n Marketing\n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Phone844-847-7387EmailPN.Development@lbig.com
    Mailing AddressPO Box 309
    Noxapater, MS 39346
    Fax662-724-2958
    Hours of Operation\n M-Th 8:00am-5:00pm
    F 8:00am-2:30pm\n
    \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-554-4956800-554-4956800-554-4956800-554-4956
    Emailnew.business@lbig.comcommissions@lbig.comcustomer.service@lbig.comclaims@lbig.com
    Mailing AddressPO Box 341989
    Austin, TX 78734
    PO Box 341989
    Austin, TX 78734
    PO Box 341989
    Austin, TX 78734
    PO Box 341989
    Austin, TX 78734
    FaxNew Applications: 512-637-4199
    Corrections only: 512-637-4166
    512-263-7714512-263-6981512-637-4989
    Hours of OperationM-F 8:30am - 4:30pmM-F 8:30am - 4:30pmM-F 8:30am - 4:30pmM-F 8:30am - 4: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
    Phone844-847-7387EmailAMLAdvantage@lbig.com
    Mailing AddressPO Box 309
    Noxapater, MS 39346
    Fax662-724-2958
    Hours of Operation\n M-Th 8:00am-5:00pm
    F 8:00am-2:30pm\n
    \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
    Phone225-387-0171800-972-6615800-972-6615225-387-0171
    Emailaml@lbig.comaml@lbig.comaml@lbig.comaml@lbig.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
    Fax225-387-0183225-387-0183225-387-0183225-387-0183
    Hours of OperationM-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    M-Th 8:00am-5:00pm
    F 8:00am-2:30pm
    M-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
    Phone469-522-4624Emailmjones@lbig.com
    Mailing Address1605 LBJ Freeway
    Suite 700
    Dallas, TX 75234
    Fax
    Hours of OperationM-F 8:00am-5:00pm
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n Additional Contact Information\n

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

    \n Marketing\n

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

    \n Additional Contact Information\n

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    New BusinessCommissionsPolicy Holder ServiceClaims
    Phone833-658-2844833-658-2844833-658-2844833-658-2844
    EmailsupphealthNB@lbig.comsupphealthNB@lbig.comsupphealthService@lbig.comsupphealthclaims@lbig.com
    Mailing AddressPO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    PO Box 17628
    Winston-Salem NC 27116
    Fax336-464-2684336-464-2684336-464-2664336-464-2961
    Hours of OperationM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm ESTM-F 8:00am-5:00pm EST
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n","import { Component } from '@angular/core';\r\n\n@Component({\n selector: 'app-adminPage',\n templateUrl: './documents.component.html',\n styles: [\n ]\n})\nexport class DocumentsPageComponent {\n\n constructor() { }\n\n}\n","
    \n \n
    \n","import { Component, OnInit } 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 isSuppHealthHIP = 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\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;\n this.eAppMessage = eApp.message;\n });\n this.isSuppHealthHIP = this.profile.channelPreference === 'Supplemental Health [Plus Series]' ? true : false;\n //this.isSuppHealthHIP = this.profile.channelPreference === 'Supplemental Health [HIP]' ? true : false;\n this.isAnnuity = this.profile.channelPreference === 'Annuity' ? true : false;\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;\n this.eAppMessage = eApp.message;\n this.isSuppHealthHIP = this.profile.channelPreference === 'Supplemental Health [Plus Series]' ? true : false;\n //this.isSuppHealthHIP = this.profile.channelPreference === 'Supplemental Health [HIP]' ? true : false;\n this.isAnnuity = this.profile.channelPreference === 'Annuity' ? true : false;\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 }\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 let tappURL = isProd ? env.dev.tappUrl : env.dev.tappUrl + \"?trainingmode=1\";\n window.open(tappURL, '_blank');\n this.trackEvent(isProd ? 1 : 2);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n returnToApp(): void {\n if (!this.isRestricted) {\n let tappURL = env.dev.mrsUrl;\n window.open(tappURL, '_blank');\n this.trackEvent(3);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n viewCompletedApp(): void {\n if (!this.isRestricted) {\n let tappURL = env.dev.mrsUrl;\n window.open(tappURL, '_blank');\n this.trackEvent(4);\n } else {\n alert(this.restrictionMessage)\r\n }\n }\n trackEvent(eventId: number): void {\n this.onPremService.trackEvent(eventId, this.profile.auth0Id, '', this.profile.selectedAgentNumber, this.profile.channelPreferenceValue)\r\n .pipe(take(1))\r\n .subscribe();\r\n }\n openIllustration(): void {\n let companyName = '';\n\n switch (this.company) {\r\n case '1':\r\n companyName = 'LBL';\r\n break;\r\n\r\n case '2':\r\n companyName = 'CLIC';\r\n break;\r\n }\n\n this.onPremService.getAgentDetail(this.profile.selectedAgentNumber)\n .pipe(take(1))\n .subscribe(apiResponse => {\n let firstName = apiResponse.data.length > 0 ? apiResponse.data[0].firstName : '';\n let lastName = apiResponse.data.length > 0 ? apiResponse.data[0].lastName : '';\n const params = `c=${companyName}&FirstName=${firstName}&LastName=${lastName}`;\n var url = `https://myportal.lbig.com/illustrations-new/${this.product}?` + params;\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = url;\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n }\n onProductChange(formProductCtrl: AbstractControl) {\r\n this.product = formProductCtrl.value;\r\n this.company = '0';\r\n\r\n this.companyList.splice(0, this.companyList.length);\r\n\r\n switch (this.product) {\r\n case 'spiaIllustrations.php':\r\n this.companyList.push(({ value: 1, text: 'Liberty Bankers Life' }));\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n case 'deferredIllustrations.php':\r\n this.companyList.push(({ value: 1, text: 'Liberty Bankers Life' }));\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n case 'fiaIllustrations.php':\r\n this.companyList.push(({ value: 2, text: 'Capitol Life' }));\r\n break;\r\n\r\n default:\r\n this.companyList.splice(0, this.companyList.length); \r\n }\r\n\r\n if (this.product != '' && this.company != '0') {\r\n this.disableIllustrate = false;\r\n }\r\n else {\r\n this.disableIllustrate = true;\r\n }\r\n }\n onCompanyChange(formCompanyCtrl: AbstractControl) {\r\n this.company = formCompanyCtrl.value;\r\n\r\n if (this.product != '' && this.company != '0') {\r\n this.disableIllustrate = false;\r\n }\r\n else {\r\n this.disableIllustrate = true;\r\n }\r\n }\n 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

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

    \n
    \n
    \n
    \n

    Select to submit an E-App for Deferred, Fixed Indexed and SPIA annuities.

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

    Use the Training mode to get familiar with our E-App functionality. This is for training only and you cannot submit an application in this mode.

    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { environment as env } from '../../../../environments/environment';\n\n\n@Component({\n selector: 'app-eapp-redirect',\n templateUrl: './eappredirect.component.html',\n styles: [\n ]\n})\nexport class EAppRedirectComponent implements OnInit {\n caseId: string | null = \"\";\n constructor(private router: Router, private route: ActivatedRoute) { }\n\n\n ngOnInit(): void {\n var url = new URL(window.location.href);\n var caseId = url.searchParams.get(\"case\") as string;\n\n if (caseId !== \"\")\n this.router.navigate([\"/redirecting\"]).then(result =>\n {\r\n window.location.href = `${env.dev.eAppRedirectUrlPart1 + encodeURIComponent(env.dev.eAppRedirectUrlPart2 + caseId)}`;\n });\n }\n}\n","\r\n\r\n\r\n \r\n EApp Redirect\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\nimport { RowSelectedEvent } from 'ag-grid';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, Subscription } from 'rxjs';\nimport { Profile } from '../../../models/profile';\nimport { searchParams } from '../../../models/searchParams';\nimport { CloudStorageService } from '../../../services/cloud-storage';\nimport { SiteParameterService } from '../../../services/siteparameter.service';\nimport { DatePipe } from '@angular/common';\r\nimport { take } from 'rxjs/operators';\r\n\r\n@Component({\n selector: 'app-formPage',\n templateUrl: './forms.component.html',\n styles: [\n ]\n})\nexport class FormsPageComponent implements OnInit {\n public showSpinner = false;\n public combineForms = false;\n public showSearch = false;\n public showHeaderText = false;\n public profile!: Profile;\n public parms!: searchParams;\n public headerText = \"\";\n public description = \"\";\n public state = \"0\";\n public company = \"0\";\n public product = \"0\";\n public formClass = \"0\";\n public type = \"0\";\n public forms$?: Observable;\n public combineDisabled = true;\n public individualDisabled = true;\n 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: '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 constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService, public datepipe: DatePipe) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => {\n this.profile = this.siteParmService.getStaticProfile();\n this.getSearchParmsAndMessage();\n });\n }\n ngOnInit(): void {\n this.profile = this.siteParmService.getStaticProfile();\n this.getSearchParmsAndMessage();\n }\n getSearchParmsAndMessage(): void {\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.cloudStorageService.getSearchParms(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(parms => {\n this.parms = parms;\n });\n this.cloudStorageService.getChannel(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(channel => {\n this.headerText = channel.formsPageMessage;\n this.showHeaderText = channel.formsPageMessage == null ? false : true;\n });\n }\n searchForms(): void {\n this.showSearch = true;\n this.showSpinner = false;\n const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n let stateSearch = \"0\";\n this.company = \"0\";\n\n if (this.state.indexOf(\":\") > -1) {\n const stateCompanyArray = this.state.split(\":\");\n stateSearch = stateCompanyArray[0];\n this.company = stateCompanyArray[1];\n }\n\n this.forms$ = this.cloudStorageService.searchForms(selectedBusinessChannel, this.description, this.formClass, stateSearch, this.type, this.product, this.company);\n }\n resetSearch(): void {\n this.description = \"\";\n this.state = \"0\";\n this.company = \"0\";\n this.product = \"0\";\n this.formClass = \"0\";\n this.type = \"0\";\n this.showSearch = false;\n }\n onGridReady(params: any) {\n this.gridApi = params.api;\n this.gridColumnApi = params.columnApi;\n this.gridApi.sizeColumnsToFit();\n }\n downloadForms() {\n this.showSpinner = true;\n const selectedNodes = this.gridApi.getSelectedNodes();\n var selectedFiles: string[] = [];\n var company = '';\n var formNumber = '';\n var container = '';\n const date = new Date();\n const currentDateTime = this.datepipe.transform(date, 'yyyyMMddhhmm');\n this.nodeCount = selectedNodes.length;\n if (this.combineForms) {\n selectedNodes.forEach((node: any) => { selectedFiles.push(node.data.fileName), company = node.data.company, formNumber = node.data.number, container = node.data.containerName });\n this.cloudStorageService.downloadCombinedForms(selectedFiles, container)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.showSpinner = false;\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData, { type: 'application/pdf' });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n if (company != null) { a.download = 'FormsPackage' + \"_\" + company + \"_\" + currentDateTime + \".pdf\"; }\n else { a.download = 'FormsPackage' + \"_\" + currentDateTime + \".pdf\"; }\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n } else {\n selectedNodes.forEach((node: any) => {\n selectedFiles = [];\n selectedFiles.push(node.data.fileName);\n this.cloudStorageService.downloadCombinedForms(selectedFiles, node.data.containerName)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.showSpinner = false;\n const binaryData = [];\n binaryData.push(data);\n const downloadedFile = new Blob(binaryData, { type: 'application/pdf' });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.download = node.data.description + \"_\" + node.data.number + \"_\" + node.data.company + \"_\" + currentDateTime + \".pdf\";\n a.href = URL.createObjectURL(downloadedFile);\n a.target = '_blank';\n a.click();\n document.body.removeChild(a);\n });\n });\n }\n }\n emailForms() {\n this.showSpinner = true;\n const selectedNodes = this.gridApi.getSelectedNodes();\n const selectedFiles: string[] = [];\n let container = '';\n selectedNodes.forEach((node: any) => { selectedFiles.push(node.data.fileName), container = node.data.containerName });\n this.nodeCount = selectedNodes.length;\n this.cloudStorageService.emailForms(selectedFiles, container, this.profile.emailAddress, this.combineForms)\n .pipe(take(this.nodeCount))\n .subscribe(data => {\n this.toastr.success('The selected files were sent to your email address', 'Forms Sent', {\n positionClass: 'toast-email-info', tapToDismiss: true, timeOut: 0\n });\n this.showSpinner = false;\n });\n }\n onRowSelected(event: any) {\n const nodeCount = this.gridApi.getSelectedNodes().length;\n this.individualDisabled = nodeCount < 1 ? true : false;\n this.combineDisabled = nodeCount > 1 ? false : true;\n }\n 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';\nimport { product } from '../../../models/product';\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 showFront = false;\n public showBack = false;\n public channelProduct!: channelProduct;\n public sections!: channelProduct[];\n\n constructor(private cloudStorageService: CloudStorageService, private siteParmService: SiteParameterService, private toastr: ToastrService) {\n this.channelUpdate = this.siteParmService.getChannelUpdate().subscribe\n (message => { \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.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 const selectedBusinessChannel = this.profile ? this.profile.channelPreferenceValue : 0;\n this.cloudStorageService.getProductsByChannel(selectedBusinessChannel)\n .pipe(take(1))\n .subscribe(productList => {\n this.channelProduct = productList;\n });\n this.cloudStorageService.getProductSectors()\n .pipe(take(3))\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 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
    \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 } from \"@angular/core\";\r\n\r\n@Component({\n selector: 'app-redirecting',\n templateUrl: './redirecting.component.html',\n styles: [\n ]\n})\nexport class RedirectingComponent {\n constructor() { }\n}\n","\r\n\r\n\r\n \r\n Redirecting\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-terms',\n templateUrl: './terms.component.html',\n styles: [\n ]\n})\nexport class TermsPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
    \n
    \n
    \n
    \n

    Terms of Use

    \n
    \n

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

    \n\n

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

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

    Disclosure

    \n

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

    \n\n

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

    \n\n

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

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

    {{group.title}}

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

    {{group.title}}

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

    {{group.title}}

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

    {{group.title}}

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