{"version":3,"sources":["webpack:///src/shared/auth.service.ts","webpack:///src/shared/quicktrack-claim-detail/quicktrack-claim-detail.component.html","webpack:///src/shared/quicktrack-claim-detail/quicktrack-claim-detail.component.ts","webpack:///src/angular-material/angular-material.module.ts","webpack:///src/shared/sirius-xm.service.ts","webpack:///src/cilajet-dialog/cilajet-dialog.component.ts","webpack:///src/cilajet-dialog/cilajet-dialog.component.html","webpack:///src/app/container-headerless/container-headerless.component.ts","webpack:///src/app/container-headerless/container-headerless.component.html","webpack:///src/shared/quicksign/quicksign-service-plus-tooltip-dialog/quicksign-service-plus-tooltip-dialog.component.ts","webpack:///src/shared/quicksign/quicksign-service-plus-tooltip-dialog/quicksign-service-plus-tooltip-dialog.component.html","webpack:///src/environments/environment.prod.ts","webpack:///src/abstract-form-extensions.ts","webpack:///src/shared/signature-field/signature-field.component.ts","webpack:///src/shared/signature-field/signature-field.component.html","webpack:///src/shared/quicksign/quicksign-service-plus-breakdown/quicksign-service-plus-breakdown.component.html","webpack:///src/shared/quicksign/quicksign-service-plus-breakdown/quicksign-service-plus-breakdown.component.ts","webpack:///src/shared/override-dialog/override-dialog.component.ts","webpack:///src/shared/override-dialog/override-dialog.component.html","webpack:///src/shared/agent-filtered-multi-select/agent-filtered-multi-select.component.ts","webpack:///src/shared/agent-filtered-multi-select/agent-filtered-multi-select.component.html","webpack:///src/shared/sirius-xm.model.ts","webpack:///src/shared/quicksign/retro-reinsurance-service-plus-dialog/retro-reinsurance-service-plus-dialog.component.ts","webpack:///src/shared/quicksign/retro-reinsurance-service-plus-dialog/retro-reinsurance-service-plus-dialog.component.html","webpack:///src/app/landing/landing.component.ts","webpack:///src/app/landing/landing.component.html","webpack:///src/shared/quick-sign.model.ts","webpack:///src/shared/dealer-select-form-control-editable/dealer-select-form-control-editable.component.ts","webpack:///src/shared/dealer-select-form-control-editable/dealer-select-form-control-editable.component.html","webpack:///src/shared/shared.module.ts","webpack:///src/shared/feature-flag.service.ts","webpack:///src/shared/agent.guard.ts","webpack:///src/shared/zoom-validators.ts","webpack:///src/shared/quicksign-stepper/quicksign-step/quicksign-step.component.ts","webpack:///src/shared/quicksign-stepper/quicksign-step/quicksign-step.component.html","webpack:///src/shared/claim.service.ts","webpack:///src/shared/feature-flag.guard.ts","webpack:///src/shared/repair-facility/repair-facility.component.ts","webpack:///src/shared/repair-facility/repair-facility.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/shared/loading.service.ts","webpack:///src/shared/signature-dialog/signature-dialog.component.ts","webpack:///src/shared/signature-dialog/signature-dialog.component.html","webpack:///src/shared/settings.service.ts","webpack:///src/shared/quicktrack-table/quicktrack-table.component.ts","webpack:///src/shared/quicktrack-table/quicktrack-table.component.html","webpack:///src/shared/signature-form-control/signature-form-control.component.ts","webpack:///src/shared/signature-form-control/signature-form-control.component.html","webpack:///src/shared/cms.service.ts","webpack:///src/app/forgot-password/forgot-password.component.ts","webpack:///src/app/forgot-password/forgot-password.component.html","webpack:///src/app/app.module.ts","webpack:///src/shared/mga-select/mga-select.component.ts","webpack:///src/shared/mga-select/mga-select.component.html","webpack:///src/app/notification-dialog/notification-dialog.component.ts","webpack:///src/app/notification-dialog/notification-dialog.component.html","webpack:///src/shared/program-select/program-select.component.ts","webpack:///src/shared/program-select/program-select.component.html","webpack:///src/shared/contract.service.ts","webpack:///src/shared/quicksign-stepper/quicksign-stepper.component.ts","webpack:///src/shared/quicksign-stepper/quicksign-stepper.component.html","webpack:///src/shared/notification.service.ts","webpack:///src/shared/principal.service.ts","webpack:///src/shared/jwt.interceptor.ts","webpack:///src/shared/dealer-select/dealer-select.component.ts","webpack:///src/shared/dealer-select/dealer-select.component.html","webpack:///src/app/privacy-policy/privacy-policy.component.ts","webpack:///src/app/privacy-policy/privacy-policy.component.html","webpack:///src/app/footer/footer.component.ts","webpack:///src/app/footer/footer.component.html","webpack:///src/shared/quick-sign.service.ts","webpack:///src/shared/users.service.ts","webpack:///src/shared/dealer-filtered-multi-select/dealer-filtered-multi-select.component.ts","webpack:///src/shared/dealer-filtered-multi-select/dealer-filtered-multi-select.component.html","webpack:///src/app/nav/nav.component.ts","webpack:///src/app/nav/nav.component.html","webpack:///src/shared/page-view.service.ts","webpack:///src/shared/authorized.guard.ts","webpack:///src/shared/safe.pipe.ts","webpack:///src/shared/agent-select/agent-select.component.ts","webpack:///src/shared/agent-select/agent-select.component.html","webpack:///src/shared/dealer-multi-select/dealer-multi-select.component.ts","webpack:///src/shared/dealer-multi-select/dealer-multi-select.component.html","webpack:///src/app/not-found/not-found.component.ts","webpack:///src/app/not-found/not-found.component.html","webpack:///src/shared/dealer-filtered-chip-select/dealer-filtered-chip-select.component.ts","webpack:///src/shared/dealer-filtered-chip-select/dealer-filtered-chip-select.component.html","webpack:///src/sirius-xm/sirius-xm-realtime/sirius-xm-realtime.component.ts","webpack:///src/sirius-xm/sirius-xm-realtime/sirius-xm-realtime.component.html","webpack:///src/shared/states.model.ts","webpack:///src/shared/dealer-select-form-control/dealer-select-form-control.component.ts","webpack:///src/shared/dealer-select-form-control/dealer-select-form-control.component.html","webpack:///src/app/container/container.component.ts","webpack:///src/app/container/container.component.html","webpack:///src/dealer-survey-dialog/dealer-survey-dialog.component.ts","webpack:///src/dealer-survey-dialog/dealer-survey-dialog.component.html","webpack:///src/shared/quicktrack-tiles/quicktrack-tiles.component.ts","webpack:///src/shared/quicktrack-tiles/quicktrack-tiles.component.html","webpack:///src/shared/zoom-contract.service.ts","webpack:///src/shared/user.service.ts","webpack:///src/app/impersonate/impersonate.component.ts","webpack:///src/app/impersonate/impersonate.component.html","webpack:///src/shared/chip-dealer-select/chip-dealer-select.component.ts","webpack:///src/shared/chip-dealer-select/chip-dealer-select.component.html","webpack:///src/shared/quicksign/quicksign-service-plus/quicksign-service-plus.component.ts","webpack:///src/shared/quicksign/quicksign-service-plus/quicksign-service-plus.component.html","webpack:///src/shared/override-dialog/override-dialog-confirmation/override-dialog-confirmation.component.ts","webpack:///src/shared/override-dialog/override-dialog-confirmation/override-dialog-confirmation.component.html","webpack:///src/dashboard/annual-vsc-sales/annual-vsc-sales.component.ts","webpack:///src/dashboard/annual-vsc-sales/annual-vsc-sales.component.html","webpack:///src/shared/cilajet.service.ts","webpack:///src/shared/dashboard.service.ts","webpack:///src/shared/agent-filtered-chip-select/agent-filtered-chip-select.component.ts","webpack:///src/shared/agent-filtered-chip-select/agent-filtered-chip-select.component.html","webpack:///src/app/not-authorized/not-authorized.component.ts","webpack:///src/app/not-authorized/not-authorized.component.html","webpack:///src/shared/term-mileage.pipe.ts","webpack:///src/shared/permission.guard.ts","webpack:///src/main.ts","webpack:///src/shared/dealer.service.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["AuthService","http","endpoint","zoomEndpoint","version","payload","uuid","headers","post","observe","actorId","userViewAccessType","filter","query","get","params","username","responseType","token","scsNumber","QuicktrackClaimDetailComponent","renderer","route","service","router","zoomContract","title","domSanitizer","dialog","principal","datepipe","el","showDownload","contractDownloadDisabled","showNotes","noteCutoff","Date","zoomUrl","deniedExceptInspection","isOverride","isOverrideLoading","appearance","color","claimDataSource","claimColumns","noteDataSource","noteColumns","termDictionary","lol","adj","pri","pq","pqs","kb","auth","rfd","mods","alt","diag","swis","swi","wis","nada","rf","vm","eoc","ev","dl","ag","si","npa","cel","lh","oem","spp","lop","lof","tx","rsa","odo","cxl","na","y","n","td","pof","mr","mrs","rr","msrp","vpi","setTitle","titlePrefix","theme","input","primary","data","sort","paginator","production","pointOfContact","removeResidualChat","chatFrame","document","getElementById","undefined","checkicPatronChat","icPatronChat","remove","loadChat","chat","getElementsByClassName","poc","contract","setTimeout","e","script","createElement","type","text","phoneNumber","userName","claimNumber","contractNumber","firstName","lastName","appendChild","body","show","snapshot","paramMap","dealerNumberQuery","queryParamMap","download","getClaim","subscribe","result","claim","dateLossOccurred","getClaimContract","isScsContract","contractSaleDate","vehicleInformation","vehicleIdNumber","v","vehicle","contractMileage","toLocaleString","contractExpirationOdometer","contractExpirationOdo","contractExpiration","getFullYear","contractExpirationDate","transform","getQualifyOverride","getClaimDetails","sortAndColor","checkLossCodes","getClaimNotes","wordReplace","removeSystemNotes","getClaimSummary","claimSummary","forEach","row","inspectionLossCodes","status","includes","lossDescription","systemNotesRemoved","note","systemNoteFlag","push","cd1","cd2","claimFailureId","lastDistClaimFailure","colorInd","i","length","cur","reduce","runningTotal","currentValue","detailType","requestedQuantity","requestedUnitCost","externalTotalAmount","authorizedQuantity","authorizedUnitCost","amountPaid","taxAmount","total","re","RegExp","Object","keys","map","replace","join","matched","toLowerCase","requestedTotal","window","innerWidth","dialogRef","open","width","height","afterClosed","console","log","filename","downloadClaimSummary","next","url","href","bypassSecurityTrustResourceUrl","complete","error","err","contractFilename","downloadContractPdf","toString","downloadBlob","AngularMaterialModule","SiriusXMService","dashboardEndpoint","CilajetDialogComponent","contractService","snack","states$","showBillingCategory","submitting","formGroup","shippingTo","required","shippingEmail","emailAddress","shippingAttention","shippingAddress","shippingCity","shippingState","shippingPostalCode","sameAsShipping","billingCategory","billingTo","billingEmail","billingAddress","billingCity","billingState","billingPostalCode","quantity","min","unitPrice","patchValue","valueChanges","val","billingMatchesShipping","setValue","emitEvent","event","isShipping","target","value","getLocation","res","places","checked","invalid","markAllAsTouched","submitForm","duration","close","qty","postalLookup","toggleSameAsShipping","ContainerHeaderlessComponent","QuicksignServicePlusTooltipDialogComponent","environment","development","dealfiDirectUrl","brEndpoint","dealerSignupEndpoint","cancellationEndpoint","toolsEndpoint","pcrsWebhook","marketingEndpoint","dealFiUrl","secondary","graphQLEndpoint","lmsModuleId","pcrsEnabled","prototype","isRequired","validator","SignatureFieldComponent","breakPointObserver","options","canvasWidth","canvasHeight","handset","Handset","tablet","Tablet","web","Web","_signature","propagateChange","matches","signaturePad","clear","signature","onEndEvent","onChange","toDataURL","split","existingSignature","fromDataURL","fn","provide","useExisting","multi","drawBegin","drawComplete","QuicksignServicePlusBreakdownComponent","benefitsMarkupData","name","budgetValue","aPlusP1NewCarValue","otherValue","displayedColumns","expanded","OverrideDialogComponent","fb","overrideForm","group","paymentRecipient","paymentAmount","additionalComments","formData","onCancelClick","openConfirmDialog","AgentFilteredMultiselectComponent","searchTextboxControl","selectedValues","agents","filteredOptions","_filter","selectedAgents","filterValue","setSelectedValues","filteredList","option","agentName","agentNumber","isUserInput","source","selected","index","indexOf","splice","searchTextBox","nativeElement","focus","stopPropagation","openedChange","SiriusXMRealTimeModel","SiriusXMRealTimeResponseModel","RetroReinsuranceServicePlusDialogComponent","LandingComponent","activatedRoute","authService","snackBar","cookieService","loading","message","redirectUrl","redirectDealerNumber","loginForm","password","has","flush","dealerNumber","authenticateToken","response","set","navigate","then","fulfilled","isAuthenticated","login","localStorage","check","userNameControl","controls","forgotPassword","OverbillResults","SimpleDealerProfile","AlphaProgram","FormType","ProgramTerms","Term","GapProviders","FloridaCommissionOptions","DealerProfile","repairFacility","RepairFacility","mailingAddress","floridaDealerDetail","FloridaDetail","driveEasyDetail","DriveEasyDetail","DealerUser","AgentDealerInfo","Agreement","CommissionProgramInput","WarrantyEligibilityType","AgreementViewModel","Dealer","DealerAuthPrograms","AddProgramModel","EditPrograms","AddUserModel","ModifyDefaultCommissionModel","ModifyAgentReservesModel","Reserve","combinedDesc","coverageGroup","coverageGroupId","termGroup","termGroupId","oldReserve","newReserve","CombinedDesc","CoverageGroup","CoverageGroupId","TermGroup","TermGroupId","OldReserve","NewReserve","DealerSelectFormControlEditableComponent","userService","users","inputFilter","label","includeDFI","onlyActiveDealers","disabled","touched","scsAccessFilter","pipe","user","id","assignedDealerNum","loadFilter","preloadDealerScsAccessFilter","markAsTouched","selectedValue","blur","setSelectionRange","obj","onTouched","isDisabled","control","onValidate","clearText","optionSelected","SharedModule","forRoot","FeatureFlagService","setFeatureFlags","scheduleFeatureFlagLoading","getItem","loadFeatureFlags","expirationTime","now","expirationDate","getFeatureFlags","setItem","JSON","stringify","expirationInterval","getTime","toISOString","setInterval","featureFlag","featureFlags","parse","feature","find","f","featureName","isPublished","hasFeature","AgentGuard","state","hasUserViewAccess","ZoomValidators","technicalValidation","defactoValidation","email","test","emailBlackList","found","domainBlackList","pageType","exists","domain","regEx","phone","controlValue","targetValue","same","today","getMonth","uiData","key","hasOwnProperty","call","element","toJSON","a","objectUrl","URL","createObjectURL","click","revokeObjectURL","lessThanMin","QuicksignStepComponent","_childrenHidden","hidden","interactedOverride","isAdder","isButton","isHeader","isParent","isSubstep","nextButtonText","previousButtonText","tooltip","buttonClick","previous","completed","interacted","children","child","ClaimService","httpClient","datePipe","endPoint","prop","searchInput","buildParams","scsClaimNumber","vin","claimNumbers","servicerNumber","overridePaymentForm","encodedId","PageResult","FeatureFlagGuard","featureFlagService","isEnabled","RepairFacilityComponent","routeId","rfEncodedLogin","AppComponent","pageViewService","dealerService","events","evt","waitTimeInSec","checkForDealerSurvey","gtag","page_path","urlAfterRedirects","logView","loadExternalChatScript","initializePatronChat","Promise","resolve","reject","src","onload","onerror","init","serverHost","bus_no","onInitialized","onError","LoadingService","_loading","loading$","asObservable","SignatureDialogComponent","matSnackBar","sanitizer","hasSignature","signatureForm","file","signerFirstName","signerLastName","signerTitle","dealerProfileId","signedDate","agreementsEvent","agreements","getSignature","getAgreements","updateSize","contextualFormArray","getDealerAgreementsForAcceptance","x","isAccepted","requiredTrue","tabGroup","tabCount","_tabs","selectedIndex","html","displayName","bypassSecurityTrustHtml","updateSignature","SettingsService","model","productCode","markupId","postObj","walletId","put","mgrId","accountNumber","customLayoutId","postBody","QuicktrackTableComponent","multipleDealers","tableLoading","claimColumnsWithDealers","pageIndex","mostRecentInput","page","sortingDataAccessor","item","property","claimSystemEntryDate","claimStatus","dateClaimPaid","emit","pageSize","getPagedClaimsList","Array","isArray","items","count","softStatus","createUrlTree","relativeTo","queryParams","context","clearToken","queryParamsHandling","SignatureFormControlComponent","previousWidth","signatureRegion","expectedWidth","offsetWidth","imgSignature","missingSignature","clearSignature","CmsService","graphQLURL","adminId","admin","cmsNotificationId","ForgotPasswordComponent","authentication","passwordControl","minLength","resetPasswordForm","newPassword","areSame","isSubmitting","isInvalidToken","isResending","isLoaded","validateToken","updateValueAndValidity","updateForgottenPassword","btoa","userId","description","appRoutes","path","redirectTo","pathMatch","component","loadChildren","d","RepairFacilityModule","canActivate","m","DashboardModule","QuicktrackModule","allowedRoles","QuicksignModule","QuicksyncModule","OutfieldModule","InitiateModule","RatecardModule","VideosModule","BusinessReviewModule","CancellationModule","DealerCancellationModule","ContractModule","ContractsModule","SavedQuotesReportModule","ProductSalesReportModule","FaqsModule","SettingsModule","RemittanceModule","APCRemittanceModule","AgentRemittanceModule","SiteAdminModule","ReportsModule","FormsModule","WealthDashboardsModule","MarketingMaterialsModule","CallCenterModule","NotificationModule","TooltipsModule","DealerInformationModule","CustomerCancellationModule","LienModule","ProfileModule","OverbillModule","AdjustmentAgreementModule","RetroModule","ReinsuranceModule","AppModule","useClass","useValue","horizontalPosition","verticalPosition","withServerTransition","appId","MgaSelectComponent","filterInput","controlRequired","formLabel","formControl","filteredMgas","mgaScsAccessFilter","existing","preloadMgaScsAccessFilter","detail","NotificationDialogComponent","notificationService","cmsService","dateOpened","markNotificationRead","notificationId","isLoading","notification","notificationBody","ProgramSelectComponent","quicksign","franchise","selectedPrograms","gapProviderControl","franchiseClassicStandardGapControl","franchiseClassicEssentialGapControl","franchiseClassicCommercialGapControl","franchiseCarcoStandardGapControl","franchiseCarcoBuyHerePayHereGapControl","franchiseCarcoCommercialGapControl","independentClassicStandardGapControl","independentClassicEssentialGapControl","independentClassicCommercialGapControl","independentCarcoStandardGapControl","independentCarcoBuyHerePayHereGapControl","independentCarcoCommercialGapControl","vscProgramControl","warrantyProgramControl","summitProtectionProgramControl","programsFormGroup","gapProviderId","gapProgramsFormGroup","productFormGroup","programs","gapPrograms","values","combinePrograms","getGapPrograms","franchiseCarcoBuyHerePayHereGapPrograms","isFranchise","provider","franchiseCarcoCommercialGapPrograms","franchiseCarcoStandardGapPrograms","franchiseClassicCommercialGapPrograms","franchiseClassicEssentialGapPrograms","franchiseClassicStandardGapPrograms","independentClassicStandardGapPrograms","independentClassicEssentialGapPrograms","independentClassicCommercialGapPrograms","independentCarcoStandardGapPrograms","independentCarcoCommercialGapPrograms","independentCarcoBuyHerePayHereGapPrograms","getPrograms","vscPrograms","warrantyPrograms","ancPrograms","getGapProviders","providers","gapProviders","gpv","reset","p","concat","combineGapPrograms","gapProviderChange","ContractService","postalCodeEndpoint","savedQuoteId","postalCode","coverageCode","rateBook","scrubbedCode","encodeURI","ratebookCode","quoteId","QuicksignStepperComponent","steps","activeClass","containerClass","_steps","changes","_destroyed","step","_stepper","isStep","notifyOnChanges","some","NotificationService","PrincipalService","usersService","principalKey","uuidKey","scsDealerKey","session","defaultSession","authenticatedSubject","rawData","storedUUID","setUUID","access_token","claims","unique_name","given_name","family_name","nameid","updateUserLastDealerNumber","sign_in","uuidInstance","hasImpersonation","user_view_access_type","phone_number","timer","unsubscribe","removeItem","all","roles","sr","r","uvas","u","alphaOrAlpine","feature_flags","atob","actorClaims","sessionRoles","roleRef","role","actort","alphaOrAlpineCookieExists","expiry","exp","lastScsNumber","isAlphaOrAlpineToolsEndpoint","content","JwtInterceptor","loader","request","match","clone","setHeaders","Authorization","handle","hide","setAlphaOrAlpine","DealerSelectComponent","autoClearInput","preloadFromPrincipal","PrivacyPolicyComponent","FooterComponent","year","getUserLogo","logoPath","FilePath","QuickSignService","assign","checkForDuplicates","dealerInformationId","lenderNumber","DealerNumber","LenderNumber","formTypeId","overbillId","profileId","FormData","append","effectiveDate","agreementDate","crmNote","initialSend","profile","includeExclusions","alphaProgramId","alphaProgramIds","adjustmentId","putObj","agreementId","retroId","includeAgreement","mySubmissionId","showHidden","dealerSubmissionId","dealerNumbers","UsersService","userEndpoint","createQueryParams","filters","ccEmails","entries","acc","DealerFilteredMultiSelectComponent","dealers","selectedDealers","dealerName","NavComponent","loadingSubject$","loadingEvent$","isProduction","firstLoad","hideBottomMarginRoutes","authenticated","getCmsNotifications","getNotifications","cmsNotifications","zoomNotifications","contentItemId","displayText","getUserNotification","notifications","unopened","popUpArray","makePopUp","notificationBadgeCount","triggerPopUpNotifications","triggerSnackbarNotifications","openNotificationSnack","getNotificationTitle","action","openNotificationDialog","minWidth","autoFocus","home","location","reload","routeParts","urlParts","routeHome","PageViewService","date","timeStamp","AuthorizedGuard","warn","SafePipe","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","Error","AgentSelectComponent","showClearButton","optionSelectEvent","initialLoad","filteredAgents","agentScsAccessFilter","preloadAgentScsAccessFilter","DealerMultiSelectComponent","dashboard","filtersDealersByScsNumber","selectFormControl","NotFoundComponent","DealerFilteredChipSelectComponent","separatorKeysCodes","limit","dealersLoaded","dealerList","accessFilter","slice","filtersGetSelectedDealers","enable","disable","trim","dealer","dealerInput","add","SiriusXMRealtimeComponent","quickSign","sxm","displayedErrorColumns","displayedSuccessColumns","showSigHint","labelNames","siriusXMRealTimeFormGroup","address1","city","zip","country","dealerId","resp","dataSource","deviceId","isEligible","resultCode","errorCode","errorMessage","checkDisplayedColumns","tableItem","customerCountry","homePhone","consumerEmail","RealTimeCrmTest","corpId","RealTimeRequest","RealTimeTestCases","RealTimeApplyToExistingContracts","onSubmit","testUpdateCrm","testUploadToSxm","runTestCases","testApplyToExistingContracts","states","abbreviation","DealerSelectFormControlComponent","dealerChanged","ContainerComponent","DealerSurveyDialogComponent","dialogClosed","dialogChanger","surveyForm","DealerSurveyId","dealerSurveyId","UserId","FeedbackResponse","Testimonial","updateDealerSurvey","testimonial","feedbackResponse","isTimeoutTriggered","onDialogClose","QuicktrackTilesComponent","isDashboard","forceAllowForThisPage","startDate","endDate","claimPaidTotal","getClaimsPaidTotal","claimSubmittedTotal","getClaimsSubmittedTotal","claimsOpenTotal","getClaimsOpenTotal","getClaimsAmountPaidTotal","claimsAmountPaid","getClaimAvgClaimDuration","claimDuration","getNpsScore","npsScore","ZoomContractService","oldContract","newContract","oldContractNumber","newContractNumber","UserService","includeDemos","excludeProfitSharing","isDealerReinsurance","mgaNumber","ImpersonateComponent","actorSelection","userList$","impersonateUsers","impersonate","entry","impersonateUser","ChipDealerSelectComponent","parent","dealerSelect","displaylabel","includeDemoDealers","visible","removable","includeDFIDealers","preloadAccessFilter","rv","toUpperCase","selectedDealer","sync","removeAt","autoSelectChange","QuicksignServicePlusComponent","hasServiceCenterChange","checkBoxChange","preSelectedOptions","showLogo","enableAll","hasRetroOrReinsurance","showServiceCenterQuestion","editable","initiateForm","preselectedServiceCenter","selectedOptions","servicePlusOptions","hasServiceCenter","checkboxGroupControl","partSourcingIds","getServicePlusOptions","servicePlusId","isDisabledChecked","tooltipHtml","defaultDisabled","newValue","findIndex","selectedOptionIndex","OverrideDialogConfirmationComponent","claimService","overridePostBody","payeeName","paymentMethod","accountName","accountType","routingNumber","postOverridePayment","closeAll","onConfirmClick","AnnualVscSalesComponent","hideFutureMonths","chartType","columnNames","colors","aggregationTarget","chartArea","left","animation","startup","easing","legend","lineWidth","pointSize","chartImage","annualVscSales$","monthName","current","currentMonth","chart","getImageURI","CilajetService","DashboardService","paramsObj","opportunityID","dealerFilter","includeAPC","includeCancelled","AgentFilteredChipSelectComponent","agentList","agent","agentInput","NotAuthorizedComponent","TermMileagePipe","PermissionGuard","hasRoles","getBaseUrl","getElementsByTagName","useFactory","deps","bootstrapModule","DealerService","timeout","baseUrl","lastSaleDate","survey","waitTime","allowPage","clearTimeout","getCurrentDealerSurvey","setDealerSurveyTimeout","openDealerSurveyDialog","disableClose","webpackEmptyAsyncContext","req","code","module","exports"],"mappings":"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","file":"main-es5.d61aa0b6c1747cc71470.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\nimport { Credentials, Token } from './authentication.model';\r\nimport { Principal } from './principal.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n private endpoint: string;\r\n\r\n constructor(private http: HttpClient) {\r\n this.endpoint = environment.zoomEndpoint + environment.version;\r\n }\r\n\r\n authenticateToken(payload: Token, uuid: string) {\r\n const headers = {};\r\n if (uuid) {\r\n headers['Zoom-UUID'] = uuid;\r\n }\r\n return this.http.post(\r\n `${this.endpoint}authentication`,\r\n payload,\r\n {\r\n headers: headers,\r\n }\r\n );\r\n }\r\n\r\n login(payload: Credentials, uuid: string) {\r\n const headers = {};\r\n if (uuid) {\r\n headers['Zoom-UUID'] = uuid;\r\n }\r\n return this.http.post(\r\n `${this.endpoint}authentication/login`,\r\n payload,\r\n {\r\n headers: headers,\r\n }\r\n );\r\n }\r\n\r\n oneTimeCode(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}authentication/one-time-code`,\r\n payload,\r\n {\r\n observe: 'response',\r\n }\r\n );\r\n }\r\n\r\n sendCode(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}authentication/generate-code`,\r\n payload\r\n );\r\n }\r\n\r\n impersonate(actorId: string, uuid?: string) {\r\n const headers = {};\r\n if (uuid) {\r\n headers['Zoom-UUID'] = uuid;\r\n }\r\n return this.http.post(\r\n `${this.endpoint}authentication/impersonate`,\r\n {\r\n actorId,\r\n },\r\n {\r\n headers: headers,\r\n }\r\n );\r\n }\r\n\r\n impersonateUsers(userViewAccessType: string, filter: string = '') {\r\n const query = {} as any;\r\n if (filter) {\r\n query.filter = filter;\r\n }\r\n return this.http.get(\r\n `${this.endpoint}authentication/impersonate/users-by-access-type/${userViewAccessType}`, {\r\n params: query\r\n }\r\n );\r\n }\r\n\r\n forgotPassword(username: any) {\r\n return this.http.get(`${this.endpoint}authentication/forgot-password`, {\r\n params: { username },\r\n responseType: 'text' as 'json'\r\n });\r\n }\r\n\r\n\r\n validateToken(token) {\r\n return this.http.get(`${this.endpoint}authentication/validate-password-token`, {\r\n params: { token }\r\n });\r\n }\r\n\r\n updateForgottenPassword(payload: any) {\r\n return this.http.post(`${this.endpoint}authentication/forgot-password`, payload);\r\n }\r\n\r\n // ACCOUNT\r\n accountDetails() {\r\n return this.http.get(\r\n `${this.endpoint}account/`\r\n );\r\n }\r\n\r\n updateDetails(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account`,\r\n payload\r\n );\r\n }\r\n\r\n updatePassword(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account/password`,\r\n payload\r\n );\r\n }\r\n\r\n twoFactor(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account/two-factor`,\r\n payload\r\n );\r\n }\r\n\r\n validateTwoFactor(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account/two-factor/validate`,\r\n payload\r\n );\r\n }\r\n\r\n smsTwoFactor(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account/sms-two-factor`,\r\n payload\r\n );\r\n }\r\n\r\n twoFactorEnable() {\r\n return this.http.post(`${this.endpoint}account/two-factor/enable`, null);\r\n }\r\n\r\n twoFactorDisable() {\r\n return this.http.post(`${this.endpoint}account/two-factor/disable`, null);\r\n }\r\n\r\n validateSmsTwoFactor(payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}account/sms-two-factor/validate`,\r\n payload\r\n );\r\n }\r\n\r\n usersByScsNumber(scsNumber: string) {\r\n return this.http.get(`${this.endpoint}users/by-scs-number`, {\r\n params: {\r\n scsNumber\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

Claim Details

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

customer

\r\n
\r\n

\r\n {{ contract.firstName | titlecase }} {{ contract.lastName | titlecase }}\r\n

\r\n

\r\n {{ contract.address1 | titlecase }} {{ contract.address2 | titlecase\r\n }}
\r\n {{ contract.city | titlecase }}, {{ contract.state | titlecase }}\r\n {{ contract.zipCode }}
\r\n

\r\n

\r\n Claim Number: {{ claim.claimNumber }}
Repair Number:{{ claim.repairOrderNumber }}
\r\n Days Since Sale: {{\r\n contract.daysSinceContactSale | number\r\n }}
\r\n Claim Date: {{\r\n claim.dateLossOccurred | date: 'M/d/yyyy'\r\n }}
\r\n Claim Odometer: {{\r\n claim.odometerAtTimeOfLoss | number\r\n }}
\r\n Claim Activity: {{\r\n deniedExceptInspection ? 'Closed - Not Covered' : claim.claimStatus\r\n }}\r\n

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

contract

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

\r\n \r\n {{ contract.contractNumber }}\r\n \r\n

\r\n Sale Date: {{ contract.contractSaleDate | date: 'M/d/yyyy' }}
\r\n Effective Date: {{ contract.contractEffective | date: 'M/d/yyyy' }} -\r\n {{ contractExpirationDate }}
\r\n Effective Odometer: {{ contract.contractEffectiveOdometer | number }} -\r\n {{ contractExpirationOdo }}
\r\n
\r\n
\r\n

\r\n {{\r\n contract.displayProgram\r\n ? contract.displayProgram\r\n : contract.program\r\n }}\r\n

\r\n {{ contract.displayPlan ? contract.displayPlan : contract.plan\r\n }}
\r\n Term: {{ contract.contractTerm }}/{{ contractMileage\r\n }}
\r\n Deductible: {{ contract.deductibleAmount | currency }}\r\n
\r\n
\r\n Repair Facility: \r\n {{ claim.repairFacility.payeeDescription }}\r\n
\r\n Address: \r\n\r\n {{ claim.repairFacility.payeeAddress1 | titlecase }}\r\n {{ claim.repairFacility.payeeAddress2 | titlecase }}\r\n
\r\n {{ claim.repairFacility.payeeCity | titlecase }},\r\n {{ claim.repairFacility.payeeState | titlecase }}\r\n {{ claim.repairFacility.payeeZipCode | titlecase }}\r\n
\r\n \r\n Phone: \r\n {{ claim.repairFacility.payeePhone | slice: 0:3 }}-\r\n {{ claim.repairFacility.payeePhone | slice: 3:6 }}-\r\n {{ claim.repairFacility.payeePhone | slice: 6:10 }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

vehicle

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n no_photography\r\n
\r\n

\r\n {{ vehicle.modelYear }} {{ vehicle.make | titlecase }}\r\n {{ vehicle.model | titlecase }}\r\n

\r\n
VIN: {{ contract.vehicleIdNumber }}
\r\n
\r\n
\r\n
\r\n \r\n \r\n cloud_download DOWNLOAD CONTRACT\r\n \r\n
\r\n
\r\n \r\n get_app\r\n CLAIM DETAILS\r\n \r\n
\r\n
\r\n \r\n forum\r\n CHAT WITH US\r\n \r\n
\r\n
\r\n \r\n OVERRIDE REQUEST\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Claim Jobs

\r\n
\r\n \r\n \r\n \r\n Category\r\n \r\n \r\n {{ row.category }}\r\n \r\n Totals\r\n \r\n \r\n \r\n Loss Description\r\n \r\n \r\n {{ row.detailDescription }}\r\n \r\n \r\n \r\n \r\n \r\n Detail\r\n \r\n \r\n
\r\n {{ row.partDescription }}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Requested Amount\r\n \r\n \r\n \r\n
\r\n {{ row.requestedQuantity | number: '.2' }} Hours @\r\n {{ row.requestedUnitCost | currency }}/hour\r\n
\r\n
\r\n {{ row.requestedQuantity | number: '.2' }} Qty @\r\n {{ row.requestedUnitCost | currency }}\r\n
\r\n
\r\n {{ row.externalTotalAmount | currency }}\r\n
\r\n
\r\n \r\n \r\n {{ requestedTotal() | currency }}\r\n \r\n
\r\n \r\n \r\n Payable Amount\r\n \r\n \r\n \r\n
\r\n {{ row.authorizedQuantity | number: '.2' }}\r\n Hours @ {{ row.authorizedUnitCost | currency }}/hour\r\n
\r\n
\r\n {{ row.authorizedQuantity | number: '.2' }}\r\n Qty @ {{ row.authorizedUnitCost | currency }}\r\n
\r\n
\r\n {{ row.amountPaid - row.taxAmount | currency }}\r\n
\r\n
\r\n \r\n \r\n {{ authorizedTotal() | currency }}\r\n \r\n
\r\n \r\n \r\n Tax\r\n \r\n \r\n {{ row.taxAmount | currency }}\r\n \r\n {{ taxTotal() | currency }}\r\n \r\n \r\n \r\n Total Payable\r\n \r\n \r\n {{ row.amountPaid + row.taxAmount | currency }}\r\n \r\n \r\n {{ totalPayable() | currency }}\r\n \r\n \r\n \r\n \r\n Status\r\n \r\n \r\n
\r\n {{ row.status }}\r\n
\r\n
Ineligible
\r\n \r\n \r\n
\r\n \r\n \r\n Payee\r\n \r\n \r\n {{ row.payee }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Claim Notes

\r\n
\r\n \r\n \r\n Date\r\n \r\n {{ row.noteDate | date: 'M/d/yyyy' }}\r\n \r\n \r\n \r\n User\r\n \r\n {{ row.userId }}\r\n \r\n \r\n \r\n Comment\r\n \r\n {{ row.note }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\n\r\nimport {\r\n Component,\r\n OnInit,\r\n SecurityContext,\r\n ViewChild,\r\n Renderer2,\r\n ElementRef,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport {\r\n DomSanitizer,\r\n SafeResourceUrl,\r\n Title,\r\n} from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToolsService } from '../tools.service';\r\nimport { environment } from '../../environments/environment';\r\nimport {\r\n Claim,\r\n ClaimDetails,\r\n ClaimNotes,\r\n Vehicle,\r\n ClaimSummary,\r\n ClaimDetailSummary,\r\n ClaimPart,\r\n} from '../claim.model';\r\nimport { ClaimService } from '../claim.service';\r\nimport { Contract } from '../contract.model';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { OverrideDialogComponent } from '../override-dialog/override-dialog.component';\r\nimport { ZoomContractService } from '../zoom-contract.service';\r\nimport { ZoomValidators } from '../zoom-validators';\r\n\r\ndeclare const icPatronChat: any;\r\n\r\n@Component({\r\n selector: 'app-quicktrack-claim-detail',\r\n templateUrl: './quicktrack-claim-detail.component.html',\r\n styleUrls: ['./quicktrack-claim-detail.component.css'],\r\n})\r\nexport class QuicktrackClaimDetailComponent implements OnInit {\r\n claimNumber: string;\r\n claim: Claim;\r\n contract: Contract;\r\n contractNumber: string;\r\n vehicle: Vehicle;\r\n href: SafeResourceUrl;\r\n filename: string;\r\n contractHref: SafeResourceUrl;\r\n contractFilename: string;\r\n showDownload = false;\r\n contractDownloadDisabled = false;\r\n showNotes = true;\r\n noteCutoff = new Date(2020, 8, 14);\r\n contractMileage: string;\r\n contractExpirationOdo: string;\r\n contractExpirationDate: string;\r\n zoomUrl = environment.zoomEndpoint;\r\n deniedExceptInspection: boolean = false;\r\n claimSummary: ClaimSummary;\r\n isOverride: boolean = false;\r\n isOverrideLoading: boolean = true;\r\n\r\n appearance = 'none';\r\n color = 'primary';\r\n\r\n claimDataSource = new MatTableDataSource([]);\r\n claimColumns = [\r\n 'category',\r\n 'lossDescription',\r\n 'part',\r\n 'requestedAmount',\r\n 'payableAmount',\r\n 'tax',\r\n 'totalPayable',\r\n 'status',\r\n 'payee',\r\n ];\r\n noteDataSource = new MatTableDataSource([]);\r\n noteColumns = ['noteDate', 'userId', 'note'];\r\n termDictionary = {\r\n lol: 'Limit of Liability. The max amount by category or NADA value that will be contributed towards claims paid for the vehicle on the contract.',\r\n adj: 'adjustment',\r\n pri: 'previous repair invoices',\r\n pq: 'part quote',\r\n pqs: 'part quotes',\r\n \"pq's\": 'part quotes',\r\n kb: 'knowledge base',\r\n auth: 'Authorized',\r\n rfd: 'reason for ineligibility',\r\n mods: 'modifications to the vehicle',\r\n alt: 'alterations to the vehicle',\r\n diag: 'diagnosis of the issue the vehicle is experiencing ',\r\n swis: 'southwest inspection services',\r\n swi: 'southwest inspection',\r\n wis: 'western inspection services',\r\n nada: 'national automobile dealer association',\r\n rf: 'repair facility',\r\n vm: 'voice mail',\r\n \"cq's\": 'Customer questions. Questions asked of the customer relating to their vehicle usage.',\r\n '12/12':\r\n \"Standard warranty required from repair facility's. Warranty covers parts and labor for 12 months.\",\r\n eoc: 'warranty extended by vendors on some parts until the end of the VSC term.',\r\n ev: 'electric vehicle',\r\n dl: 'selling dealership',\r\n ag: 'agent',\r\n si: 'self inspection',\r\n npa: 'No Prior Authorization claim. This type of claim is submitted by the contract holder when they have a repair completed prior to notifying Alpha.',\r\n cel: 'check engine light',\r\n lh: 'lienholder',\r\n oem: 'original equipment manufacturer',\r\n spp: 'service payment plan; A finance company used by Alpha customers to fund their VSC.',\r\n lop: 'loss of power',\r\n lof: 'loss of fluids',\r\n tx: 'transferred call',\r\n rsa: 'roadside assistance',\r\n odo: 'odometer',\r\n cxl: 'cancel',\r\n na: 'not available',\r\n \"3 c's\": 'complaint, cause, correction',\r\n '3 c’s': 'complaint, cause, correction',\r\n \"3c's\": 'complaint, cause, correction',\r\n y: 'yes',\r\n n: 'no',\r\n td: 'teardown',\r\n pof: 'point of failure',\r\n mr: 'maintenance record',\r\n mrs: 'maintenance records',\r\n rr: 'labor',\r\n msrp: 'manufacturer\\'s suggested retail price.',\r\n vpi: 'vender part issue'\r\n };\r\n\r\n pointOfContact: string; \r\n @ViewChild(MatSort) set sort(sort: MatSort) {\r\n if (!this.noteDataSource.sort) {\r\n this.noteDataSource.sort = sort;\r\n }\r\n }\r\n @ViewChild(MatPaginator) set paginator(paginator: MatPaginator) {\r\n if (!this.noteDataSource.paginator) {\r\n this.noteDataSource.paginator = paginator;\r\n }\r\n }\r\n isScsContract: boolean;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private route: ActivatedRoute,\r\n private service: ClaimService,\r\n private router: Router,\r\n private zoomContract: ZoomContractService,\r\n title: Title,\r\n private domSanitizer: DomSanitizer,\r\n public dialog: MatDialog,\r\n private principal: PrincipalService,\r\n public datepipe: DatePipe,\r\n private el: ElementRef\r\n ) {\r\n title.setTitle(environment.titlePrefix + 'Claim Details');\r\n this.appearance = environment.theme.input;\r\n this.color = environment.theme.primary;\r\n this.claimDataSource.data = [];\r\n }\r\n\r\n ngOnInit() {\r\n if (environment.production) {\r\n this.pointOfContact = 'ad52f710-7db5-404b-83ee-cbb8b988d199'; // Prod POC:\r\n }\r\n else {\r\n this.pointOfContact = '390de163-bb21-49c6-85e5-c5ce14ae9f63'; //Test POC\r\n }\r\n this.removeResidualChat();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.query();\r\n var chatFrame = document.getElementById('icChat') as HTMLIFrameElement;\r\n if (chatFrame == undefined) { \r\n this.removeResidualChat;\r\n this.query();\r\n } else if (chatFrame == undefined) { \r\n this.query();\r\n }\r\n this.checkicPatronChat();\r\n }\r\n\r\n checkicPatronChat() {\r\n if (icPatronChat == undefined) { \r\n document.getElementById('icChat').remove();\r\n this.removeResidualChat;\r\n this.loadChat(this.pointOfContact);\r\n } \r\n }\r\n removeResidualChat() {\r\n const chat = document.getElementsByClassName('button-iframe-wrap')[0];\r\n if (chat) {\r\n chat.remove();\r\n }\r\n }\r\n\r\n loadChat(poc: string) { \r\n if (this.contract == undefined) {\r\n setTimeout(() => {}, 250);\r\n }\r\n try {\r\n document.getElementsByClassName('ie-div-position-customer-chat')[0].remove();\r\n }\r\n catch (e) { }\r\n let script = this.renderer.createElement('script');\r\n script.type = 'text/javascript';\r\n script.text = ` \r\n icPatronChat.init({\r\n serverHost: \"https://home-c54.nice-incontact.com\",\r\n bus_no: 4604375,\r\n poc: \"${poc}\",\r\n params: [\r\n \"${this.principal.userViewAccessType}\",\r\n \"${this.principal.phoneNumber}\",\r\n \"${this.principal.userName}\",\r\n \"${this.claimNumber}\",\r\n \"${this.contract.contractNumber}\",\r\n \"${this.principal.firstName}\",\r\n \"${this.principal.lastName}\"\r\n ],\r\n });\r\n `;\r\n this.renderer.appendChild(document.body, script);\r\n var chatFrame = document.getElementById('icChat') as HTMLIFrameElement; \r\n return script;\r\n }\r\n\r\n onChatClick() {\r\n this.checkicPatronChat();\r\n icPatronChat.show();\r\n }\r\n\r\n query() {\r\n this.claimNumber = this.route.snapshot.paramMap.get('claimNumber');\r\n const dealerNumberQuery =\r\n this.route.snapshot.queryParamMap.get('dealerNumber');\r\n // pre load claim details pdf\r\n this.download();\r\n this.service\r\n .getClaim(this.claimNumber, dealerNumberQuery)\r\n .subscribe((result) => {\r\n this.claim = result;\r\n if (new Date(result.dateLossOccurred) <= this.noteCutoff) {\r\n this.showNotes = false;\r\n }\r\n });\r\n this.service\r\n .getClaimContract(this.claimNumber, dealerNumberQuery)\r\n .subscribe((result) => {\r\n this.contract = result;\r\n this.contractNumber = result.contractNumber;\r\n this.isScsContract =\r\n new Date(result.contractSaleDate) <= new Date(2021, 9, 1);\r\n this.service\r\n .vehicleInformation(result.vehicleIdNumber)\r\n .subscribe((v) => {\r\n this.vehicle = v;\r\n });\r\n if (result.contractMileage === 999999) {\r\n this.contractMileage = 'Unlimited';\r\n } else {\r\n this.contractMileage =\r\n result.contractMileage.toLocaleString('number');\r\n }\r\n if (result.contractExpirationOdometer > 900000) {\r\n this.contractExpirationOdo = 'Unlimited';\r\n } else {\r\n this.contractExpirationOdo =\r\n result.contractExpirationOdometer.toLocaleString('number');\r\n }\r\n if (new Date(result.contractExpiration).getFullYear() > 2050) {\r\n this.contractExpirationDate = 'Lifetime';\r\n } else {\r\n this.contractExpirationDate = this.datepipe.transform(\r\n result.contractExpiration,\r\n 'M/d/yyyy'\r\n );\r\n this.loadChat(this.pointOfContact);\r\n var chatFrame = document.getElementById('icChat') as HTMLIFrameElement;\r\n if (chatFrame == undefined) { \r\n this.query();\r\n this.checkicPatronChat();\r\n }\r\n }\r\n });\r\n this.service\r\n .getQualifyOverride(this.claimNumber, dealerNumberQuery)\r\n .subscribe((result) => {\r\n this.isOverride = result;\r\n this.isOverrideLoading = false;\r\n });\r\n this.service\r\n .getClaimDetails(this.claimNumber, dealerNumberQuery)\r\n .subscribe((result) => {\r\n this.sortAndColor(result);\r\n this.claimDataSource.data = result;\r\n this.checkLossCodes(result);\r\n });\r\n this.service\r\n .getClaimNotes(this.claimNumber, dealerNumberQuery)\r\n .subscribe((result) => {\r\n this.noteDataSource.data = result;\r\n //this.noteDataSource.sort = this.sort;\r\n //this.noteDataSource.paginator = this.paginator;\r\n this.wordReplace();\r\n this.removeSystemNotes();\r\n });\r\n\r\n // Get additional claim info to display\r\n this.service.getClaimSummary(this.claimNumber).subscribe((result) => {\r\n this.claimSummary = result;\r\n });\r\n this.checkicPatronChat();\r\n }\r\n\r\n checkLossCodes(result: any[]) {\r\n var deniedExceptInspection = true;\r\n result.forEach((row) => {\r\n //if the loss code row is either denied or the loss code is in (GN003, GN080, GN081) then hide the system notes and mark the status denied\r\n var inspectionLossCodes = [\r\n '1st Inspection / General',\r\n '1st Inspection',\r\n '2nd Inspection',\r\n '3rd Inspection',\r\n ];\r\n if (\r\n row.status != 'Denied' &&\r\n !inspectionLossCodes.includes(row.lossDescription)\r\n ) {\r\n deniedExceptInspection = false;\r\n }\r\n });\r\n this.deniedExceptInspection = deniedExceptInspection;\r\n }\r\n\r\n qualifyOverride() {\r\n return this.isOverride;\r\n }\r\n\r\n removeSystemNotes() {\r\n var systemNotesRemoved = [];\r\n if (this.deniedExceptInspection) {\r\n this.noteDataSource.data.forEach((note) => {\r\n if (!note.systemNoteFlag) {\r\n systemNotesRemoved.push(note);\r\n }\r\n });\r\n this.noteDataSource.data = systemNotesRemoved;\r\n }\r\n }\r\n\r\n sortAndColor(result: any[]) {\r\n result.sort((cd1, cd2) => {\r\n if (cd1 === cd2) return 0;\r\n else if (cd1 === null) return 1;\r\n else if (cd2 === null) return 1;\r\n else if (cd1.claimFailureId > cd2.claimFailureId) return -1;\r\n else return 1;\r\n });\r\n var lastDistClaimFailure = result[0].claimFailureId;\r\n var colorInd = 0;\r\n for (let i = 0; i < result.length; i++) {\r\n var cur = result[i];\r\n if (cur.claimFailureId == lastDistClaimFailure) {\r\n cur.color = colorInd;\r\n continue;\r\n } else {\r\n lastDistClaimFailure = cur.claimFailureId;\r\n colorInd = ++colorInd % 3;\r\n cur.color = colorInd;\r\n }\r\n }\r\n }\r\n\r\n requestedTotal() {\r\n return this.claimDataSource.data.reduce((runningTotal, currentValue) => {\r\n if (currentValue.detailType === 'L' || currentValue.detailType === 'P') {\r\n if (currentValue.status === 'Informational') {\r\n return runningTotal;\r\n }\r\n return (\r\n runningTotal +\r\n currentValue.requestedQuantity * currentValue.requestedUnitCost\r\n );\r\n }\r\n return runningTotal + currentValue.externalTotalAmount;\r\n }, 0);\r\n }\r\n\r\n authorizedTotal() {\r\n return this.claimDataSource.data.reduce((runningTotal, currentValue) => {\r\n if (currentValue.detailType === 'L' || currentValue.detailType === 'P') {\r\n if (currentValue.status === 'Informational') {\r\n return runningTotal;\r\n }\r\n return (\r\n runningTotal +\r\n currentValue.authorizedQuantity * currentValue.authorizedUnitCost\r\n );\r\n }\r\n return runningTotal + (currentValue.amountPaid - currentValue.taxAmount);\r\n }, 0);\r\n }\r\n\r\n totalPayable() {\r\n return this.claimDataSource.data.reduce((runningTotal, currentValue) => {\r\n if (currentValue.status === 'Informational') {\r\n return runningTotal;\r\n }\r\n return runningTotal + currentValue.amountPaid + currentValue.taxAmount;\r\n }, 0);\r\n }\r\n\r\n taxTotal() {\r\n let total = this.claimDataSource.data.reduce(\r\n (runningTotal, currentValue) => runningTotal + currentValue.taxAmount,\r\n 0\r\n );\r\n return total;\r\n }\r\n\r\n async wordReplace() {\r\n let re = new RegExp(\r\n Object.keys(this.termDictionary)\r\n .map((v) => '\\\\b' + v.replace('/', '\\\\/').replace(' ', '\\\\s') + '\\\\b')\r\n .join('|'),\r\n 'gi'\r\n );\r\n this.noteDataSource.data.map(async (data) => {\r\n data.note = data.note.replace(re, (matched) => {\r\n return this.termDictionary[matched.toLowerCase()];\r\n });\r\n });\r\n }\r\n\r\n onOverrideClick() {\r\n const requestedTotal = this.requestedTotal();\r\n if (window.innerWidth > 600) {\r\n const dialogRef = this.dialog.open(OverrideDialogComponent, {\r\n width: '40vw',\r\n height: '38em',\r\n data: requestedTotal,\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n console.log('The dialog was closed');\r\n });\r\n } else {\r\n const dialogRef = this.dialog.open(OverrideDialogComponent, {\r\n width: '90vw',\r\n height: '38em',\r\n data: requestedTotal,\r\n });\r\n dialogRef.afterClosed().subscribe((result) => {\r\n console.log('The dialog was closed');\r\n });\r\n }\r\n }\r\n\r\n download() {\r\n this.filename = 'Claim Details - ' + this.claimNumber + '.pdf';\r\n this.service.downloadClaimSummary([this.claimNumber]).subscribe({\r\n next: (url) => {\r\n this.href = this.domSanitizer.bypassSecurityTrustResourceUrl(url);\r\n },\r\n complete: () => (this.showDownload = true),\r\n error: (err) => {\r\n console.log(err);\r\n },\r\n });\r\n }\r\n\r\n downloadContractPdf() {\r\n this.contractDownloadDisabled = true;\r\n this.contractFilename = 'Contract - ' + this.contractNumber + '.pdf';\r\n this.zoomContract\r\n .downloadContractPdf(this.contractNumber, this.isScsContract.toString())\r\n .subscribe({\r\n next: (result) => {\r\n ZoomValidators.downloadBlob(result, this.contractFilename);\r\n this.contractDownloadDisabled = false;\r\n },\r\n error: () => (this.contractDownloadDisabled = false),\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [\r\n FlexLayoutModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatStepperModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n CdkStepperModule,\r\n ],\r\n})\r\nexport class AngularMaterialModule {}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\nimport { SiriusXMRealTimeModel, SiriusXMRealTimeResponseModel } from './sirius-xm.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SiriusXMService {\r\n private endpoint: string;\r\n response: SiriusXMRealTimeResponseModel | undefined;\r\n constructor(private http: HttpClient) {\r\n this.endpoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n public RealTimeRequest(data: SiriusXMRealTimeModel){\r\n return this.http.post(`${this.endpoint}sirius-xm/real-time`, data)\r\n }\r\n\r\n public RealTimeTestCases(){\r\n return this.http.get(`${this.endpoint}sirius-xm/real-time/test-cases`)\r\n }\r\n public RealTimeCrmTest(){\r\n return this.http.get(`${this.endpoint}sirius-xm/real-time/crm-test`)\r\n }\r\n\r\n public RealTimeApplyToExistingContracts(){\r\n return this.http.get(`${this.endpoint}sirius-xm/real-time/apply-to-historical-vins`)\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CilajetService } from 'src/shared/cilajet.service';\r\nimport { ContractService } from 'src/shared/contract.service';\r\nimport { PrincipalService } from 'src/shared/principal.service';\r\nimport { State, states } from 'src/shared/states.model';\r\nimport { ZoomValidators } from 'src/shared/zoom-validators';\r\n\r\n@Component({\r\n selector: 'app-cilajet-dialog',\r\n templateUrl: './cilajet-dialog.component.html',\r\n styleUrls: ['./cilajet-dialog.component.css'],\r\n})\r\nexport class CilajetDialogComponent implements OnInit {\r\n states$: State[] = states;\r\n showBillingCategory: boolean = false;\r\n submitting: boolean = false;\r\n\r\n formGroup: FormGroup = new FormGroup({\r\n shippingTo: new FormControl(null, [Validators.required]),\r\n shippingEmail: new FormControl(null, [\r\n Validators.required,\r\n ZoomValidators.emailAddress,\r\n ]),\r\n shippingAttention: new FormControl(null),\r\n shippingAddress: new FormControl(null, [Validators.required]),\r\n shippingCity: new FormControl(null, [Validators.required]),\r\n shippingState: new FormControl(null, [Validators.required]),\r\n shippingPostalCode: new FormControl(null, [Validators.required]),\r\n\r\n sameAsShipping: new FormControl(false),\r\n billingCategory: new FormControl('', [Validators.required]),\r\n billingTo: new FormControl(null, [Validators.required]),\r\n billingEmail: new FormControl(null, [\r\n Validators.required,\r\n ZoomValidators.emailAddress,\r\n ]),\r\n billingAddress: new FormControl(null, [Validators.required]),\r\n billingCity: new FormControl(null, [Validators.required]),\r\n billingState: new FormControl(null, [Validators.required]),\r\n billingPostalCode: new FormControl(null, [Validators.required]),\r\n\r\n quantity: new FormControl(null, [Validators.required, Validators.min(1)]),\r\n unitPrice: new FormControl(null),\r\n });\r\n\r\n constructor(\r\n private service: CilajetService,\r\n private contractService: ContractService,\r\n private principal: PrincipalService,\r\n private snack: MatSnackBar,\r\n private dialog: MatDialogRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n switch (this.principal.userViewAccessType.replace(' ', '').toLowerCase()) {\r\n case 'dealer':\r\n case 'dealfi':\r\n this.formGroup.patchValue({ billingCategory: 'dealer' });\r\n this.showBillingCategory = false;\r\n break;\r\n default:\r\n this.showBillingCategory = true;\r\n break;\r\n }\r\n\r\n this.formGroup.valueChanges.subscribe({\r\n next: (val) => {\r\n if (!this.billingMatchesShipping) {\r\n this.formGroup.get('sameAsShipping').setValue(false, {\r\n emitEvent: false,\r\n });\r\n }\r\n },\r\n });\r\n }\r\n\r\n postalLookup(event: any, isShipping: boolean = true) {\r\n if (event.target.value.length < 5) {\r\n return;\r\n }\r\n this.contractService.getLocation(event.target.value).subscribe({\r\n next: (res) => {\r\n if (isShipping) {\r\n this.formGroup.patchValue({\r\n shippingCity: res.places[0]['place name'],\r\n shippingState: res.places[0]['state abbreviation'],\r\n });\r\n } else {\r\n this.formGroup.patchValue({\r\n billingCity: res.places[0]['place name'],\r\n billingState: res.places[0]['state abbreviation'],\r\n });\r\n }\r\n },\r\n });\r\n }\r\n toggleSameAsShipping(event: any) {\r\n if (!event.target.checked) {\r\n this.formGroup.patchValue({\r\n billingTo: this.formGroup.get('shippingTo').value,\r\n billingEmail: this.formGroup.get('shippingEmail').value,\r\n billingAddress: this.formGroup.get('shippingAddress').value,\r\n billingCity: this.formGroup.get('shippingCity').value,\r\n billingState: this.formGroup.get('shippingState').value,\r\n billingPostalCode: this.formGroup.get('shippingPostalCode').value,\r\n });\r\n }\r\n }\r\n\r\n submit() {\r\n if (this.formGroup.invalid) {\r\n this.formGroup.markAllAsTouched();\r\n return;\r\n }\r\n this.submitting = true;\r\n this.formGroup.get('unitPrice').setValue(this.unitPrice);\r\n this.service.submitForm(this.formGroup.value).subscribe({\r\n next: () => {\r\n this.submitting = false;\r\n this.snack.open('Order submitted successfully', 'Close', {\r\n duration: 3000,\r\n });\r\n this.close();\r\n },\r\n error: () => {\r\n this.submitting = false;\r\n this.snack.open(\r\n 'Error submitting order. Please try again later.',\r\n 'Close',\r\n {\r\n duration: 3000,\r\n }\r\n );\r\n },\r\n complete: () => {\r\n this.submitting = false;\r\n },\r\n });\r\n }\r\n\r\n close() {\r\n this.dialog.close();\r\n }\r\n\r\n get unitPrice(): number {\r\n switch (this.principal.userViewAccessType.replace(' ', '').toLowerCase()) {\r\n case 'dealer':\r\n case 'dealfi':\r\n return 40;\r\n default:\r\n break;\r\n }\r\n var billingCategory = this.formGroup.get('billingCategory').value;\r\n switch (billingCategory) {\r\n case 'dealer':\r\n return 40;\r\n case 'agency':\r\n return 30;\r\n case 'admin':\r\n return 14;\r\n default:\r\n return 40;\r\n }\r\n }\r\n\r\n get billingMatchesShipping(): boolean {\r\n return (\r\n this.formGroup.get('billingTo').value ===\r\n this.formGroup.get('shippingTo').value &&\r\n this.formGroup.get('billingEmail').value ===\r\n this.formGroup.get('shippingEmail').value &&\r\n this.formGroup.get('billingAddress').value ===\r\n this.formGroup.get('shippingAddress').value &&\r\n this.formGroup.get('billingCity').value ===\r\n this.formGroup.get('shippingCity').value &&\r\n this.formGroup.get('billingState').value ===\r\n this.formGroup.get('shippingState').value &&\r\n this.formGroup.get('billingPostalCode').value ===\r\n this.formGroup.get('shippingPostalCode').value\r\n );\r\n }\r\n\r\n get selectedQty(): number {\r\n var qty = this.formGroup.get('quantity').value;\r\n return qty ? qty : 0;\r\n }\r\n\r\n get isAdmin(): boolean {\r\n return (\r\n this.principal.userViewAccessType.replace(' ', '').toLowerCase() ===\r\n 'siteadmin'\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n

CILAJET ORDER FORM

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

Ship To:

\r\n
\r\n \r\n Dealership/Agency Name\r\n \r\n \r\n \r\n Email Address\r\n \r\n \r\n \r\n Attention\r\n \r\n \r\n\r\n
\r\n

Shipping Address:

\r\n
\r\n
\r\n \r\n Address\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Zip\r\n \r\n \r\n
\r\n
\r\n \r\n City\r\n \r\n \r\n
\r\n
\r\n \r\n State\r\n \r\n \r\n {{ state.abbreviation }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Bill To:

\r\n
\r\n \r\n Same as Shipping\r\n \r\n
\r\n
\r\n \r\n Category\r\n \r\n Dealer\r\n Agent/Sub Agent\r\n\r\n Admin\r\n \r\n \r\n \r\n Dealership/Agency Name\r\n \r\n \r\n \r\n Email Address\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n

Billing Address:

\r\n
\r\n
\r\n \r\n Address\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n Zip\r\n \r\n \r\n
\r\n
\r\n \r\n City\r\n \r\n \r\n
\r\n
\r\n \r\n State\r\n \r\n \r\n {{ state.abbreviation }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n

\r\n *Note: Standard Ground Shipping is included. Rush Shipping is\r\n available for additional charge.\r\n

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

CILAJET WINDSHIELD

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
QTYITEMUNIT PRICETOTAL
\r\n \r\n \r\n \r\n Cilajet Windshield Protection Packets{{ unitPrice | currency }}- 0\">\r\n {{ unitPrice * selectedQty | currency }}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Please fill out all required fields.\r\n \r\n \r\n Submit\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-container',\r\n templateUrl: './container-headerless.component.html',\r\n styleUrls: ['./container-headerless.component.css']\r\n})\r\nexport class ContainerHeaderlessComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-quicksign-service-plus-tooltip-dialog',\r\n templateUrl: './quicksign-service-plus-tooltip-dialog.component.html',\r\n styleUrls: ['./quicksign-service-plus-tooltip-dialog.component.css']\r\n})\r\nexport class QuicksignServicePlusTooltipDialogComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n {{ data.name }}\r\n
\r\n close\r\n
\r\n
\r\n","export const environment = {\r\n production: true,\r\n development: false,\r\n version: 'api/',\r\n zoomEndpoint: '/',\r\n dealfiDirectUrl: 'https://dealfidirect.com/',\r\n dashboardEndpoint: 'https://dashboard.alphawarranty.com/',\r\n brEndpoint: 'https://review.alphawarranty.com/',\r\n dealerSignupEndpoint: 'https://quicksign.alphawarranty.com/',\r\n cancellationEndpoint: 'https://cancellation.alphawarranty.com/',\r\n toolsEndpoint: 'https://tools.alphawarranty.com/',\r\n pcrsWebhook: 'https://pcrs-webhook.alphawarranty.com',\r\n marketingEndpoint: 'https://iiapi.alphawarranty.com/',\r\n dealFiUrl: 'https://app.dealfi.com/',\r\n theme: {\r\n primary: 'primary',\r\n secondary: 'accent',\r\n input: 'outline',\r\n },\r\n graphQLEndpoint: 'https://blog.alphawarranty.com/api/GraphQL',\r\n titlePrefix: 'Zoom - ',\r\n lmsModuleId: '4amka45rd0vztrszb21gn52x4n',\r\n pcrsEnabled: false,\r\n};\r\n","import { AbstractControl } from '@angular/forms';\r\n// This is temporary fix until we upgrade Angular\r\ndeclare module '@angular/forms' {\r\n interface AbstractControl {\r\n isRequired(): boolean;\r\n }\r\n}\r\n\r\nAbstractControl.prototype.isRequired = function isRequired(\r\n this: AbstractControl\r\n) {\r\n if (this.validator) {\r\n return this.validator({} as any)?.required;\r\n }\r\n};\r\n","import { Component, OnInit, forwardRef, ViewChild, Input } from '@angular/core';\r\nimport { SignaturePad } from 'angular2-signaturepad';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { any } from 'underscore';\r\n\r\n@Component({\r\n selector: 'app-signature-field',\r\n templateUrl: './signature-field.component.html',\r\n styleUrls: ['./signature-field.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SignatureFieldComponent),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class SignatureFieldComponent implements ControlValueAccessor, OnInit {\r\n @ViewChild(SignaturePad, { static: false }) public signaturePad: SignaturePad;\r\n\r\n @Input('existingSignature')\r\n existingSignature: any;\r\n\r\n onChange: (arg0: any) => any;\r\n options: any = {\r\n canvasWidth: 750,\r\n canvasHeight: 250,\r\n };\r\n handset = this.breakPointObserver.observe(Breakpoints.Handset);\r\n tablet = this.breakPointObserver.observe(Breakpoints.Tablet);\r\n web = this.breakPointObserver.observe(Breakpoints.Web);\r\n constructor(private breakPointObserver: BreakpointObserver) {}\r\n ngOnInit() {\r\n this.handset.subscribe((result) => {\r\n if (result.matches) {\r\n this.options = { canvasWidth: 250, canvasHeight: 100 };\r\n }\r\n });\r\n this.tablet.subscribe((result) => {\r\n if (result.matches) {\r\n this.options = { canvasWidth: 550, canvasHeight: 200 };\r\n }\r\n });\r\n this.web.subscribe((result) => {\r\n if (result.matches) {\r\n this.options = { canvasWidth: 750, canvasHeight: 250 };\r\n }\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.signaturePad) {\r\n this.signaturePad.clear();\r\n }\r\n this.signature = this.signaturePad.onEndEvent.subscribe(() =>\r\n this.onChange(this.signaturePad.toDataURL('image/png', 0.5).split(',')[1])\r\n );\r\n if (this.existingSignature) {\r\n this.signaturePad.fromDataURL(\r\n 'data:image/png;base64,' + this.existingSignature\r\n );\r\n this.signature = 'data:image/png;base64,' + this.existingSignature;\r\n }\r\n }\r\n\r\n // tslint:disable-next-line: variable-name\r\n public _signature: any = null;\r\n\r\n // tslint:disable-next-line: ban-types\r\n public propagateChange: Function = null;\r\n\r\n get signature(): any {\r\n return this._signature;\r\n }\r\n\r\n set signature(value: any) {\r\n this._signature = value;\r\n // this.propagateChange(this.signature);\r\n }\r\n\r\n public writeValue(value: any): void {\r\n if (!value) {\r\n return;\r\n }\r\n this._signature = value;\r\n this.signaturePad.fromDataURL(this.signature);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(): void {\r\n // no-op\r\n }\r\n\r\n // tslint:disable-next-line: use-life-cycle-interface\r\n\r\n public drawBegin(): void {}\r\n\r\n public drawComplete(): void {\r\n this.signature = this.signaturePad.toDataURL('image/png', 0.5);\r\n }\r\n\r\n public clear(): void {\r\n this.signaturePad.clear();\r\n this.signature = '';\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n Please use your cursor or finger to sign in the box below\r\n
\r\n \r\n
\r\n","\r\n \r\n Benefit Markup Breakdown\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{ element.name }}\r\n \r\n \r\n \r\n \r\n A La Car,
\r\n BudgetCare\r\n \r\n \r\n ${{ element.budgetValue | number }}\r\n \r\n
\r\n \r\n \r\n PriorityOne,
A+ , IntelliCare,
New Car\r\n \r\n \r\n ${{ element.aPlusP1NewCarValue | number }}\r\n \r\n
\r\n \r\n \r\n Other
(Ancillary, etc)\r\n \r\n \r\n ${{ element.otherValue | number }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-quicksign-service-plus-breakdown',\r\n templateUrl: './quicksign-service-plus-breakdown.component.html',\r\n styleUrls: ['./quicksign-service-plus-breakdown.component.css']\r\n})\r\nexport class QuicksignServicePlusBreakdownComponent implements OnInit {\r\n @Input() expanded: boolean;\r\n benefitsMarkupData: any[] = [\r\n {\r\n name: 'Limited 3rd Party Part Sourcing',\r\n budgetValue: 75,\r\n aPlusP1NewCarValue: 115,\r\n otherValue: 15,\r\n },\r\n {\r\n name: 'No 3rd Party Part Sourcing',\r\n budgetValue: 100,\r\n aPlusP1NewCarValue: 150,\r\n otherValue: 20,\r\n },\r\n {\r\n name: 'Enhanced Rental Car',\r\n budgetValue: 30,\r\n aPlusP1NewCarValue: 30,\r\n otherValue: 10,\r\n },\r\n {\r\n name: 'Coverage for Fluids, Flushes, Alignments, etc.',\r\n budgetValue: 45,\r\n aPlusP1NewCarValue: 65,\r\n otherValue: 15,\r\n },\r\n {\r\n name: 'Enhanced Labor Rate',\r\n budgetValue: 25,\r\n aPlusP1NewCarValue: 35,\r\n otherValue: 10,\r\n },\r\n ]\r\n displayedColumns: string[] = [\r\n 'title',\r\n 'budget',\r\n 'aPlusP1NewCar',\r\n 'other'\r\n ];\r\n constructor() { \r\n if(this.expanded == undefined || this.expanded == null) {\r\n this.expanded = false;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from '@angular/material/dialog';\r\nimport {\r\n AbstractControl,\r\n Form,\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { OverrideDialogConfirmationComponent } from './override-dialog-confirmation/override-dialog-confirmation.component';\r\n\r\n@Component({\r\n selector: 'app-override-dialog',\r\n templateUrl: './override-dialog.component.html',\r\n styleUrls: ['./override-dialog.component.css'],\r\n})\r\nexport class OverrideDialogComponent implements OnInit {\r\n overrideForm: FormGroup;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private dialog: MatDialog\r\n ) {\r\n this.overrideForm = this.fb.group({\r\n name: [null, Validators.required],\r\n title: [null, Validators.required],\r\n paymentRecipient: [null, Validators.required],\r\n paymentAmount: [null, Validators.required],\r\n additionalComments: [null, Validators.required],\r\n });\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n \r\n openConfirmDialog(): void {\r\n const dialogRef = this.dialog.open(OverrideDialogConfirmationComponent, {\r\n width: '400px',\r\n data: {\r\n formData: this.overrideForm.value,\r\n },\r\n });\r\n }\r\n}\r\n","
\r\n

\r\n OVERRIDE \r\n Override a claim using your premium reserve.\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n Your Name\r\n \r\n \r\n \r\n Your Title\r\n \r\n \r\n \r\n Who is getting paid?\r\n \r\n Shop\r\n Customer\r\n \r\n \r\n \r\n Amount\r\n \r\n \r\n \r\n \r\n Reason(s) for the Override Request (Ex. Cover Engine, Extra Day of Rental, Cover Fluids)\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Cancel\r\n \r\n
\r\n
\r\n \r\n SUBMIT\r\n \r\n
\r\n\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-agent-filtered-multi-select',\r\n templateUrl: './agent-filtered-multi-select.component.html',\r\n styleUrls: ['./agent-filtered-multi-select.component.css'],\r\n})\r\nexport class AgentFilteredMultiselectComponent implements OnInit {\r\n @ViewChild('agentSearch') searchTextBox: ElementRef;\r\n\r\n @Input()\r\n agents: FormControl;\r\n @Input()\r\n selectedAgents: FormControl;\r\n\r\n searchTextboxControl = new FormControl();\r\n selectedValues = [];\r\n data = [];\r\n filteredOptions: Observable;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n this.data = [];\r\n if (this.agents.value) this.data = this.agents.value;\r\n\r\n this.agents.valueChanges.subscribe({\r\n next: (res) => {\r\n if (res) {\r\n this.data = res;\r\n this.filteredOptions = this._filter('');\r\n }\r\n },\r\n });\r\n\r\n this.selectedAgents.valueChanges.subscribe({\r\n next: (res) => {\r\n if (res) {\r\n this.filteredOptions = this._filter('');\r\n }\r\n },\r\n });\r\n\r\n this.searchTextboxControl.valueChanges.subscribe((val) => {\r\n this.filteredOptions = this._filter(val);\r\n });\r\n\r\n console.log('in agent select', this.agents);\r\n }\r\n\r\n private _filter(name: string): Observable {\r\n if (name === '') {\r\n return of(this.data);\r\n }\r\n\r\n const filterValue = name.toLowerCase();\r\n this.setSelectedValues();\r\n let filteredList = this.data.filter(\r\n (option) =>\r\n option.agentName.toLowerCase().includes(filterValue) ||\r\n option.agentNumber.toLowerCase().includes(filterValue)\r\n );\r\n return of(filteredList);\r\n }\r\n\r\n selectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedValues.indexOf(event.source.value);\r\n this.selectedValues.splice(index, 1);\r\n }\r\n }\r\n\r\n openedChange(e) {\r\n if (e == true) {\r\n this.searchTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearSearch(event) {\r\n event.stopPropagation();\r\n this.searchTextboxControl.patchValue('');\r\n }\r\n\r\n setSelectedValues() {\r\n if (this.selectedAgents.value && this.selectedAgents.value.length > 0) {\r\n this.selectedAgents.value.forEach((val) => {\r\n if (this.selectedValues.indexOf(val) == -1) {\r\n this.selectedValues.push(val);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","\r\n Agents\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{ option.agentNumber != '' ? option.agentNumber + \" - \" + option.agentName : option.agentName }} \r\n \r\n
\r\n
\r\n
\r\n","export class SiriusXMRealTimeModel {\r\n vin: string;\r\n firstName: string;\r\n lastName: string;\r\n address1: string;\r\n city: string;\r\n state: string;\r\n customerCountry: string;\r\n zip: string;\r\n consumerEmail: string;\r\n homePhone: string;\r\n corpId: string;\r\n dealerId: string;\r\n contractNumber: string;\r\n}\r\n\r\nexport class SiriusXMRealTimeResponseModel {\r\n deviceId: string;\r\n isEligible: string;\r\n url: string;\r\n resultCode: string;\r\n errorCode: string | any;\r\n errorMessage: string | any;\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-retro-reinsurance-service-plus-dialog',\r\n templateUrl: './retro-reinsurance-service-plus-dialog.component.html',\r\n styleUrls: ['./retro-reinsurance-service-plus-dialog.component.css']\r\n})\r\nexport class RetroReinsuranceServicePlusDialogComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n For dealers that participate in Retro or Reinsurance the following benefits\r\n are included and do not need to be added:\r\n
    \r\n
  • Limited 3rd Party Part Sourcing
  • \r\n
  • No 3rd Party Part Sourcing
  • \r\n
  • Enhanced Labor Rate
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../environments/environment';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { Credentials } from '../../shared/authentication.model';\r\nimport { PrincipalService } from '../../shared/principal.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.css'],\r\n})\r\nexport class LandingComponent implements OnInit {\r\n loading = false;\r\n message: string = '';\r\n redirectUrl: string | null = '';\r\n redirectDealerNumber: string = '';\r\n\r\n loginForm = new FormGroup({\r\n userName: new FormControl(null, Validators.required),\r\n password: new FormControl(null, Validators.required),\r\n });\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private router: Router,\r\n private snackBar: MatSnackBar,\r\n private principal: PrincipalService,\r\n protected title: Title,\r\n private cookieService: CookieService,\r\n ) {\r\n title.setTitle(`${environment.titlePrefix}Login`);\r\n }\r\n\r\n ngOnInit() {\r\n this.redirectUrl = '/contract/rate';\r\n if (this.activatedRoute.snapshot.queryParamMap.has('redirectUrl')) {\r\n this.redirectUrl =\r\n this.activatedRoute.snapshot.queryParamMap.get('redirectUrl');\r\n }\r\n if (this.activatedRoute.snapshot.queryParamMap.has('flush')) {\r\n this.principal.flush();\r\n }\r\n if (this.activatedRoute.snapshot.queryParamMap.has('redirectDealerNumber')) {\r\n const dealerNumber = this.activatedRoute.snapshot.queryParamMap.get('redirectDealerNumber') as string;\r\n this.principal.scsNumber = dealerNumber;\r\n }\r\n if (this.activatedRoute.snapshot.queryParamMap.has('token')) {\r\n this.loading = true;\r\n this.authService\r\n .authenticateToken(\r\n {\r\n token: this.activatedRoute.snapshot.queryParamMap.get('token'),\r\n },\r\n this.principal.uuid\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n this.principal.set(response);\r\n this.router.navigate([this.redirectUrl]).then((fulfilled) => {\r\n this.loading = false;\r\n });\r\n },\r\n error: () => {\r\n // set error message -- require reattempt\r\n this.message = 'Link Login Failed. Go Back and Try Again.';\r\n this.loading = false;\r\n },\r\n });\r\n } else if (this.principal.isAuthenticated) {\r\n this.router.navigate([this.redirectUrl]);\r\n }\r\n }\r\n\r\n login() {\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n const login = this.loginForm.value as Credentials;\r\n this.authService.login(login, this.principal.uuid).subscribe({\r\n next: (response) => {\r\n localStorage.clear();\r\n if (this.activatedRoute.snapshot.queryParamMap.has('redirectDealerNumber')) {\r\n const dealerNumber = this.activatedRoute.snapshot.queryParamMap.get('redirectDealerNumber') as string;\r\n this.principal.scsNumber = dealerNumber;\r\n }\r\n if (this.cookieService.check(\"alphaOrAlpine\")) {\r\n this.cookieService.delete(\"alphaOrAlpine\");\r\n }\r\n this.principal.set(response);\r\n this.router.navigate([this.redirectUrl]).then(() => {\r\n this.loading = false;\r\n });\r\n },\r\n error: (err: any) => {\r\n // check for 403 -- account locked\r\n if (err.status === 403) {\r\n this.message = 'This account has been locked due to too many failed login attempts. \\nPlease wait 5 minutes and try again.';\r\n this.loading = false;\r\n return;\r\n }\r\n // set error message -- require reattempt\r\n this.message = 'Invalid Credentials. Try Again.';\r\n this.loading = false;\r\n },\r\n });\r\n }\r\n\r\n forgotPassword() {\r\n const userNameControl = this.loginForm.controls.userName;\r\n if (userNameControl.invalid) {\r\n this.message = 'Please enter your username';\r\n return;\r\n }\r\n this.loading = true;\r\n this.authService.forgotPassword(userNameControl.value).subscribe({\r\n next: (e) => {\r\n console.log(e);\r\n //this.router\r\n //.navigate(['/forgot-password'], {\r\n // queryParams: { userName: userNameControl.value },\r\n //})\r\n if (e) {\r\n this.snackBar.open(\r\n 'An error occurred while sending email: ' + e,\r\n 'Okay',\r\n { duration: 15000 }\r\n );\r\n } else {\r\n this.snackBar.open(\r\n 'An email was sent to the entered username. Please click on the Reset Password link provided in the email to complete your password reset.',\r\n 'Okay!',\r\n { duration: 15000 }\r\n );\r\n }\r\n this.loading = false;\r\n },\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

\r\n Agent and Dealer Portal\r\n

\r\n
\r\n \r\n Username\r\n \r\n \r\n\r\n \r\n Password\r\n \r\n \r\n\r\n
\r\n \r\n CONTINUE\r\n \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 Contact Sales Support at 1.800.662.5519 for Assistance\r\n
\r\n
\r\n Copyright © All Rights Reserved by Alpha Warranty Services Inc.\r\n
\r\n
\r\n
\r\n
\r\n","export interface Overbill {\r\n overbillId: any;\r\n agreementDate: Date;\r\n payeeFirstName: string;\r\n payeeLastName: string;\r\n email: string;\r\n businessName: string;\r\n exemptPayeeCode: string;\r\n fatca: string;\r\n overbillCommissions: AlphaProgram[];\r\n taxClassification: string;\r\n llcClass: string;\r\n otherClassificationDesc: string;\r\n ssn: string;\r\n ein: string;\r\n file: string;\r\n address: Address;\r\n signerFirstName: string;\r\n signerLastName: string;\r\n signerTitle: string;\r\n signedDate: Date;\r\n}\r\n\r\nexport class OverbillResults {\r\n dealerProfileId: any;\r\n email: string;\r\n overbillForm: string;\r\n agreementDate: Date;\r\n}\r\n\r\nexport class SimpleDealerProfile {\r\n agentNumber: string;\r\n dealershipName: string;\r\n dealerSellingState: string;\r\n primaryContactEmail: string;\r\n useDefaultCommissionRate: boolean;\r\n gapProviderId: number;\r\n overbills: any[];\r\n agentEmail: string;\r\n isFranchise: string;\r\n dealerCommissions: AlphaProgram[];\r\n requiredForms: FormType[];\r\n dealerProfileId: string;\r\n federalTaxId: string;\r\n dealerInformationId: number;\r\n programs: any[];\r\n signerName: string;\r\n signerTitle: string;\r\n file: string;\r\n signedDate: Date;\r\n dealerSignatureId: number;\r\n onAgentReinsurance: boolean | null;\r\n servicePlusOptions: any[];\r\n hasRepairFacility: boolean;\r\n}\r\n\r\nexport class AlphaProgram {\r\n programTermId: number;\r\n program: string;\r\n context: string;\r\n provider: string;\r\n isFranchise: boolean;\r\n alphaProgramId: number;\r\n dealerUseMax: boolean;\r\n dealerAmount: any;\r\n overbillAmount: any;\r\n}\r\n\r\nexport class FormType {\r\n formTypeId: number;\r\n formName: string;\r\n displayName: string;\r\n}\r\n\r\nexport class ProgramTerms {\r\n alphaProgramId: number;\r\n program: string;\r\n context: string;\r\n coverageGroupId: number;\r\n commissionMinimum: number;\r\n terms: Term[];\r\n}\r\n\r\nexport class Term {\r\n programTermId: number;\r\n term: string;\r\n commissionMinimum: number;\r\n}\r\n\r\nexport class GapProviders {\r\n gapProviderId: number;\r\n provider: string;\r\n}\r\n\r\nexport class FloridaCommissionOptions {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport class DealerProfile {\r\n constructor() {\r\n // tslint:disable-next-line: no-use-before-declare\r\n this.repairFacility = new RepairFacility();\r\n // tslint:disable-next-line: no-use-before-declare\r\n this.mailingAddress = {} as Address;\r\n // tslint:disable-next-line: no-use-before-declare\r\n this.billingAddress = {} as Address;\r\n // tslint:disable-next-line: no-use-before-declare\r\n this.floridaDealerDetail = new FloridaDetail();\r\n // tslint:disable-next-line: no-use-before-declare\r\n this.driveEasyDetail = new DriveEasyDetail();\r\n }\r\n dealershipName: string;\r\n dealershipGroupName: string;\r\n phone: string;\r\n isFranchise: boolean;\r\n federalTaxId: string;\r\n primaryContactEmail: string;\r\n billingEmail: string;\r\n billingAddress: Address;\r\n principalOwnerFirstName: string;\r\n principalOwnerLastName: string;\r\n primaryContactFirstName: string;\r\n primaryContactLastName: string;\r\n principalOwnerEmail: string;\r\n principalOwnerPhone: string;\r\n principalOwnerExtension: string;\r\n primaryContactPhone: string;\r\n primaryContactExtension: string;\r\n businessManager: string;\r\n serviceManager: string;\r\n fandIManager: string;\r\n yearsInBusiness: number;\r\n hasRepairFacility: boolean;\r\n repairFacility: RepairFacility;\r\n mailingAddress: Address;\r\n website: string;\r\n fax: string;\r\n averageVehiclesSold: number;\r\n projectedSales: number;\r\n averageInventory: number;\r\n averageSoldMileage: number;\r\n averageVehicleYear: number;\r\n isZoomMenuSystem: boolean;\r\n otherMenuSystemId: number;\r\n dealerUsers: DealerUser[];\r\n floridaDealerDetail: FloridaDetail;\r\n driveEasyDetail: DriveEasyDetail;\r\n commissionPrograms: CommissionProgramInput[];\r\n}\r\n\r\nexport interface Address {\r\n street1: string;\r\n street2: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n}\r\n\r\nexport class RepairFacility {\r\n name: string;\r\n laborRate: number;\r\n partTax: number;\r\n laborTax: number;\r\n serviceManager: string;\r\n serviceCenterAddress: Address;\r\n}\r\n\r\nexport class DealerUser {\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n}\r\n\r\nexport class AgentDealerInfo {\r\n dealerState: string;\r\n dealerEmail: string;\r\n}\r\n\r\nexport class FloridaDetail {\r\n licenseNumber253: string;\r\n noticeToDealer: boolean;\r\n}\r\n\r\nexport class DriveEasyDetail {\r\n hasNew: boolean;\r\n hasUsed: boolean;\r\n hasHighMileage: boolean;\r\n hasDriveEasyWrap: boolean;\r\n warrantyEligibilityTypeId: number;\r\n}\r\n\r\nexport class Agreement {\r\n dealerProfileId: string;\r\n effectiveDate: string;\r\n agreementDate: string;\r\n signerFirstName: string;\r\n signerLastName: string;\r\n signerTitle: string;\r\n signedDate: string;\r\n file: string;\r\n}\r\n\r\nexport class CommissionProgramInput {\r\n alphaProgramId: number;\r\n dealerUseMax: boolean;\r\n dealerAmount: any;\r\n overbillAmount: any;\r\n reserveFundAmount: any;\r\n}\r\n\r\nexport class WarrantyEligibilityType {\r\n warrantyEligibilityTypeId: number;\r\n name: string;\r\n}\r\n\r\nexport interface OtherMenuSystem {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport class AgreementViewModel {\r\n dealerInformation: DealerProfile;\r\n agreement: Agreement;\r\n address: Address;\r\n}\r\n\r\nexport class Dealer {\r\n idealer_id: number;\r\n sdealer_number: string;\r\n sdealer_name: string;\r\n sdealer_address_1: string;\r\n sdealer_address_2: string;\r\n sdealer_city: string;\r\n sdealer_state: string;\r\n sdealer_zip_code: string;\r\n sdealer_phone_number: string;\r\n sdealership_contact: string;\r\n sdealer_status: string;\r\n sfederal_tax_id: string;\r\n cposted_labor_rate: any;\r\n sinsured_state: string;\r\n ndealer_tax_rate1: any;\r\n cdealer_labor_rate: any;\r\n sdealer_principal: string;\r\n sdealer_gen_manager: string;\r\n sdealer_sales_manager: string;\r\n sdealer_bus_manager: string;\r\n sdealer_service_manager: string;\r\n sdealer_act_payable: string;\r\n sdealer_primary_contact: string;\r\n sdealer_fi_manager: string;\r\n sdealer_fax: string;\r\n sdealer_email: string;\r\n sdealer_contact_other: string;\r\n sdealer_web_page: string;\r\n sdealer_mail_addr1: string;\r\n sdealer_mail_addr2: string;\r\n sdealer_mail_city: string;\r\n sdealer_mail_state: string;\r\n sdealer_mail_zip_code: string;\r\n sdealer_legal_name: string;\r\n dtCreated: Date;\r\n sservicer_fax: string;\r\n sservicer_email: string;\r\n}\r\n\r\nexport class DealerAuthPrograms {\r\n program: string;\r\n contractTypeDesc: string;\r\n productType: string;\r\n}\r\n\r\nexport class AddProgramModel {\r\n program: string;\r\n commission: any;\r\n}\r\n\r\nexport class EditPrograms {\r\n dealer: string;\r\n dealerNo: string;\r\n requestedBy: string;\r\n addPrograms: AddProgramModel[];\r\n removePrograms: string[];\r\n}\r\n\r\nexport class AddUserModel {\r\n dealer: string;\r\n dealerNo: string;\r\n requestedBy: string;\r\n dealerUser: DealerUser[];\r\n}\r\n\r\nexport class ModifyDefaultCommissionModel {\r\n agentNumber: string;\r\n fullName: string;\r\n signature: string;\r\n currentCommission: string;\r\n signedDate: string;\r\n file: string;\r\n}\r\n\r\nexport class ModifyAgentReservesModel {\r\n agentNumber: string;\r\n signature: string;\r\n modifiedReserves: Reserve[];\r\n}\r\n\r\nexport class Reserve {\r\n CombinedDesc: string;\r\n CoverageGroup: string;\r\n CoverageGroupId: number;\r\n TermGroup: string;\r\n TermGroupId: number;\r\n OldReserve: number;\r\n NewReserve: number;\r\n\r\n constructor(\r\n combinedDesc: string,\r\n coverageGroup: string = '',\r\n coverageGroupId: number,\r\n termGroup: string = '',\r\n termGroupId: number,\r\n oldReserve: number = 0,\r\n newReserve: number = 0,\r\n ) {\r\n this.CombinedDesc = combinedDesc;\r\n this.CoverageGroup = coverageGroup;\r\n this.CoverageGroupId = coverageGroupId;\r\n this.TermGroup = termGroup;\r\n this.TermGroupId = termGroupId;\r\n this.OldReserve = oldReserve;\r\n this.NewReserve = newReserve;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControl,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { UserService, ScsDetail } from '../user.service';\r\nimport { UsersService } from '../users.service';\r\n\r\n@Component({\r\n selector: 'zoom-dealer-select-form-control-editable',\r\n templateUrl: './dealer-select-form-control-editable.component.html',\r\n styleUrls: ['./dealer-select-form-control-editable.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: DealerSelectFormControlEditableComponent,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n multi: true,\r\n useExisting: DealerSelectFormControlEditableComponent,\r\n },\r\n ],\r\n})\r\nexport class DealerSelectFormControlEditableComponent\r\n implements ControlValueAccessor, Validator, OnInit\r\n{\r\n scsAccessFilter: Observable;\r\n inputFilter = new FormControl();\r\n\r\n @Input('label')\r\n label: string = 'Dealer';\r\n\r\n @Input('required')\r\n isRequired: string | boolean = false;\r\n\r\n @Input('includeDFI')\r\n includeDFI: boolean = true;\r\n\r\n @Input('onlyActiveDealers')\r\n onlyActiveDealers: boolean = false;\r\n\r\n disabled = false;\r\n touched = false;\r\n\r\n onChange: (value: string) => any;\r\n onTouched: () => void;\r\n onValidate: () => void;\r\n\r\n constructor(\r\n public principal: PrincipalService,\r\n private userService: UserService,\r\n private users: UsersService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.scsAccessFilter = this.inputFilter.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail) => {\r\n if (!value) {\r\n return this.userService.scsAccessFilter(\r\n '',\r\n this.includeDFI,\r\n this.onlyActiveDealers\r\n );\r\n }\r\n if (value && (value as string).length > 0) {\r\n return this.userService.scsAccessFilter(\r\n value as string,\r\n this.includeDFI,\r\n this.onlyActiveDealers\r\n );\r\n }\r\n return EMPTY;\r\n })\r\n );\r\n if (\r\n !this.label ||\r\n this.label.length === 0 ||\r\n this.label == '' ||\r\n this.label == ''\r\n ) {\r\n this.label = null;\r\n }\r\n }\r\n\r\n displayWith(value: ScsDetail): string | ScsDetail {\r\n if (value && value.scsNumber) {\r\n return `${value.scsNumber} - ${value.name}`;\r\n }\r\n return value;\r\n }\r\n\r\n private loadFilter(scsNumber: string): void {\r\n if (!scsNumber || scsNumber == 'undefined' || scsNumber == 'null') {\r\n this.users.user(this.principal.id).subscribe({\r\n next: (res) => {\r\n scsNumber = res.assignedDealerNum;\r\n this.principal.scsNumber = res.assignedDealerNum;\r\n this.loadFilter(res.assignedDealerNum);\r\n },\r\n });\r\n }\r\n this.userService.preloadDealerScsAccessFilter(scsNumber).subscribe({\r\n next: (result) => {\r\n this.inputFilter.setValue(result);\r\n this.principal.scsNumber = result.scsNumber;\r\n this.onChange(result.scsNumber);\r\n },\r\n });\r\n }\r\n\r\n optionSelected(input: HTMLInputElement): void {\r\n this.markAsTouched();\r\n if (this.disabled) {\r\n return;\r\n }\r\n const selectedValue = this.inputFilter.value.scsNumber;\r\n this.principal.scsNumber = selectedValue;\r\n\r\n // Align the seleted option to the left\r\n input.blur();\r\n input.setSelectionRange(0, 0);\r\n input.focus();\r\n\r\n this.onChange(selectedValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj) {\r\n this.loadFilter(obj);\r\n } else if (\r\n this.principal.scsNumber &&\r\n this.principal.scsNumber.length > 3\r\n ) {\r\n this.loadFilter(this.principal.scsNumber);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markAsTouched(): void {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors {\r\n const value = control.value;\r\n if (!value) {\r\n return {\r\n dealerNumber: {\r\n required: 'A dealer number must be selected',\r\n },\r\n };\r\n }\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidate = fn;\r\n }\r\n\r\n clearText() {\r\n this.inputFilter.patchValue(null);\r\n }\r\n}\r\n","\r\n {{ label }}\r\n \r\n close\r\n \r\n \r\n {{ opt.scsNumber }} - {{ opt.name }}\r\n \r\n \r\n\r\n","import { CommonModule, DatePipe } from \"@angular/common\";\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { GoogleChartsModule, ScriptLoaderService } from \"angular-google-charts\";\r\nimport { SignaturePadModule } from \"angular2-signaturepad\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\nimport { CilajetDialogComponent } from \"src/cilajet-dialog/cilajet-dialog.component\";\r\nimport { DealerSurveyDialogComponent } from \"src/dealer-survey-dialog/dealer-survey-dialog.component\";\r\nimport { AngularMaterialModule } from \"../angular-material/angular-material.module\";\r\nimport { AnnualVscSalesComponent } from \"../dashboard/annual-vsc-sales/annual-vsc-sales.component\";\r\nimport { RetroReinsuranceServicePlusDialogComponent } from \"../shared/quicksign/retro-reinsurance-service-plus-dialog/retro-reinsurance-service-plus-dialog.component\";\r\nimport { AgentFilteredChipSelectComponent } from \"./agent-filtered-chip-select/agent-filtered-chip-select.component\";\r\nimport { AgentFilteredMultiselectComponent } from \"./agent-filtered-multi-select/agent-filtered-multi-select.component\";\r\nimport { AgentSelectComponent } from \"./agent-select/agent-select.component\";\r\nimport { ChipDealerSelectComponent } from \"./chip-dealer-select/chip-dealer-select.component\";\r\nimport { DealerFilteredChipSelectComponent } from \"./dealer-filtered-chip-select/dealer-filtered-chip-select.component\";\r\nimport { DealerFilteredMultiSelectComponent } from \"./dealer-filtered-multi-select/dealer-filtered-multi-select.component\";\r\nimport { DealerMultiSelectComponent } from \"./dealer-multi-select/dealer-multi-select.component\";\r\nimport { DealerSelectFormControlEditableComponent } from \"./dealer-select-form-control-editable/dealer-select-form-control-editable.component\";\r\nimport { DealerSelectFormControlComponent } from \"./dealer-select-form-control/dealer-select-form-control.component\";\r\nimport { DealerSelectComponent } from \"./dealer-select/dealer-select.component\";\r\nimport { MgaSelectComponent } from \"./mga-select/mga-select.component\";\r\nimport { OverrideDialogConfirmationComponent } from \"./override-dialog/override-dialog-confirmation/override-dialog-confirmation.component\";\r\nimport { OverrideDialogComponent } from \"./override-dialog/override-dialog.component\";\r\nimport { ProgramSelectComponent } from \"./program-select/program-select.component\";\r\nimport { QuicksignStepComponent } from \"./quicksign-stepper/quicksign-step/quicksign-step.component\";\r\nimport { QuicksignStepperComponent } from \"./quicksign-stepper/quicksign-stepper.component\";\r\nimport { QuicksignServicePlusBreakdownComponent } from \"./quicksign/quicksign-service-plus-breakdown/quicksign-service-plus-breakdown.component\";\r\nimport { QuicksignServicePlusTooltipDialogComponent } from \"./quicksign/quicksign-service-plus-tooltip-dialog/quicksign-service-plus-tooltip-dialog.component\";\r\nimport { QuicksignServicePlusComponent } from \"./quicksign/quicksign-service-plus/quicksign-service-plus.component\";\r\nimport { QuicktrackClaimDetailComponent } from \"./quicktrack-claim-detail/quicktrack-claim-detail.component\";\r\nimport { QuicktrackTableComponent } from \"./quicktrack-table/quicktrack-table.component\";\r\nimport { QuicktrackTilesComponent } from \"./quicktrack-tiles/quicktrack-tiles.component\";\r\nimport { SafePipe } from \"./safe.pipe\";\r\nimport { SignatureDialogComponent } from \"./signature-dialog/signature-dialog.component\";\r\nimport { SignatureFieldComponent } from \"./signature-field/signature-field.component\";\r\nimport { SignatureFormControlComponent } from \"./signature-form-control/signature-form-control.component\";\r\nimport { TermMileagePipe } from \"./term-mileage.pipe\";\r\n\r\n@NgModule({\r\n declarations: [\r\n SafePipe,\r\n DealerSelectComponent,\r\n SignatureFieldComponent,\r\n ChipDealerSelectComponent,\r\n ProgramSelectComponent,\r\n TermMileagePipe,\r\n AgentSelectComponent,\r\n MgaSelectComponent,\r\n AnnualVscSalesComponent,\r\n SignatureFormControlComponent,\r\n DealerSelectFormControlComponent,\r\n DealerSelectFormControlEditableComponent,\r\n SignatureDialogComponent,\r\n DealerMultiSelectComponent,\r\n AgentFilteredMultiselectComponent,\r\n DealerFilteredMultiSelectComponent,\r\n DealerFilteredChipSelectComponent,\r\n AgentFilteredChipSelectComponent,\r\n QuicktrackTableComponent,\r\n QuicktrackTilesComponent,\r\n QuicktrackClaimDetailComponent,\r\n OverrideDialogComponent,\r\n OverrideDialogConfirmationComponent,\r\n QuicksignServicePlusComponent,\r\n QuicksignServicePlusTooltipDialogComponent,\r\n QuicksignServicePlusBreakdownComponent,\r\n RetroReinsuranceServicePlusDialogComponent,\r\n QuicksignStepperComponent,\r\n QuicksignStepComponent,\r\n DealerSurveyDialogComponent,\r\n CilajetDialogComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AngularMaterialModule,\r\n GoogleChartsModule,\r\n SignaturePadModule,\r\n NgxMaskModule.forRoot(),\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AngularMaterialModule,\r\n GoogleChartsModule,\r\n DealerSelectComponent,\r\n ChipDealerSelectComponent,\r\n AgentSelectComponent,\r\n MgaSelectComponent,\r\n SignatureFieldComponent,\r\n SignaturePadModule,\r\n SafePipe,\r\n TermMileagePipe,\r\n ProgramSelectComponent,\r\n NgxMaskModule,\r\n AnnualVscSalesComponent,\r\n SignatureFormControlComponent,\r\n DealerSelectFormControlComponent,\r\n DealerSelectFormControlEditableComponent,\r\n DealerMultiSelectComponent,\r\n AgentFilteredMultiselectComponent,\r\n DealerFilteredMultiSelectComponent,\r\n DealerFilteredChipSelectComponent,\r\n AgentFilteredChipSelectComponent,\r\n QuicktrackTableComponent,\r\n QuicktrackTilesComponent,\r\n QuicktrackClaimDetailComponent,\r\n OverrideDialogComponent,\r\n OverrideDialogConfirmationComponent,\r\n QuicksignServicePlusComponent,\r\n QuicksignServicePlusBreakdownComponent,\r\n RetroReinsuranceServicePlusDialogComponent,\r\n QuicksignStepperComponent,\r\n QuicksignStepComponent,\r\n DealerSurveyDialogComponent,\r\n CilajetDialogComponent,\r\n ],\r\n providers: [ScriptLoaderService, SafePipe, DatePipe],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class SharedModule {}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { PrincipalService } from './principal.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FeatureFlagService {\r\n endpoint: string = environment.zoomEndpoint;\r\n constructor(private http: HttpClient, private principal: PrincipalService) {\r\n this.setFeatureFlags();\r\n this.scheduleFeatureFlagLoading();\r\n }\r\n getFeatureFlags() {\r\n return this.http.get(`${this.endpoint}api/feature-flags`);\r\n }\r\n setFeatureFlags() {\r\n if (!localStorage.getItem('featureFlags')) {\r\n this.loadFeatureFlags();\r\n return;\r\n }\r\n const expirationTime = localStorage.getItem('featureFlagsExpirationTime');\r\n if (expirationTime) {\r\n const now = new Date();\r\n const expirationDate = new Date(expirationTime);\r\n if (now >= expirationDate) {\r\n this.loadFeatureFlags();\r\n }\r\n } else {\r\n this.loadFeatureFlags();\r\n }\r\n }\r\n loadFeatureFlags() {\r\n console.log('Refreshing feature flags');\r\n this.getFeatureFlags().subscribe({\r\n next: (res: any) => {\r\n localStorage.setItem('featureFlags', JSON.stringify(res.data));\r\n const expirationInterval = 180000 - 1; // 3 minutes\r\n const now = new Date();\r\n const expirationTime = new Date(now.getTime() + expirationInterval);\r\n localStorage.setItem(\r\n 'featureFlagsExpirationTime',\r\n expirationTime.toISOString()\r\n );\r\n console.log('Next load time: ', expirationTime.toISOString());\r\n },\r\n error: (err) => {\r\n console.log('Error loading feature flags: ', err);\r\n },\r\n });\r\n }\r\n scheduleFeatureFlagLoading() {\r\n setInterval(() => {\r\n this.setFeatureFlags();\r\n }, 60000);\r\n }\r\n isEnabled(featureFlag: string) {\r\n if (!localStorage.getItem('featureFlags')) {\r\n return false;\r\n }\r\n const featureFlags: any[] = JSON.parse(\r\n localStorage.getItem('featureFlags') as any\r\n );\r\n if (!featureFlags || featureFlags.length === 0) {\r\n console.log('No feature flags found');\r\n return false;\r\n }\r\n const feature = featureFlags.find((f) => f.featureName === featureFlag);\r\n if (!feature) {\r\n return false;\r\n }\r\n if (feature.isPublished) {\r\n return true;\r\n }\r\n if (this.principal.hasFeature(featureFlag)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n CanLoad,\r\n Route,\r\n UrlSegment,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n Router,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { PrincipalService } from './principal.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AgentGuard implements CanActivate {\r\n constructor(private principal: PrincipalService, private router: Router) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n if (!this.principal.isAuthenticated || this.principal.hasUserViewAccess(['Dealer'])) {\r\n return this.router.navigate(['/not-authorized']);\r\n }\r\n return true;\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { stringify } from 'querystring';\r\nimport { isNull } from 'underscore';\r\n\r\nexport class ZoomValidators {\r\n static emailAddress(control: AbstractControl): ValidationErrors | null {\r\n const technicalValidation = new RegExp(\r\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/\r\n );\r\n const defactoValidation = new RegExp(\r\n /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,10}$/\r\n );\r\n let email = control.value;\r\n if (\r\n (email || email == '') &&\r\n (!technicalValidation.test(email) ||\r\n !defactoValidation.test(email) ||\r\n ZoomValidators.emailBlackList(email))\r\n ) {\r\n return {\r\n emailAddress: {\r\n found: email,\r\n },\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n private static emailBlackList(email: string): boolean {\r\n let domainBlackList = [\r\n 'none',\r\n 'test',\r\n 'noemail',\r\n 'noone',\r\n '123',\r\n 'sales',\r\n 'somewhere',\r\n 'noemial',\r\n 'emmail',\r\n 'abc',\r\n 'email',\r\n 'non',\r\n 'na',\r\n 'testing',\r\n 'eamil',\r\n 'nomail',\r\n 'no',\r\n 'noe',\r\n 'a',\r\n 'b',\r\n 'n',\r\n 'e',\r\n 'dealer',\r\n 'gmai',\r\n 'aaa',\r\n 'ddd',\r\n 'example',\r\n ];\r\n let pageType = ['.com', '.net', '.org'];\r\n let exists = false;\r\n\r\n if (email) {\r\n domainBlackList.forEach((domain) => {\r\n pageType.forEach((pageType) => {\r\n let test = '@' + domain + pageType;\r\n if (email.includes(test)) {\r\n exists = true;\r\n return;\r\n }\r\n });\r\n });\r\n }\r\n\r\n return exists;\r\n }\r\n\r\n static phoneNumber(control: AbstractControl): ValidationErrors | null {\r\n const regEx = new RegExp(/^\\d{10}$/);\r\n let phone = control.value;\r\n if (phone && !regEx.test(phone)) {\r\n return {\r\n phone: {\r\n found: phone,\r\n },\r\n };\r\n }\r\n return null;\r\n }\r\n\r\n static areSame(target: AbstractControl): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n let controlValue = control.value;\r\n let targetValue = target.value;\r\n if (controlValue && targetValue && controlValue !== targetValue) {\r\n return {\r\n same: 'Passwords are not the same',\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n static firstOfMonth(): Date {\r\n const today = new Date();\r\n return new Date(today.getFullYear(), today.getMonth(), 1);\r\n }\r\n\r\n // This is designed to convert 'flat' formGroup\r\n // turning dates into string\r\n static toSafeParams(uiData: any) {\r\n let params = {};\r\n for (const key in uiData) {\r\n if (!Object.prototype.hasOwnProperty.call(uiData, key)) {\r\n continue;\r\n }\r\n const element = uiData[key];\r\n if (element instanceof Date) {\r\n params[key] = (element as Date).toJSON();\r\n } else {\r\n params[key] = element;\r\n }\r\n }\r\n return params;\r\n }\r\n\r\n static downloadBlob(data: Blob, download: string) {\r\n const a = document.createElement('a');\r\n const objectUrl = URL.createObjectURL(data);\r\n a.href = objectUrl;\r\n a.download = download;\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n }\r\n\r\n static greaterThan(min: number) {\r\n return (control: AbstractControl) => {\r\n const value = control.value;\r\n if (value <= min) {\r\n return { lessThanMin: true, min: min };\r\n }\r\n return null;\r\n };\r\n }\r\n}\r\n","import { CdkStep } from \"@angular/cdk/stepper\";\r\nimport {\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n QueryList,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"quicksign-step\",\r\n templateUrl: \"./quicksign-step.component.html\",\r\n styleUrls: [\"./quicksign-step.component.css\"],\r\n providers: [{ provide: CdkStep, useExisting: QuicksignStepComponent }],\r\n})\r\nexport class QuicksignStepComponent extends CdkStep {\r\n _childrenHidden = false;\r\n @Input() disabled = false;\r\n @Input() hidden = false;\r\n @Input() interactedOverride: boolean | null = null;\r\n @Input() isAdder = false;\r\n @Input() isButton = false;\r\n @Input() isHeader = false;\r\n @Input() isParent = false;\r\n @Input() isSubstep = false;\r\n @Input() nextButtonText = \"NEXT\";\r\n @Input() previousButtonText = \"BACK\";\r\n @Input() tooltip = \"\";\r\n @Output() buttonClick = new EventEmitter();\r\n @Output() next = new EventEmitter();\r\n @Output() previous = new EventEmitter();\r\n\r\n @ContentChildren(QuicksignStepComponent, { descendants: true })\r\n children: QueryList;\r\n\r\n get isNormalStep() {\r\n return (\r\n !this.isHeader && !this.isButton && !this.isParent && !this.isSubstep\r\n );\r\n }\r\n\r\n get isStep() {\r\n return !this.isHeader && !this.isButton && !this.isParent;\r\n }\r\n\r\n ngOnInit() {\r\n if (this.isHeader || this.isButton || this.isAdder) {\r\n this.completed = true;\r\n }\r\n if (this.interactedOverride !== null) {\r\n this.interacted = this.interactedOverride;\r\n }\r\n }\r\n\r\n toggleShowChildren() {\r\n this._childrenHidden = !this._childrenHidden;\r\n this.children.forEach((child) => {\r\n child.hidden = this._childrenHidden;\r\n });\r\n }\r\n}\r\n","\r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../environments/environment';\r\nimport {\r\n ClaimSearchInput,\r\n ClaimList,\r\n Claim,\r\n ClaimDetails,\r\n ClaimNotes,\r\n Vehicle,\r\n ClaimSummary,\r\n ClaimDetailSummary,\r\n ClaimPart,\r\n} from './claim.model';\r\nimport { Observable } from 'rxjs';\r\nimport { Contract } from './contract.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Params } from '@angular/router';\r\nimport { map } from 'rxjs/operators';\r\nimport { Principal } from './principal.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClaimService {\r\n private endPoint: string;\r\n datePipe = new DatePipe('en-US');\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n private buildParams(source: any) {\r\n const result = {};\r\n for (const prop in source) {\r\n if (source[prop]) {\r\n result[prop] = source[prop];\r\n }\r\n }\r\n return result as Params;\r\n }\r\n\r\n getClaimsList(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(`${this.endPoint}claims/search/`, {\r\n params: this.buildParams(searchInput),\r\n });\r\n }\r\n getPagedClaimsList(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(`${this.endPoint}claims/search/paged`, {\r\n params: this.buildParams(searchInput),\r\n });\r\n }\r\n\r\n getClaimsPaidTotal(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(`${this.endPoint}claims/search/paid/`, {\r\n params: this.buildParams(searchInput),\r\n });\r\n }\r\n\r\n getClaimsSubmittedTotal(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/search/submitted/`,\r\n { params: this.buildParams(searchInput) }\r\n );\r\n }\r\n\r\n getClaimsOpenTotal(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(`${this.endPoint}claims/search/open/`, {\r\n params: this.buildParams(searchInput),\r\n });\r\n }\r\n\r\n getClaimsAmountPaidTotal(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/search/amount-paid/`,\r\n { params: this.buildParams(searchInput) }\r\n );\r\n }\r\n\r\n getClaimAvgClaimDuration(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/search/claim-duration/`,\r\n { params: this.buildParams(searchInput) }\r\n );\r\n }\r\n\r\n getNpsScore(searchInput: ClaimSearchInput): Observable {\r\n return this.httpClient.get(`${this.endPoint}claims/search/nps/`, {\r\n params: this.buildParams(searchInput),\r\n });\r\n }\r\n\r\n getClaim(scsClaimNumber: string, dealerNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/${scsClaimNumber}`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getClaimContract(\r\n scsClaimNumber: string,\r\n dealerNumber: string\r\n ): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/${scsClaimNumber}/contract`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getClaimDetails(\r\n scsClaimNumber: string,\r\n dealerNumber: string\r\n ): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/${scsClaimNumber}/details`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getClaimSummary(claimNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/${claimNumber}/summary`\r\n );\r\n }\r\n\r\n getClaimNotes(\r\n scsClaimNumber: string,\r\n dealerNumber: string\r\n ): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/${scsClaimNumber}/notes`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getAgentClaimAlerts(agentNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/agent/${agentNumber}/alerts`\r\n );\r\n }\r\n\r\n addAgentClaimAlert(agentNumber: string, dealerNumber: string) {\r\n return this.httpClient.post(\r\n `${this.endPoint}claims/agent/${agentNumber}/alerts/${dealerNumber}`,\r\n {}\r\n );\r\n }\r\n\r\n removeAgentClaimAlert(agentNumber: string, dealerNumber: string) {\r\n return this.httpClient.delete(\r\n `${this.endPoint}claims/agent/${agentNumber}/alerts/${dealerNumber}`\r\n );\r\n }\r\n\r\n getAgentClaimClosedAlerts(agentNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/agent/${agentNumber}/closed-alerts`\r\n );\r\n }\r\n\r\n addAgentClaimClosedAlert(agentNumber: string, dealerNumber: string) {\r\n return this.httpClient.post(\r\n `${this.endPoint}claims/agent/${agentNumber}/closed-alerts/${dealerNumber}`,\r\n {}\r\n );\r\n }\r\n\r\n removeAgentClaimClosedAlert(agentNumber: string, dealerNumber: string) {\r\n return this.httpClient.delete(\r\n `${this.endPoint}claims/agent/${agentNumber}/closed-alerts/${dealerNumber}`\r\n );\r\n }\r\n\r\n vehicleInformation(vin: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/vehicle/${vin}`\r\n );\r\n }\r\n\r\n downloadClaimDetails(claimNumber: string) {\r\n return this.httpClient\r\n .get(`${this.endPoint}claims/details/download`, {\r\n params: { claimNumber },\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n map((result: Blob) => {\r\n return URL.createObjectURL(result);\r\n })\r\n );\r\n }\r\n\r\n downloadClaimSummary(claimNumbers: string[]) {\r\n return this.httpClient\r\n .post(`${this.endPoint}claims/summary-report`, claimNumbers, {\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n map((result: Blob) => {\r\n return URL.createObjectURL(result);\r\n })\r\n );\r\n }\r\n\r\n getServicerUrl(servicerNumber: string, claimNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/generate-servicer-url/?servicerNumber=${servicerNumber}&claimNumber=${claimNumber}`,\r\n { responseType: 'text' }\r\n );\r\n }\r\n\r\n getQualifyOverride(claimNumber: any, dealerNumber) {\r\n return this.httpClient.get(\r\n `${this.endPoint}claims/qualify-override/${claimNumber}`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n )\r\n }\r\n\r\n postOverridePayment(claimNumber: any, overridePaymentForm: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}claims/post-override/${claimNumber}`,\r\n overridePaymentForm\r\n );\r\n }\r\n\r\n rfEncodedLogin(encodedId: string) {\r\n return this.httpClient.post(\r\n `${this.endPoint}claims/rf-encoded-login/${encodedId}`,\r\n {}\r\n );\r\n }\r\n}\r\n\r\nclass PageResult\r\n{\r\n count: number;\r\n pageIndex: number;\r\n pageSize: number;\r\n items: T[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n UrlTree\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { FeatureFlagService } from './feature-flag.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FeatureFlagGuard implements CanActivate {\r\n constructor(\r\n private featureFlagService: FeatureFlagService,\r\n private router: Router\r\n ) {}\r\n canActivate(\r\n route: ActivatedRouteSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n const feature = route.data.feature as string;\r\n if (!feature) {\r\n console.error('Feature flag not provided');\r\n this.router.navigate(['/not-found']);\r\n return false;\r\n }\r\n if (this.featureFlagService.isEnabled(feature)) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/not-found']);\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ClaimService } from '../claim.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { ActivatedRoute } from '@angular/router'; \r\nimport { PrincipalService } from '../principal.service';\r\n\r\n@Component({\r\n selector: 'app-repair-facility',\r\n templateUrl: './repair-facility.component.html',\r\n styleUrls: ['./repair-facility.component.css']\r\n})\r\nexport class RepairFacilityComponent implements OnInit {\r\n\r\n constructor(\r\n private service: ClaimService,\r\n private route: ActivatedRoute, \r\n private principal: PrincipalService\r\n ) { }\r\n\r\n servicerUrl;\r\n routeId; \r\n\r\n ngOnInit(): void {\r\n this.routeId = this.route.snapshot.params['id'];\r\n \r\n if (this.routeId) {\r\n this.principal.clear();\r\n this.service.rfEncodedLogin(this.routeId).subscribe({\r\n next: (result) => {\r\n console.log(result);\r\n this.principal.set(result);\r\n },\r\n error: (err) => {\r\n console.log(\"Error:\" + err);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","\r\n
\r\n

Not Found

\r\n

Redirecting...

\r\n\r\n
\r\n
\r\n Page not found.\r\n
\r\n
\r\n Redirect to claim after login.\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Renderer2 } from '@angular/core';\r\nimport { NavigationEnd, Router, RoutesRecognized } from '@angular/router';\r\nimport { PageViewService } from 'src/shared/page-view.service';\r\nimport { PrincipalService } from '../shared/principal.service';\r\nimport { filter, pairwise } from 'rxjs/operators';\r\nimport { DealerService } from 'src/shared/dealer.service';\r\nimport { FeatureFlagService } from 'src/shared/feature-flag.service';\r\n\r\ndeclare let gtag: Function;\r\ndeclare const icPatronChat: any;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(\r\n private router: Router,\r\n private renderer: Renderer2,\r\n private principal: PrincipalService,\r\n private pageViewService: PageViewService,\r\n private dealerService: DealerService,\r\n private featureFlagService: FeatureFlagService\r\n ) {\r\n this.router.events\r\n .pipe(filter((evt: any) => evt instanceof NavigationEnd))\r\n .subscribe({\r\n next: (event: NavigationEnd) => {\r\n if (this.principal.hasUserViewAccess(['RF'])) {\r\n if (!this.router.url.includes('/rf/'))\r\n this.router.navigate(['/rf404']);\r\n } else if (\r\n this.principal.hasUserViewAccess(['Dealer']) ||\r\n this.principal.hasUserViewAccess(['Agent'])\r\n ) {\r\n var waitTimeInSec = 20;\r\n this.dealerService.checkForDealerSurvey(waitTimeInSec);\r\n } else {\r\n gtag('config', 'G-89LEFTWCQ3', {\r\n page_path: event.urlAfterRedirects,\r\n });\r\n }\r\n },\r\n });\r\n this.router.events\r\n .pipe(\r\n filter((evt: any) => evt instanceof RoutesRecognized),\r\n pairwise(),\r\n )\r\n .subscribe((events: RoutesRecognized[]) => {\r\n if (\r\n this.principal.isAuthenticated &&\r\n events[0].urlAfterRedirects.split('?')[0] !==\r\n events[1].urlAfterRedirects.split('?')[0]\r\n ) {\r\n this.pageViewService\r\n .logView(\r\n this.principal.id,\r\n events[1].urlAfterRedirects.split('?')[0],\r\n )\r\n .subscribe();\r\n }\r\n });\r\n this.featureFlagService.setFeatureFlags();\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n this.removeResidualChat();\r\n await this.loadExternalChatScript();\r\n await this.initializePatronChat();\r\n } catch (error) {\r\n console.error('Chat initialization or script loading failed:', error);\r\n }\r\n }\r\n\r\n async loadExternalChatScript() {\r\n return new Promise((resolve, reject) => {\r\n let script = this.renderer.createElement('script');\r\n script.type = 'text/javascript';\r\n script.src = `https://home-c54.nice-incontact.com/inContact/ChatClient/js/embed.min.js`;\r\n script.onload = () => {\r\n resolve();\r\n };\r\n script.onerror = (error) => {\r\n reject(error);\r\n };\r\n this.renderer.appendChild(document.body, script);\r\n });\r\n }\r\n\r\n async initializePatronChat() {\r\n return new Promise((resolve, reject) => {\r\n icPatronChat.init({\r\n serverHost: 'https://home-c54.nice-incontact.com',\r\n bus_no: 4604375,\r\n poc: '85ff4c00-80ed-40f6-a2c4-940b29873980',\r\n onInitialized: () => {\r\n resolve();\r\n },\r\n onError: (error: any) => {\r\n reject(error);\r\n },\r\n });\r\n });\r\n }\r\n\r\n removeResidualChat() {\r\n const chat = document.getElementsByClassName('button-iframe-wrap')[0];\r\n if (chat) {\r\n chat.remove();\r\n }\r\n }\r\n}\r\n","\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LoadingService {\r\n private _loading = new BehaviorSubject(false);\r\n public readonly loading$ = this._loading.asObservable();\r\n\r\n constructor() {}\r\n\r\n show() {\r\n this._loading.next(true);\r\n }\r\n\r\n hide() {\r\n this._loading.next(false);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatTabGroup } from '@angular/material/tabs';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Subject } from 'rxjs';\r\nimport { FormType } from '../quick-sign.model';\r\nimport { QuickSignService } from '../quick-sign.service';\r\n\r\n@Component({\r\n selector: 'app-signature-dialog',\r\n templateUrl: './signature-dialog.component.html',\r\n styleUrls: ['./signature-dialog.component.css'],\r\n})\r\nexport class SignatureDialogComponent implements OnInit {\r\n @ViewChild('tabGroup', { static: false }) tabGroup: MatTabGroup;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public matSnackBar: MatSnackBar,\r\n public service: QuickSignService,\r\n private sanitizer: DomSanitizer,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) {}\r\n\r\n loading = true;\r\n dealerProfileId: string;\r\n existingSignature: any;\r\n hasSignature = false;\r\n signatureForm = new FormGroup({\r\n file: new FormControl(),\r\n signerFirstName: new FormControl(null, Validators.required),\r\n signerLastName: new FormControl(null, Validators.required),\r\n signerTitle: new FormControl(null, Validators.required),\r\n dealerProfileId: new FormControl(),\r\n signedDate: new FormControl(new Date()),\r\n });\r\n\r\n contextualFormArray: FormArray;\r\n agreementsEvent = new Subject();\r\n pendingAgreements: FormType[];\r\n agreements = [];\r\n\r\n ngOnInit(): void {\r\n this.dealerProfileId = this.data.dealerProfileId;\r\n this.signatureForm.controls.dealerProfileId.setValue(\r\n this.data.dealerProfileId,\r\n );\r\n\r\n if (this.data.file) {\r\n this.signatureForm.patchValue({\r\n signerTitle: this.data.signerTitle,\r\n signerFirstName: this.data.signerFirstName,\r\n signerLastName: this.data.signerLastName,\r\n });\r\n this.existingSignature = this.data.file;\r\n this.loading = false;\r\n } else if (this.dealerProfileId) {\r\n this.getSignature();\r\n this.getAgreements();\r\n } else {\r\n this.loading = false;\r\n }\r\n this.dialogRef.updateSize('825px');\r\n }\r\n\r\n getSignature() {\r\n this.service.getSignature(this.dealerProfileId).subscribe({\r\n next: (res) => {\r\n if (res) {\r\n this.signatureForm.patchValue({\r\n signerTitle: res.signerTitle,\r\n signerFirstName: res.signerFirstName,\r\n signerLastName: res.signerLastName,\r\n signedDate: res.signedDate,\r\n file: res.file,\r\n });\r\n this.existingSignature = res.file;\r\n }\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n },\r\n });\r\n }\r\n\r\n getAgreements() {\r\n this.contextualFormArray = new FormArray([]);\r\n this.service\r\n .getDealerAgreementsForAcceptance(this.dealerProfileId)\r\n .subscribe({\r\n next: (res) => {\r\n res.forEach((x) => {\r\n const isAccepted = new FormControl(false, Validators.requiredTrue);\r\n this.contextualFormArray.push(isAccepted);\r\n x.isAccepted = isAccepted;\r\n this.agreements.push(x);\r\n });\r\n },\r\n error: (err: HttpErrorResponse) => {\r\n if (err.status == 422) {\r\n console.log('error', 'already completed');\r\n }\r\n },\r\n });\r\n }\r\n\r\n moveToNextTab() {\r\n const tabGroup = this.tabGroup;\r\n if (!tabGroup || !(tabGroup instanceof MatTabGroup)) {\r\n return;\r\n }\r\n const tabCount = tabGroup._tabs.length;\r\n tabGroup.selectedIndex = (tabGroup.selectedIndex + 1) % tabCount;\r\n }\r\n\r\n sanitize(html: string, displayName: string) {\r\n if (displayName == 'ZERO Agreement' || displayName == 'SPP Agreement') {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n return html;\r\n }\r\n\r\n updateSignature() {\r\n this.service.updateSignature(this.signatureForm.value).subscribe({\r\n next: () => this.dialogRef.close(),\r\n error: () =>\r\n this.matSnackBar.open(\r\n 'There was an error updating the signature. Please try again.',\r\n 'Dismiss',\r\n ),\r\n });\r\n }\r\n}\r\n","

Please agree to all agreements to move forward.

\r\n\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n done_outline\r\n error_outline\r\n {{ fm.displayName }}\r\n \r\n
\r\n

\r\n \r\n I agree to the {{ fm.displayName }}\r\n \r\n

\r\n \r\n \r\n 0\" disabled>\r\n \r\n error_outline\r\n Signature\r\n \r\n
\r\n By signing here, I certify that I am signing in my own name and I\r\n represent and warrant that I have the authority to execute this\r\n Agreement on behalf of the Dealer, I consent to conducting these\r\n transactions electronically, and I understand that this signature\r\n applies to all selected agreements in this Dealer signup.\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Printed First Name\r\n \r\n \r\n \r\n Printed Last Name\r\n \r\n \r\n \r\n Signer Title\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Add\r\n \r\n \r\n Update\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SettingsService {\r\n private endpoint: string;\r\n constructor(private http: HttpClient) {\r\n this.endpoint = environment.toolsEndpoint + environment.version;\r\n }\r\n\r\n markup(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/markup`, {\r\n params: { dealerNumber: dealerNumber },\r\n });\r\n }\r\n\r\n addMarkup(model: any) {\r\n return this.http.post(`${this.endpoint}settings/markup/add`, model);\r\n }\r\n\r\n editMarkup(model: any) {\r\n return this.http.post(`${this.endpoint}settings/markup`, model);\r\n }\r\n\r\n getSaleAuthority(dealerNumber: string, productCode: string) {\r\n return this.http.get(`${this.endpoint}settings/dealer-authority`, {\r\n params: {\r\n dealerNumber: dealerNumber,\r\n productCode: productCode,\r\n },\r\n });\r\n }\r\n\r\n markupDetails(markupId: any) {\r\n return this.http.get(`${this.endpoint}settings/markup/${markupId}`);\r\n }\r\n\r\n deleteMarkup(markupId: any) {\r\n return this.http.delete(`${this.endpoint}settings/markup/${markupId}`);\r\n }\r\n\r\n getACHWalletList(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/wallet-list`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n addAchWallet(postObj: any) {\r\n return this.http.post(`${this.endpoint}settings/wallet`, postObj);\r\n }\r\n\r\n setAchDefault(walletId: string, dealerNumber: string) {\r\n return this.http.put(\r\n `${this.endpoint}settings/wallet/set-default`,\r\n {},\r\n { params: { walletId, dealerNumber } }\r\n );\r\n }\r\n\r\n deleteAchWallet(walletId: string) {\r\n return this.http.delete(`${this.endpoint}settings/wallet/${walletId}`);\r\n }\r\n\r\n getDriveEasy(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/driveeasy`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n addDriveEasy(model: any) {\r\n return this.http.post(`${this.endpoint}settings/driveeasy/add`, model);\r\n }\r\n\r\n editDriveEasy(model: any) {\r\n return this.http.post(`${this.endpoint}settings/driveeasy`, model);\r\n }\r\n\r\n getDealerSettings(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/dealer-settings`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n updateDealerSettings(postObj: any) {\r\n return this.http.put(`${this.endpoint}settings/dealer-settings`, postObj);\r\n }\r\n\r\n addDealerSettings(postObj: any) {\r\n return this.http.post(`${this.endpoint}settings/dealer-settings`, postObj);\r\n }\r\n\r\n getDealerState(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/dealer-state`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n getManagers(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/managers`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n getManager(dealerNumber: string, mgrId: number) {\r\n return this.http.get(\r\n `${this.endpoint}settings/manager/${dealerNumber}/${mgrId}`\r\n );\r\n }\r\n\r\n createManager(model: any) {\r\n return this.http.post(`${this.endpoint}settings/add-manager`, model);\r\n }\r\n\r\n updateManager(model: any) {\r\n return this.http.put(`${this.endpoint}settings/edit-manager`, model);\r\n }\r\n\r\n deleteManager(dealerNumber: string, mgrId: number) {\r\n return this.http.delete(\r\n `${this.endpoint}settings/manager/${dealerNumber}/${mgrId}`\r\n );\r\n }\r\n getDealerUsers(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}settings/users`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n paymentPlanTypes(): Observable {\r\n return this.http.get(`${this.endpoint}settings/payment-plan-types`);\r\n }\r\n\r\n paymentPlan(accountNumber: string): Observable {\r\n return this.http.get(`${this.endpoint}settings/payment-plans`, {\r\n params: {\r\n accountNumber,\r\n },\r\n });\r\n }\r\n\r\n upsertPaymentPlan(payload: any): Observable {\r\n return this.http.post(\r\n `${this.endpoint}settings/payment-plans`,\r\n payload\r\n );\r\n }\r\n\r\n getCustomLayouts() {\r\n return this.http.get(`${this.endpoint}settings/custom-layouts`);\r\n }\r\n\r\n addCustomLayout(payload: any) {\r\n return this.http.post(`${this.endpoint}settings/custom-layouts`, payload);\r\n }\r\n\r\n updateCustomLayout(customLayoutId: number, formData: FormData) {\r\n return this.http.put(\r\n `${this.endpoint}settings/custom-layouts/${customLayoutId}`,\r\n formData\r\n );\r\n }\r\n\r\n deleteCustomLayout(customLayoutId: any) {\r\n return this.http.delete(\r\n `${this.endpoint}settings/custom-layouts/${customLayoutId}`\r\n );\r\n }\r\n\r\n getUserLogo() {\r\n return this.http.get(\r\n `${this.endpoint}settings/custom-layouts/user-logo`\r\n );\r\n }\r\n\r\n upsertDealerServicePlus(postBody: any) {\r\n return this.http.post(\r\n `${this.endpoint}settings/service-plus`,\r\n postBody\r\n );\r\n }\r\n\r\n getIsAlpine() {\r\n return this.http.get(`${this.endpoint}settings/is-alpine`);\r\n }\r\n\r\n isAutoOrRvToolsEndpoint() {\r\n return this.http.get(`${this.endpoint}settings/is-auto-or-rv`);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, Input, Output, EventEmitter } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../environments/environment';\r\nimport { ClaimService } from '../claim.service';\r\nimport { ClaimList } from '../claim.model';\r\n\r\n@Component({\r\n selector: 'app-quicktrack-table',\r\n templateUrl: './quicktrack-table.component.html',\r\n styleUrls: ['./quicktrack-table.component.css'],\r\n})\r\nexport class QuicktrackTableComponent implements OnInit {\r\n @Input() params: Observable;\r\n @Input() multipleDealers = false;\r\n @Output() tableLoading = new EventEmitter();\r\n loading = true;\r\n appearance = 'none';\r\n color = 'primary';\r\n\r\n claimDataSource = new MatTableDataSource();\r\n claimColumns = [\r\n 'customer',\r\n 'claimEntryDate',\r\n 'contractNumber',\r\n 'claimNumber',\r\n 'status',\r\n 'datePaid',\r\n 'paidAmount',\r\n 'action',\r\n ];\r\n claimColumnsWithDealers = [\r\n 'customer',\r\n 'claimEntryDate',\r\n 'contractNumber',\r\n 'dealerNumber',\r\n 'claimNumber',\r\n 'status',\r\n 'datePaid',\r\n 'paidAmount',\r\n 'action',\r\n ];\r\n mostRecentInput: any;\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private service: ClaimService\r\n ) {\r\n this.appearance = environment.theme.input;\r\n this.color = environment.theme.primary;\r\n }\r\n\r\n ngOnInit() {\r\n this.params.subscribe({\r\n next: (result) => {\r\n this.paginator.pageIndex = 0;\r\n this.paginator.length = 0;\r\n this.mostRecentInput = result;\r\n this.query(result);\r\n },\r\n });\r\n this.paginator.page.subscribe({\r\n next: () => {\r\n if (this.mostRecentInput != null) {\r\n this.query(this.mostRecentInput);\r\n }\r\n },\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.claimDataSource.sort = this.sort;\r\n this.claimDataSource.paginator = this.paginator;\r\n this.claimDataSource.sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'customer':\r\n return `${item.firstName} ${item.lastName}`;\r\n case 'claimEntryDate':\r\n return item.claimSystemEntryDate;\r\n case 'status':\r\n return item.claimStatus;\r\n case 'datePaid':\r\n return item.dateClaimPaid;\r\n case 'paidAmount':\r\n return item.amountPaid;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n }\r\n\r\n query(params: any) {\r\n if (params == null) {\r\n return;\r\n }\r\n this.loading = true;\r\n this.tableLoading.emit(this.loading);\r\n params.page = this.paginator.pageIndex;\r\n params.pageSize = this.paginator.pageSize;\r\n\r\n this.service.getPagedClaimsList(params).subscribe({\r\n next: (result: any) => {\r\n console.log('Fetched result:', result);\r\n if (Array.isArray(result)) {\r\n this.claimDataSource.data = result;\r\n this.paginator.pageIndex = params.page;\r\n this.paginator.length = result.length;\r\n } else if (result && result.items) {\r\n this.claimDataSource.data = result.items;\r\n this.paginator.pageIndex = result.page;\r\n this.paginator.length = result.count;\r\n } else {\r\n console.error('Result items are undefined or null');\r\n }\r\n this.loading = false;\r\n this.tableLoading.emit(this.loading);\r\n },\r\n error: (err: HttpErrorResponse) => {\r\n console.error('Error fetching paged claims list:', err);\r\n this.loading = false;\r\n this.tableLoading.emit(this.loading);\r\n },\r\n });\r\n }\r\n\r\n getClaimStatus(status: string) {\r\n let softStatus = '';\r\n switch (status) {\r\n case 'Denied':\r\n softStatus = 'Closed - Not Covered';\r\n break;\r\n case 'Pending':\r\n case 'Authorized':\r\n case 'Approved':\r\n softStatus = 'Open';\r\n break;\r\n case 'Paid':\r\n case 'Closed':\r\n softStatus = status;\r\n break;\r\n }\r\n return softStatus;\r\n }\r\n\r\n navigateToClaim(claimNumber: string, dealerNumber: string) {\r\n const url = this.router.createUrlTree(['/quicktrack', claimNumber], {\r\n relativeTo: this.route,\r\n queryParams: { dealerNumber },\r\n });\r\n window.open(url.toString(), '_blank');\r\n }\r\n\r\n navigateToContract(contractNumber: string) {\r\n const url = this.router.createUrlTree(['/contracts', contractNumber]);\r\n window.open(url.toString(), '_blank');\r\n }\r\n\r\n mergeQueryParams(\r\n context: ActivatedRoute,\r\n params: any,\r\n clearToken = true,\r\n claimNumber: string\r\n ) {\r\n if (clearToken) params.token = null;\r\n this.router\r\n .navigate([], {\r\n relativeTo: context,\r\n queryParams: params,\r\n queryParamsHandling: 'merge',\r\n })\r\n .then(() => {\r\n this.router.navigate([claimNumber], {\r\n relativeTo: this.route,\r\n queryParamsHandling: 'preserve',\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Customer\r\n {{ row.firstName | uppercase }} {{ row.lastName | uppercase }}\r\n Claim Date\r\n {{ row.claimSystemEntryDate | date : 'M/d/yyyy' }}\r\n Contract #\r\n \r\n {{ row.contractNumber }}\r\n \r\n Dealer #\r\n {{ row.dealerNumber }}\r\n Claim Number\r\n \r\n {{ row.claimNumber }}\r\n \r\n Status\r\n {{ getClaimStatus(row.claimStatus) }}\r\n Date Paid\r\n {{ row.dateClaimPaid | date : 'M/d/yyyy' }}\r\n Paid Amount\r\n {{ row.amountPaid | currency }}\r\n Details\r\n \r\n open_in_new\r\n \r\n
\r\n \r\n
\r\n","import {\r\n AfterContentChecked,\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { SignaturePad } from 'angular2-signaturepad';\r\n\r\n@Component({\r\n selector: 'zoom-signature-form-control',\r\n templateUrl: './signature-form-control.component.html',\r\n styleUrls: ['./signature-form-control.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: SignatureFormControlComponent,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n multi: true,\r\n useExisting: SignatureFormControlComponent,\r\n },\r\n ],\r\n})\r\nexport class SignatureFormControlComponent\r\n implements\r\n ControlValueAccessor,\r\n OnInit,\r\n AfterViewInit,\r\n Validator,\r\n AfterContentChecked\r\n{\r\n @ViewChild(SignaturePad, { static: false }) public signaturePad: SignaturePad;\r\n @ViewChild('signatureRegion') signatureRegion: ElementRef;\r\n\r\n onChange: (signature: any) => any;\r\n onTouched: () => {};\r\n onValidate: () => void;\r\n\r\n touched = false;\r\n disabled = false;\r\n\r\n private imgSignature: string;\r\n private previousWidth = 0;\r\n\r\n options: any = {\r\n canvasWidth: 750,\r\n canvasHeight: 250,\r\n };\r\n\r\n constructor() {}\r\n\r\n ngAfterContentChecked(): void {\r\n if (!this.signatureRegion) {\r\n return;\r\n }\r\n const expectedWidth = this.signatureRegion.nativeElement.offsetWidth - 1;\r\n if (expectedWidth != this.previousWidth) {\r\n this.previousWidth = expectedWidth;\r\n this.signaturePad.set('canvasWidth', expectedWidth);\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n if (this.signaturePad) {\r\n this.signaturePad.clear();\r\n }\r\n }\r\n\r\n drawComplete(): void {\r\n this.markAsTouched();\r\n if (!this.disabled) {\r\n this.imgSignature = this.signaturePad.toDataURL('image/png', 0.5);\r\n this.onChange(this.imgSignature);\r\n }\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (typeof obj != 'string') {\r\n this.imgSignature = null;\r\n } else {\r\n this.imgSignature = obj;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markAsTouched(): void {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n clearSignature(): void {\r\n this.imgSignature = null;\r\n this.signaturePad.clear();\r\n this.onChange(this.imgSignature);\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors {\r\n const value = control.value;\r\n if (!value) {\r\n return {\r\n missingSignature: {\r\n signature: 'n/a',\r\n },\r\n };\r\n }\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidate = fn;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmsService {\r\n graphQLURL = environment.graphQLEndpoint;\r\n private endPoint: string;\r\n adminId: string = '864268341';\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = environment.dashboardEndpoint;\r\n }\r\n\r\n getNotifications() {\r\n return this.httpClient.get(`${this.graphQLURL}`, {\r\n params: {\r\n admin: this.adminId,\r\n query: `query {\r\n zoomNotifications {\r\n displayText\r\n notificationBody\r\n contentItemId\r\n }\r\n }`\r\n }\r\n });\r\n }\r\n\r\n getNotification(cmsNotificationId: any) {\r\n return this.httpClient.get(`${this.graphQLURL}`, {\r\n params: {\r\n admin: this.adminId,\r\n query: `query {\r\n zoomNotifications(where: {contentItemId: \"${cmsNotificationId}\"}) {\r\n displayText\r\n notificationBody\r\n contentItemId\r\n }\r\n }`\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { environment } from '../../environments/environment';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { ZoomValidators } from '../../shared/zoom-validators';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.css'],\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n passwordControl = new FormControl(null, [Validators.minLength(6)]);\r\n resetPasswordForm = new FormGroup({\r\n userName: new FormControl(null, Validators.required),\r\n token: new FormControl(),\r\n password: this.passwordControl,\r\n newPassword: new FormControl(null, [ZoomValidators.areSame(this.passwordControl)]),\r\n });\r\n\r\n message: string = null;\r\n isSubmitting = false;\r\n isInvalidToken: boolean = false;;\r\n isResending = false;\r\n isLoaded = false;\r\n constructor(\r\n private authentication: AuthService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n protected title: Title,\r\n private snackBar: MatSnackBar\r\n ) {\r\n title.setTitle(`${environment.titlePrefix}Forgot Password`);\r\n }\r\n\r\n ngOnInit(): void {\r\n const userName = this.route.snapshot.queryParamMap.get('userName');\r\n const token = this.route.snapshot.queryParamMap.get('token');\r\n this.resetPasswordForm.patchValue({ userName, token });\r\n this.authentication.validateToken(token).subscribe({\r\n next: () => {\r\n this.isLoaded = true;\r\n },\r\n error: (err) => {\r\n this.isInvalidToken = true;\r\n this.isLoaded = true;\r\n }\r\n })\r\n }\r\n\r\n resend() {\r\n const userNameControl = this.resetPasswordForm.controls.userName;\r\n if (userNameControl.invalid) {\r\n this.message = 'Please enter your username';\r\n return;\r\n }\r\n this.isResending = true\r\n this.authentication.forgotPassword(userNameControl.value).subscribe({\r\n next: (e) => {\r\n this.isResending = false;\r\n if (e) {\r\n this.snackBar.open(\r\n 'An error occurred while sending email: ' + e,\r\n 'Okay',\r\n { duration: 15000 }\r\n );\r\n } else {\r\n this.snackBar.open(\r\n 'An email was sent to the entered username. Please click on the Reset Password link provided in the email to complete your password reset.',\r\n 'Okay!',\r\n { duration: 15000 }\r\n );\r\n }\r\n },\r\n error: () => {\r\n this.isResending = false;\r\n }\r\n });\r\n }\r\n\r\n submit() {\r\n // Enforce that if the password is updated to run validation on the confirmation\r\n (this.resetPasswordForm.controls.newPassword as AbstractControl).updateValueAndValidity();\r\n if (!this.resetPasswordForm.value.token) {\r\n this.snackBar.open('Token not found. Please click resend email to obtain a token.');\r\n return;\r\n }\r\n if (this.resetPasswordForm.invalid) {\r\n return;\r\n }\r\n this.isSubmitting = true;\r\n const formData = this.resetPasswordForm.value;\r\n this.authentication.updateForgottenPassword(formData)\r\n .subscribe({\r\n next: (res) => {\r\n this.isSubmitting = false;\r\n this.router.navigate(['/login'], {\r\n queryParams: {\r\n token: btoa(res.userId)\r\n }\r\n }).then(() => { });\r\n },\r\n error: err => {\r\n this.isSubmitting = false;\r\n this.message = '';\r\n err.error.forEach((e) => {\r\n this.message += e.description + ' \\n';\r\n });\r\n if (this.message.length == 0) {\r\n this.message = 'An unexpected error occurred. Please try again.';\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n

Invalid Token

\r\n

\r\n This token is expired. To reset your password, please verify your email\r\n address and click \"Resend Email\" button.\r\n

\r\n
\r\n \r\n Username\r\n \r\n \r\n
\r\n \r\n resend email\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n

Set Password

\r\n

\r\n Please enter and confirm your new password below. Note: Your password\r\n will need to be at least 6 characters long. It will also need to contain\r\n a capital letter, one number, and one special character (!, ?, $, etc.)\r\n

\r\n \r\n \r\n Username\r\n \r\n \r\n\r\n \r\n New Password\r\n \r\n\r\n \r\n Passwords must be at least 6 characters\r\n \r\n \r\n\r\n \r\n Confirm Password\r\n \r\n \r\n Passwords do not match\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n submit\r\n \r\n
\r\n
\r\n \r\n resend email\r\n \r\n \r\n
\r\n
\r\n cancel\r\n
\r\n
\r\n \r\n\r\n
\r\n {{ message }}\r\n
\r\n\r\n
\r\n
\r\n Contact Sales Support at 1.800.662.5519 for\r\n Assistance\r\n
\r\n
\r\n Copyright © All Rights Reserved by Alpha Warranty Services Inc.\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { GoogleChartsModule } from 'angular-google-charts';\r\nimport { PermissionGuard } from 'src/shared/permission.guard';\r\nimport { AgentGuard } from '../shared/agent.guard';\r\nimport { AuthorizedGuard } from '../shared/authorized.guard';\r\nimport { JwtInterceptor } from '../shared/jwt.interceptor';\r\nimport { RepairFacilityComponent } from '../shared/repair-facility/repair-facility.component';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { SiriusXMRealtimeComponent } from '../sirius-xm/sirius-xm-realtime/sirius-xm-realtime.component';\r\nimport { AppComponent } from './app.component';\r\nimport { ContainerHeaderlessComponent } from './container-headerless/container-headerless.component';\r\nimport { ContainerComponent } from './container/container.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ImpersonateComponent } from './impersonate/impersonate.component';\r\nimport { LandingComponent } from './landing/landing.component';\r\nimport { NavComponent } from './nav/nav.component';\r\nimport { NotAuthorizedComponent } from './not-authorized/not-authorized.component';\r\nimport { NotFoundComponent } from './not-found/not-found.component';\r\nimport { NotificationDialogComponent } from './notification-dialog/notification-dialog.component';\r\nimport { PrivacyPolicyComponent } from './privacy-policy/privacy-policy.component';\r\nimport { FeatureFlagGuard } from 'src/shared/feature-flag.guard';\r\n\r\nexport const appRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'login',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'login',\r\n component: LandingComponent,\r\n },\r\n {\r\n path: 'forgot-password',\r\n component: ForgotPasswordComponent,\r\n },\r\n {\r\n path: 'sirius-xm-realtime',\r\n component: SiriusXMRealtimeComponent,\r\n },\r\n {\r\n path: 'rf',\r\n loadChildren: () =>\r\n import('../repair-facility/repair-facility.module').then(\r\n (d) => d.RepairFacilityModule\r\n ),\r\n },\r\n {\r\n path: '',\r\n component: NavComponent,\r\n canActivate: [AuthorizedGuard],\r\n children: [\r\n {\r\n path: 'dashboard',\r\n canActivate: [AgentGuard],\r\n loadChildren: () =>\r\n import('../dashboard/dashboard.module').then(\r\n (m) => m.DashboardModule\r\n ),\r\n },\r\n {\r\n path: 'quicktrack',\r\n loadChildren: () =>\r\n import('../quicktrack/quicktrack.module').then(\r\n (m) => m.QuicktrackModule\r\n ),\r\n },\r\n {\r\n path: 'quicksign',\r\n canActivate: [PermissionGuard],\r\n data: {\r\n allowedRoles: ['Site Admin', 'QuickSign', 'Create New Dealer Online'],\r\n },\r\n loadChildren: () =>\r\n import('../quicksign/quicksign.module').then(\r\n (m) => m.QuicksignModule\r\n ),\r\n },\r\n {\r\n path: 'quicksync',\r\n loadChildren: () =>\r\n import('../quicksync/quicksync.module').then(\r\n (m) => m.QuicksyncModule\r\n ),\r\n },\r\n {\r\n path: 'outfield',\r\n loadChildren: () =>\r\n import('../outfield/outfield.module').then((m) => m.OutfieldModule),\r\n },\r\n {\r\n path: 'initiate',\r\n canActivate: [PermissionGuard],\r\n data: { allowedRoles: ['Site Admin', 'Dealer(s) Signup'] },\r\n loadChildren: () =>\r\n import('../initiate/initiate.module').then((d) => d.InitiateModule),\r\n },\r\n {\r\n path: 'ratecard',\r\n canActivate: [AgentGuard],\r\n loadChildren: () =>\r\n import('../ratecard/ratecard.module').then((d) => d.RatecardModule),\r\n },\r\n {\r\n path: 'videos',\r\n loadChildren: () =>\r\n import('../videos/videos.module').then((d) => d.VideosModule),\r\n },\r\n {\r\n path: 'business-reviews',\r\n loadChildren: () =>\r\n import('../business-reviews/business-review.module').then(\r\n (d) => d.BusinessReviewModule\r\n ),\r\n },\r\n {\r\n path: 'impersonate',\r\n component: ImpersonateComponent,\r\n },\r\n {\r\n path: 'cancellation',\r\n loadChildren: () =>\r\n import('../cancellation/cancellation.module').then(\r\n (d) => d.CancellationModule\r\n ),\r\n },\r\n {\r\n path: 'dealer-cancellation',\r\n loadChildren: () =>\r\n import('../dealer-cancellation/dealer-cancellation.module').then(\r\n (d) => d.DealerCancellationModule\r\n ),\r\n },\r\n {\r\n path: 'contract',\r\n loadChildren: () =>\r\n import('../contract/contract.module').then((d) => d.ContractModule),\r\n },\r\n {\r\n path: 'contracts',\r\n loadChildren: () =>\r\n import('../contracts/contracts.module').then(\r\n (d) => d.ContractsModule\r\n ),\r\n },\r\n {\r\n path: 'saved-quotes-report',\r\n canActivate: [AgentGuard],\r\n loadChildren: () =>\r\n import('../saved-quotes-report/saved-quotes-report.module').then(\r\n (d) => d.SavedQuotesReportModule\r\n ),\r\n },\r\n {\r\n path: 'product-sales-report',\r\n canActivate: [AgentGuard],\r\n loadChildren: () =>\r\n import('../product-sales-report/product-sales-report.module').then(\r\n (d) => d.ProductSalesReportModule\r\n ),\r\n },\r\n {\r\n path: 'faq',\r\n loadChildren: () =>\r\n import('../faqs/faqs.module').then((d) => d.FaqsModule),\r\n },\r\n {\r\n path: 'settings',\r\n loadChildren: () =>\r\n import('../settings/settings.module').then((d) => d.SettingsModule),\r\n },\r\n {\r\n path: 'remittance',\r\n loadChildren: () =>\r\n import('../remittance/remittance.module').then(\r\n (d) => d.RemittanceModule\r\n ),\r\n },\r\n {\r\n path: 'remittance/apc',\r\n loadChildren: () =>\r\n import('../apc-remittance/apc-remittance.module').then(\r\n (d) => d.APCRemittanceModule\r\n ),\r\n },\r\n {\r\n path: 'remittance/agent',\r\n loadChildren: () =>\r\n import('../agent-remittance/agent-remittance.module').then(\r\n (d) => d.AgentRemittanceModule\r\n ),\r\n },\r\n {\r\n path: 'site-admin',\r\n loadChildren: () =>\r\n import('../site-admin/site-admin.module').then(\r\n (d) => d.SiteAdminModule\r\n ),\r\n },\r\n {\r\n path: 'reports',\r\n loadChildren: () =>\r\n import('../reports/reports.module').then((d) => d.ReportsModule),\r\n },\r\n {\r\n path: 'forms',\r\n loadChildren: () =>\r\n import('../forms/forms.module').then((d) => d.FormsModule),\r\n },\r\n {\r\n path: 'wealth-dashboards',\r\n loadChildren: () => {\r\n return import('../wealth-dashboards/wealth-dashboards.module').then(\r\n (d) => d.WealthDashboardsModule\r\n );\r\n },\r\n },\r\n {\r\n path: 'marketing-materials',\r\n loadChildren: () =>\r\n import('../marketing-materials/marketing-materials.module').then(\r\n (d) => d.MarketingMaterialsModule\r\n ),\r\n },\r\n {\r\n path: 'call-center',\r\n loadChildren: () =>\r\n import('../call-center/call-center.module').then(\r\n (d) => d.CallCenterModule\r\n ),\r\n },\r\n {\r\n path: 'notifications',\r\n loadChildren: () =>\r\n import('../notification/notification.module').then(\r\n (d) => d.NotificationModule\r\n ),\r\n },\r\n {\r\n path: 'tooltips',\r\n loadChildren: () =>\r\n import('../tooltips/tooltips.module').then((d) => d.TooltipsModule),\r\n },\r\n {\r\n path: 'dealers',\r\n canActivate: [FeatureFlagGuard],\r\n data: {feature: 'new-quicksign'},\r\n loadChildren: () =>\r\n import('../dealer-information/dealer-information.module').then(\r\n (d) => d.DealerInformationModule\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n path: '',\r\n component: ContainerHeaderlessComponent,\r\n children: [\r\n {\r\n path: 'contract-holder/cancellation',\r\n loadChildren: () =>\r\n import('../customer-cancellation/customer-cancellation.module').then(\r\n (d) => d.CustomerCancellationModule\r\n ),\r\n },\r\n {\r\n path: 'lien-holder/cancellation',\r\n loadChildren: () =>\r\n import('../lien/lien.module').then((d) => d.LienModule),\r\n },\r\n ],\r\n },\r\n {\r\n path: '',\r\n component: ContainerComponent,\r\n children: [\r\n {\r\n path: 'profile',\r\n loadChildren: () =>\r\n import('../profile/profile.module').then((d) => d.ProfileModule),\r\n },\r\n {\r\n path: 'overbill',\r\n loadChildren: () =>\r\n import('../overbill/overbill.module').then((d) => d.OverbillModule),\r\n },\r\n {\r\n path: 'dealer-adjustment',\r\n loadChildren: () =>\r\n import('../adjustment-agreement/adjustment-agreement.module').then(\r\n (d) => d.AdjustmentAgreementModule\r\n ),\r\n },\r\n {\r\n path: 'retro',\r\n loadChildren: () =>\r\n import('../retro/retro.module').then((m) => m.RetroModule),\r\n },\r\n {\r\n path: 'reinsurance',\r\n loadChildren: () =>\r\n import('../reinsurance/reinsurance.module').then(\r\n (d) => d.ReinsuranceModule\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n path: 'printer',\r\n canActivate: [AuthorizedGuard],\r\n children: [\r\n {\r\n path: 'business-reviews',\r\n loadChildren: () =>\r\n import('../business-reviews/business-review.module').then(\r\n (d) => d.BusinessReviewModule\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n path: 'privacy-policy',\r\n component: PrivacyPolicyComponent,\r\n },\r\n {\r\n path: 'not-authorized',\r\n component: NotAuthorizedComponent,\r\n },\r\n {\r\n path: '**',\r\n component: NotFoundComponent,\r\n },\r\n];\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LandingComponent,\r\n NotAuthorizedComponent,\r\n NotFoundComponent,\r\n ImpersonateComponent,\r\n NavComponent,\r\n FooterComponent,\r\n PrivacyPolicyComponent,\r\n ContainerComponent,\r\n ContainerHeaderlessComponent,\r\n ForgotPasswordComponent,\r\n NotificationDialogComponent,\r\n RepairFacilityComponent,\r\n ],\r\n imports: [\r\n RouterModule.forRoot(appRoutes),\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n SharedModule,\r\n GoogleChartsModule,\r\n ],\r\n providers: [\r\n HttpClientModule,\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n {\r\n provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,\r\n useValue: { horizontalPosition: 'center', verticalPosition: 'top' },\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class AppModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { ScsDetail, UserService } from '../user.service';\r\n\r\n@Component({\r\n selector: 'zoom-scs-mga-select',\r\n templateUrl: './mga-select.component.html',\r\n styleUrls: ['./mga-select.component.css']\r\n})\r\nexport class MgaSelectComponent implements OnInit {\r\n filteredMgas: Observable;\r\n filterInput = new FormControl(null);\r\n\r\n @Input('required')\r\n controlRequired = false;\r\n\r\n @Input('label')\r\n formLabel = 'Agent';\r\n\r\n @Input('bindFormControl')\r\n formControl = new FormControl();\r\n\r\n constructor(private user: UserService) { }\r\n\r\n ngOnInit(): void {\r\n this.filteredMgas = this.filterInput.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail | null) => {\r\n if (value && (value as string).length > 2) {\r\n return this.user.mgaScsAccessFilter(value as string);\r\n }\r\n return EMPTY;\r\n })\r\n );\r\n const existing = this.formControl.value;\r\n if (existing) {\r\n this.user.preloadMgaScsAccessFilter(existing)\r\n .subscribe({\r\n next: result => {\r\n this.filterInput.setValue(result);\r\n }\r\n });\r\n }\r\n }\r\n\r\n displayWith(value: ScsDetail | string): string {\r\n if (value && (value as ScsDetail).scsNumber) {\r\n const detail = value as ScsDetail;\r\n return `${detail.scsNumber} - ${detail.name}`;\r\n }\r\n return value as string;\r\n }\r\n\r\n optionSelected() {\r\n this.formControl.setValue(this.filterInput.value.scsNumber);\r\n }\r\n}\r\n\r\n","\r\n {{ formLabel }}\r\n \r\n\r\n \r\n \r\n {{ opt.scsNumber }} - {{ opt.name }}\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CmsService } from '../../shared/cms.service';\r\nimport { NotificationService } from '../../shared/notification.service';\r\nimport { PrincipalService } from '../../shared/principal.service';\r\n\r\n@Component({\r\n selector: 'app-notification-dialog',\r\n templateUrl: './notification-dialog.component.html',\r\n styleUrls: ['./notification-dialog.component.css']\r\n})\r\nexport class NotificationDialogComponent implements OnInit {\r\n isLoading: boolean;\r\n notification: any;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private notificationService: NotificationService,\r\n private principal: PrincipalService,\r\n private cmsService: CmsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (!this.data.dateOpened) {\r\n this.notificationService.markNotificationRead(this.data.notificationId, this.principal.id).subscribe();\r\n }\r\n\r\n this.isLoading = true;\r\n\r\n this.notification = {\r\n notificationBody: `\r\n

Dear Dealer Partner,

\r\n

Thank you for your continued support and patience as we work to fully restore connectivity to the ZOOM portal following this outage.

\r\n

We're excited to share that key functions are back online, including the ability to quote, submit, and remit contracts. Most reports and QuickTrack have also been restored.

\r\n

Please take note that before you start quoting and contracting, we ask that you take a moment to review your dealership's settings to ensure your default markups are correctly applied. This is an\r\n important step to ensure you have the ability to quote accurately.

\r\n

We appreciate your ongoing partnership and patience as we bring everything back to full operation.

\r\n

Thank you for standing with us!

\r\n `\r\n }\r\n\r\n this.isLoading = false;\r\n\r\n\r\n // this.cmsService.getNotification(this.data.cmsNotificationId).subscribe({\r\n // next: (res) => {\r\n // this.isLoading = false;\r\n // this.notification = res.data.zoomNotifications[0];\r\n // console.log(this.notification);\r\n // },\r\n // error: (err) => {\r\n // this.isLoading = false;\r\n // }\r\n // });\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{ notification.displayText }}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { environment } from '../../environments/environment';\r\nimport { AlphaProgram, GapProviders } from '../quick-sign.model';\r\nimport { QuickSignService } from '../quick-sign.service';\r\n\r\n@Component({\r\n selector: 'app-program-select',\r\n templateUrl: './program-select.component.html',\r\n styleUrls: ['./program-select.component.css'],\r\n})\r\nexport class ProgramSelectComponent implements OnInit {\r\n @Input()\r\n franchise: boolean = false;\r\n @Output('programsChange')\r\n selectedPrograms: EventEmitter = new EventEmitter();\r\n\r\n gapProviders: GapProviders[];\r\n\r\n vscPrograms: AlphaProgram[];\r\n warrantyPrograms: AlphaProgram[];\r\n ancPrograms: AlphaProgram[];\r\n franchiseClassicStandardGapPrograms: AlphaProgram[];\r\n franchiseClassicEssentialGapPrograms: AlphaProgram[];\r\n franchiseClassicCommercialGapPrograms: AlphaProgram[];\r\n franchiseCarcoStandardGapPrograms: AlphaProgram[];\r\n franchiseCarcoBuyHerePayHereGapPrograms: AlphaProgram[];\r\n franchiseCarcoCommercialGapPrograms: AlphaProgram[];\r\n independentClassicStandardGapPrograms: AlphaProgram[];\r\n independentClassicEssentialGapPrograms: AlphaProgram[];\r\n independentClassicCommercialGapPrograms: AlphaProgram[];\r\n independentCarcoStandardGapPrograms: AlphaProgram[];\r\n independentCarcoBuyHerePayHereGapPrograms: AlphaProgram[];\r\n independentCarcoCommercialGapPrograms: AlphaProgram[];\r\n\r\n gapProviderControl = new FormControl();\r\n\r\n franchiseClassicStandardGapControl = new FormControl(null);\r\n franchiseClassicEssentialGapControl = new FormControl(null);\r\n franchiseClassicCommercialGapControl = new FormControl(null);\r\n franchiseCarcoStandardGapControl = new FormControl(null);\r\n franchiseCarcoBuyHerePayHereGapControl = new FormControl(null);\r\n franchiseCarcoCommercialGapControl = new FormControl(null);\r\n independentClassicStandardGapControl = new FormControl(null);\r\n independentClassicEssentialGapControl = new FormControl(null);\r\n independentClassicCommercialGapControl = new FormControl(null);\r\n independentCarcoStandardGapControl = new FormControl(null);\r\n independentCarcoBuyHerePayHereGapControl = new FormControl(null);\r\n independentCarcoCommercialGapControl = new FormControl(null);\r\n vscProgramControl = new FormControl(null);\r\n warrantyProgramControl = new FormControl(null);\r\n summitProtectionProgramControl = new FormControl(null);\r\n\r\n programsFormGroup = new FormGroup({\r\n vscProgramControl: this.vscProgramControl,\r\n warrantyProgramControl: this.warrantyProgramControl,\r\n summitProtectionProgramControl: this.summitProtectionProgramControl,\r\n gapProviderId: this.gapProviderControl,\r\n });\r\n\r\n gapProgramsFormGroup = new FormGroup({\r\n franchiseClassicStandardGapControl: this.franchiseClassicStandardGapControl,\r\n franchiseClassicEssentialGapControl: this.franchiseClassicEssentialGapControl,\r\n franchiseClassicCommercialGapControl: this.franchiseClassicCommercialGapControl,\r\n franchiseCarcoStandardGapControl: this.franchiseCarcoStandardGapControl,\r\n franchiseCarcoBuyHerePayHereGapControl: this.franchiseCarcoBuyHerePayHereGapControl,\r\n franchiseCarcoCommercialGapControl: this.franchiseCarcoCommercialGapControl,\r\n independentClassicStandardGapControl: this.independentClassicStandardGapControl,\r\n independentClassicEssentialGapControl: this.independentClassicEssentialGapControl,\r\n independentClassicCommercialGapControl: this.independentClassicCommercialGapControl,\r\n independentCarcoStandardGapControl: this.independentCarcoStandardGapControl,\r\n independentCarcoBuyHerePayHereGapControl: this.independentCarcoBuyHerePayHereGapControl,\r\n independentCarcoCommercialGapControl: this.independentCarcoCommercialGapControl,\r\n });\r\n\r\n productFormGroup = new FormGroup({\r\n programs: this.programsFormGroup,\r\n gapPrograms: this.gapProgramsFormGroup\r\n });\r\n\r\n constructor(private quicksign: QuickSignService) {\r\n this.productFormGroup.valueChanges\r\n .pipe(debounceTime(150))\r\n .subscribe({\r\n next: values => {\r\n const programs = this.combinePrograms();\r\n if (!environment.production) {\r\n console.log(programs);\r\n }\r\n this.selectedPrograms.next(programs);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // Load programs\r\n this.quicksign.getGapPrograms().subscribe({\r\n next: (gapPrograms) => {\r\n this.franchiseCarcoBuyHerePayHereGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise && x.provider == 'CarCo' && x.context == 'Essential'\r\n );\r\n this.franchiseCarcoCommercialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise && x.provider == 'CarCo' && x.context == 'Commercial'\r\n );\r\n this.franchiseCarcoStandardGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise && x.provider == 'CarCo' && x.context == 'Signature'\r\n );\r\n this.franchiseClassicCommercialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise &&\r\n x.provider == 'Classic' &&\r\n x.context == 'Commercial'\r\n );\r\n this.franchiseClassicEssentialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise && x.provider == 'Classic' && x.context == 'Essential'\r\n );\r\n this.franchiseClassicStandardGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n x.isFranchise &&\r\n x.provider == 'Classic' &&\r\n (x.context == 'Signature' || x.context == 'Complete')\r\n );\r\n this.independentClassicStandardGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise &&\r\n x.provider == 'Classic' &&\r\n (x.context == 'Signature' || x.context == 'Complete')\r\n );\r\n this.independentClassicEssentialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise &&\r\n x.provider == 'Classic' &&\r\n x.context == 'Essential'\r\n );\r\n this.independentClassicCommercialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise &&\r\n x.provider == 'Classic' &&\r\n x.context == 'Commercial'\r\n );\r\n this.independentCarcoStandardGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise && x.provider == 'CarCo' && x.context == 'Signature'\r\n );\r\n this.independentCarcoCommercialGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise && x.provider == 'CarCo' && x.context == 'Commercial'\r\n );\r\n this.independentCarcoBuyHerePayHereGapPrograms = gapPrograms.filter(\r\n (x) =>\r\n !x.isFranchise && x.provider == 'CarCo' && x.context == 'Essential'\r\n );\r\n },\r\n });\r\n this.quicksign.getPrograms().subscribe({\r\n next: (programs) => {\r\n this.vscPrograms = programs.filter((x) => x.context == 'VSC');\r\n this.warrantyPrograms = programs.filter((x) => x.context == 'Warranty');\r\n this.ancPrograms = programs.filter(\r\n (x) => x.context == 'Summit Protection'\r\n );\r\n },\r\n });\r\n this.quicksign.getGapProviders().subscribe({\r\n next: (providers) => {\r\n this.gapProviders = providers;\r\n },\r\n });\r\n }\r\n\r\n gapProviderChange() {\r\n const gpv = this.gapProviderControl.value;\r\n if (gpv == 1) {\r\n this.franchiseCarcoStandardGapControl.reset();\r\n this.franchiseCarcoBuyHerePayHereGapControl.reset();\r\n this.franchiseCarcoCommercialGapControl.reset();\r\n this.independentCarcoStandardGapControl.reset();\r\n this.independentCarcoBuyHerePayHereGapControl.reset();\r\n this.independentCarcoCommercialGapControl.reset();\r\n } else if (gpv == 2) {\r\n this.franchiseClassicStandardGapControl.reset();\r\n this.franchiseClassicEssentialGapControl.reset();\r\n this.franchiseClassicCommercialGapControl.reset();\r\n this.independentClassicStandardGapControl.reset();\r\n this.independentClassicEssentialGapControl.reset();\r\n this.independentClassicCommercialGapControl.reset();\r\n } else {\r\n this.gapProgramsFormGroup.reset();\r\n }\r\n }\r\n\r\n selectedGapProvider() {\r\n return this.gapProviderControl.value;\r\n }\r\n\r\n get isFranchise() {\r\n return this.franchise;\r\n }\r\n\r\n combinePrograms() {\r\n let programs = [];\r\n if (this.vscProgramControl.value) {\r\n this.vscProgramControl.value.forEach(p => { programs.push(p); });\r\n }\r\n if (this.summitProtectionProgramControl.value) {\r\n this.summitProtectionProgramControl.value.forEach(p => { programs.push(p); });\r\n }\r\n if (this.warrantyProgramControl.value) {\r\n programs.push(this.warrantyProgramControl.value);\r\n }\r\n return programs.concat(this.combineGapPrograms());\r\n }\r\n\r\n combineGapPrograms() {\r\n let gapPrograms = [];\r\n // franchise carco\r\n if (this.franchiseCarcoStandardGapControl.value) {\r\n gapPrograms.push(this.franchiseCarcoStandardGapControl.value);\r\n }\r\n if (this.franchiseCarcoBuyHerePayHereGapControl.value) {\r\n gapPrograms.push(this.franchiseCarcoBuyHerePayHereGapControl.value);\r\n }\r\n if (this.franchiseCarcoCommercialGapControl.value) {\r\n this.franchiseCarcoCommercialGapControl.value.forEach(val => gapPrograms.push(val));\r\n }\r\n\r\n //franchise classic\r\n if (this.franchiseClassicStandardGapControl.value) {\r\n gapPrograms.push(this.franchiseClassicStandardGapControl.value);\r\n }\r\n if (this.franchiseClassicEssentialGapControl.value) {\r\n gapPrograms.push(this.franchiseClassicEssentialGapControl.value);\r\n }\r\n if (this.franchiseClassicCommercialGapControl.value) {\r\n this.franchiseClassicCommercialGapControl.value.forEach(val => gapPrograms.push(val));\r\n }\r\n //Independent classic\r\n if (this.independentClassicStandardGapControl.value) {\r\n gapPrograms.push(this.independentClassicStandardGapControl.value);\r\n }\r\n if (this.independentClassicEssentialGapControl.value) {\r\n gapPrograms.push(this.independentClassicEssentialGapControl.value);\r\n }\r\n if (this.independentClassicCommercialGapControl.value) {\r\n this.independentClassicCommercialGapControl.value.forEach(val => gapPrograms.push(val));\r\n }\r\n\r\n // independent carco\r\n if (this.independentCarcoStandardGapControl.value) {\r\n gapPrograms.push(this.independentCarcoStandardGapControl.value);\r\n }\r\n if (this.independentCarcoBuyHerePayHereGapControl.value) {\r\n gapPrograms.push(this.independentCarcoBuyHerePayHereGapControl.value);\r\n }\r\n if (this.independentCarcoCommercialGapControl.value) {\r\n this.independentCarcoCommercialGapControl.value.forEach(val => gapPrograms.push(val));\r\n }\r\n return gapPrograms;\r\n }\r\n}\r\n","
\r\n \r\n \r\n VSC \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n GAP Provider\r\n \r\n \r\n \r\n {{ g.provider }}\r\n \r\n \r\n \r\n\r\n \r\n Summit Protection \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n GAP \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Essential \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Commercial \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n GAP \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Essential \r\n \r\n Buy Here Pay Here\r\n \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Commercial \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n GAP \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Essential \r\n \r\n Buy Here Pay Here\r\n \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Commercial \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n GAP \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Essential \r\n \r\n Buy Here Pay Here\r\n \r\n \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n\r\n \r\n Commercial \r\n \r\n \r\n {{ pr.program }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Params } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { DealerProductType } from './contract.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContractService {\r\n private endPoint: string;\r\n private postalCodeEndpoint: string;\r\n private webhookEndPoint: string;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = environment.toolsEndpoint + environment.version;\r\n this.postalCodeEndpoint = 'https://api.zippopotam.us/us/';\r\n //this.webhookEndPoint = environment.pcrsWebhook + environment.version;\r\n }\r\n\r\n private buildParams(source: any) {\r\n const result = {};\r\n for (const prop in source) {\r\n if (source[prop] != null || source[prop] != undefined) {\r\n result[prop] = source[prop];\r\n }\r\n }\r\n return result as Params;\r\n }\r\n\r\n getRates(payload: any): Observable {\r\n return this.httpClient.get(`${this.endPoint}quote/rates`, {\r\n params: this.buildParams(payload),\r\n });\r\n }\r\n\r\n getProducts(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}quote/dealer-products`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getDealerSettings(dealerNumber: string) {\r\n return this.httpClient.get(`${this.endPoint}quote/dealer-settings`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n getDealerInformation(dealerNumber: string) {\r\n return this.httpClient.get(`${this.endPoint}quote/dealer-information`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n incompleteQuoteUpdate(params: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}quote/incomplete-quote-update`,\r\n params\r\n )\r\n }\r\n\r\n getAListSales(value: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}quote/dealer/a-list-score`,\r\n { params: { dealerNumber: value } }\r\n );\r\n }\r\n\r\n getLenders(filter: string) {\r\n return this.httpClient.get(`${this.endPoint}quote/lenders`, {\r\n params: { filter },\r\n });\r\n }\r\n\r\n getManagers(dealerNumber: string) {\r\n return this.httpClient.get(`${this.endPoint}quote/managers`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n saveContractQuote(body: any): Observable {\r\n return this.httpClient.post(`${this.endPoint}quote/saved-quote`, body);\r\n }\r\n\r\n getContractQuote(savedQuoteId: number): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}quote/saved-quote/${savedQuoteId}`\r\n );\r\n }\r\n\r\n previewContract(body: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}quote/contract-preview`,\r\n body\r\n );\r\n }\r\n\r\n generateContract(body: any): Observable {\r\n // return this.generateContracts([body]);\r\n return this.httpClient.post(`${this.endPoint}quote/contracts`, body);\r\n }\r\n\r\n addContractNote(payload: any) {\r\n return this.httpClient.post(`${this.endPoint}quote/contract-note`, payload);\r\n }\r\n\r\n savedQuotes(params) {\r\n return this.httpClient.get(`${this.endPoint}quote/saved-quotes`, {\r\n params: params,\r\n });\r\n }\r\n\r\n updateSavedQuote(payload: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}quote/update-saved-quote-product`,\r\n payload\r\n );\r\n }\r\n\r\n printQuoteComparison(body: any) {\r\n return this.httpClient\r\n .post(`${this.endPoint}quote/print-quote-comparison`, body, {\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n map((result: Blob) => {\r\n return URL.createObjectURL(result);\r\n })\r\n );\r\n }\r\n\r\n getLocation(postalCode: any) {\r\n return this.httpClient.get(`${this.postalCodeEndpoint}${postalCode}`);\r\n }\r\n\r\n coveredComponents(coverageCode: string, rateBook: string) {\r\n let scrubbedCode = encodeURI(coverageCode);\r\n return this.httpClient.get(\r\n `${this.endPoint}quote/covered-components`,\r\n {\r\n params: {\r\n coverageCode: scrubbedCode.replace('+', '%2b'),\r\n ratebookCode: rateBook\r\n },\r\n }\r\n );\r\n }\r\n\r\n sendActivationEmail(quoteId: any, email: any) {\r\n const url = `${this.endPoint}quote/${quoteId}/activation-email`;\r\n const params = { email };\r\n return this.httpClient.post(url, null, { params });\r\n }\r\n}\r\n","import { CdkStepper } from \"@angular/cdk/stepper\";\r\nimport { Component, Input, QueryList } from \"@angular/core\";\r\nimport { startWith, takeUntil } from \"rxjs/operators\";\r\nimport { QuicksignStepComponent } from \"./quicksign-step/quicksign-step.component\";\r\n\r\n@Component({\r\n selector: \"quicksign-stepper\",\r\n templateUrl: \"./quicksign-stepper.component.html\",\r\n styleUrls: [\"./quicksign-stepper.component.css\"],\r\n providers: [{ provide: CdkStepper, useExisting: QuicksignStepperComponent }],\r\n})\r\nexport class QuicksignStepperComponent extends CdkStepper {\r\n readonly steps: QueryList =\r\n new QueryList();\r\n // readonly stepHeaders: QueryList =\r\n // new QueryList();\r\n // readonly stepButtons: QueryList =\r\n // new QueryList();\r\n\r\n @Input()\r\n activeClass = \"active\";\r\n\r\n @Input() containerClass = \"qs-container\";\r\n\r\n ngAfterContentInit() {\r\n this._steps.changes\r\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\r\n .subscribe((steps: QueryList) => {\r\n this.steps.reset(\r\n steps.filter((step) => step._stepper === this && step.isStep)\r\n );\r\n this.steps.notifyOnChanges();\r\n // this.stepHeaders.reset(\r\n // steps.filter(\r\n // (step) => step._stepper === this && step.isHeader\r\n // )\r\n // );\r\n // this.stepHeaders.notifyOnChanges();\r\n // this.stepButtons.reset(\r\n // steps.filter(\r\n // (step) => step._stepper === this && step.isButton\r\n // )\r\n // );\r\n // this.stepButtons.notifyOnChanges();\r\n });\r\n }\r\n\r\n get isCompleted() {\r\n return !this.steps.some((step) => step.completed === false);\r\n }\r\n\r\n isNextButtonHidden() {\r\n return !(this.steps.length === this.selectedIndex + 1);\r\n }\r\n\r\n hasPrevious() {\r\n return this.selectedIndex > 0;\r\n }\r\n hasNext() {\r\n return this.selectedIndex < this.steps.length - 1;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n keyboard_arrow_right\r\n keyboard_arrow_down\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ selected.previousButtonText || \"BACK\" }}\r\n \r\n
\r\n
\r\n \r\n {{ selected.nextButtonText || \"NEXT\" }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n {{ step.label }}\r\n \r\n\r\n\r\n\r\n
\r\n \r\n check\r\n
\r\n \r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n endpoint: string;\r\n constructor(\r\n private http: HttpClient\r\n ) {\r\n this.endpoint = environment.dashboardEndpoint + environment.version\r\n }\r\n\r\n createNotification(postBody: any) {\r\n return this.http.post(`${this.endpoint}notification`, postBody);\r\n }\r\n\r\n editNotification(body: any, notificationId: number) {\r\n return this.http.put(`${this.endpoint}notification/${notificationId}`, body)\r\n }\r\n\r\n getNotifications() {\r\n return this.http.get(`${this.endpoint}notification`);\r\n }\r\n\r\n publishNotification(notificationId: Number) {\r\n return this.http.post(`${this.endpoint}notification/${notificationId}/publish`, null);\r\n }\r\n\r\n deleteNotification(notificationId: Number) {\r\n return this.http.delete(`${this.endpoint}notification/${notificationId}`);\r\n }\r\n\r\n getUserNotification(userId: any) {\r\n return this.http.get(`${this.endpoint}notification/${userId}`);\r\n }\r\n\r\n markNotificationRead(notificationId: any, id: any) {\r\n return this.http.post(`${this.endpoint}notification/mark-as-read`, null, {\r\n params: {\r\n notificationId,\r\n userId: id\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { Subject, Subscription, timer } from 'rxjs';\r\nimport { environment } from '../environments/environment';\r\nimport { Principal } from './principal.model';\r\nimport { UsersService } from './users.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PrincipalService {\r\n private uuidInstance: string;\r\n private principalKey = 'user_principal';\r\n private uuidKey = 'generated_uuid';\r\n private scsDealerKey = 'dealer_number';\r\n\r\n private session: Session = this.defaultSession();\r\n private timer: Subscription;\r\n private authenticatedSubject = new Subject();\r\n\r\n constructor(\r\n private usersService: UsersService,\r\n private cookieService: CookieService,\r\n ) {\r\n const rawData = localStorage.getItem(this.principalKey);\r\n if (rawData) {\r\n this.set(JSON.parse(rawData));\r\n }\r\n const storedUUID = localStorage.getItem(this.uuidKey);\r\n if (storedUUID) {\r\n this.setUUID(storedUUID);\r\n }\r\n }\r\n\r\n get token() {\r\n return this.session.access_token;\r\n }\r\n\r\n get userName() {\r\n return this.session.claims.unique_name;\r\n }\r\n\r\n get actorUserName() {\r\n return this.session.claims.unique_name;\r\n }\r\n\r\n get firstName() {\r\n return this.session.claims.given_name;\r\n }\r\n\r\n get lastName() {\r\n return this.session.claims.family_name;\r\n }\r\n\r\n get id() {\r\n return this.session.claims.nameid;\r\n }\r\n\r\n get isAuthenticated() {\r\n return !!this.session.access_token;\r\n }\r\n\r\n get scsNumber() {\r\n return localStorage.getItem(this.scsDealerKey);\r\n }\r\n\r\n set scsNumber(value: string) {\r\n localStorage.setItem(this.scsDealerKey, value);\r\n this.usersService.updateUserLastDealerNumber(this.id, value).subscribe();\r\n if (!environment.production) {\r\n console.log('Setting ScsNumber: ', value);\r\n }\r\n }\r\n\r\n get authenticationMethod() {\r\n return this.session.claims.sign_in;\r\n }\r\n\r\n get uuid() {\r\n return this.uuidInstance;\r\n }\r\n\r\n get hasImpersonation() {\r\n return this.session.hasImpersonation;\r\n }\r\n\r\n get userViewAccessType() {\r\n return this.session.claims.user_view_access_type;\r\n }\r\n get phoneNumber() {\r\n return this.session.claims.phone_number;\r\n }\r\n clear() {\r\n if (this.timer) {\r\n this.timer.unsubscribe();\r\n this.timer = undefined;\r\n }\r\n this.session = this.defaultSession();\r\n this.authenticatedSubject.next(false);\r\n localStorage.removeItem(this.principalKey);\r\n localStorage.removeItem(this.scsDealerKey);\r\n }\r\n\r\n flush(all: boolean = false) {\r\n if (!environment.production) {\r\n console.log('*Flushing');\r\n }\r\n localStorage.removeItem(this.principalKey);\r\n if (all) {\r\n if (!environment.production) {\r\n console.log('*Flushing ALL');\r\n }\r\n localStorage.removeItem(this.uuidKey);\r\n localStorage.removeItem(this.scsDealerKey);\r\n }\r\n }\r\n\r\n hasRoles(roles: string[]) {\r\n return this.session.roles.some((sr) => roles.some((r) => sr == r));\r\n }\r\n\r\n hasUserViewAccess(uvas: string[]) {\r\n return uvas.some((u) => u === this.session.claims.user_view_access_type);\r\n }\r\n\r\n isAlphaorAlpine() {\r\n return this.session.alphaOrAlpine;\r\n }\r\n\r\n hasFeature(featureFlag: string) {\r\n return (\r\n this.session.feature_flags &&\r\n (this.session.feature_flags as string[]).includes(featureFlag)\r\n );\r\n }\r\n\r\n set(principal: Principal) {\r\n localStorage.setItem(this.principalKey, JSON.stringify(principal));\r\n const claims = JSON.parse(atob(principal.token.split('.')[1]));\r\n let actorClaims: any | null;\r\n let sessionRoles = [];\r\n let roleRef = claims.role;\r\n if (claims.actort) {\r\n actorClaims = JSON.parse(atob(claims.actort.split('.')[1]));\r\n roleRef = actorClaims.role;\r\n }\r\n if (roleRef && roleRef instanceof Array) {\r\n sessionRoles = roleRef;\r\n } else if (roleRef) {\r\n sessionRoles.push(roleRef);\r\n }\r\n\r\n var alphaOrAlpine = null;\r\n var alphaOrAlpineCookieExists = this.cookieService.check('alphaOrAlpine');\r\n\r\n if (alphaOrAlpineCookieExists) {\r\n alphaOrAlpine = this.cookieService.get('alphaOrAlpine');\r\n }\r\n\r\n const featureFlags = claims.feature_flags;\r\n\r\n this.session = {\r\n access_token: principal.token,\r\n claims: actorClaims ? actorClaims : claims,\r\n roles: sessionRoles,\r\n hasImpersonation: !!actorClaims,\r\n alphaOrAlpine: alphaOrAlpineCookieExists ? alphaOrAlpine : '', \r\n feature_flags: featureFlags,\r\n };\r\n const expiry = new Date(claims.exp * 1000 - 60000);\r\n if (!environment.production) {\r\n console.log('Setting Principal: ', principal);\r\n console.log('Claims: ', this.session.claims);\r\n console.log('Expires: ', expiry.toLocaleString());\r\n if (this.hasImpersonation) {\r\n console.log('Impersonation Active');\r\n }\r\n }\r\n this.authenticatedSubject.next(true);\r\n timer(expiry).subscribe({\r\n next: () => this.clear(),\r\n });\r\n if (!this.scsNumber) {\r\n this.scsNumber = principal.lastScsNumber;\r\n }\r\n }\r\n\r\n setAlphaOrAlpine() {\r\n if (!this.session.alphaOrAlpine) {\r\n this.usersService.isAlphaOrAlpineToolsEndpoint().subscribe({\r\n next: (response) => {\r\n var alphaOrAlpine = response.content;\r\n this.cookieService.set('alphaOrAlpine', alphaOrAlpine);\r\n this.session.alphaOrAlpine = alphaOrAlpine;\r\n },\r\n });\r\n }\r\n }\r\n\r\n authenticated() {\r\n return this.authenticatedSubject.asObservable();\r\n }\r\n\r\n setUUID(id: string) {\r\n if (!environment.production) {\r\n console.log('Current UUID: ', id);\r\n }\r\n localStorage.setItem(this.uuidKey, id);\r\n this.uuidInstance = id;\r\n }\r\n\r\n private defaultSession(): Session {\r\n return {\r\n access_token: null,\r\n claims: {},\r\n hasImpersonation: false,\r\n roles: [],\r\n alphaOrAlpine: '',\r\n feature_flags: [],\r\n };\r\n }\r\n}\r\n\r\ninterface Session {\r\n access_token: string | null;\r\n claims: any;\r\n hasImpersonation: boolean;\r\n roles: any[];\r\n alphaOrAlpine: string;\r\n feature_flags: string[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { PrincipalService } from './principal.service';\r\nimport { LoadingService } from './loading.service';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private principal: PrincipalService, private loader: LoadingService) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n this.loader.show();\r\n const map = request.url.match(\r\n /^(?:https?:\\/\\/)?(?:[^@\\/\\n]+@)?(?:www\\.)?([^:\\/\\n]+)/im\r\n );\r\n if (\r\n (map && map.some((x) => x == 'blog.alphawarranty.com')) ||\r\n request.url.includes('api.zippopotam.us')\r\n ) {\r\n } else if (this.principal.isAuthenticated) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.principal.token}`,\r\n 'zoom-scs-number': this.principal.scsNumber,\r\n },\r\n });\r\n }\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.loader.hide();\r\n this.principal.setAlphaOrAlpine();\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { ScsDetail, UserService } from '../user.service';\r\n\r\n@Component({\r\n selector: 'zoom-scs-dealer-select',\r\n templateUrl: './dealer-select.component.html',\r\n styleUrls: ['./dealer-select.component.css'],\r\n})\r\nexport class DealerSelectComponent implements OnInit {\r\n scsAccessFilter: Observable;\r\n inputFilter = new FormControl();\r\n\r\n @Input('bindFormControl')\r\n formControl = new FormControl();\r\n\r\n @Input('required')\r\n required = false;\r\n\r\n @Input('label')\r\n label: string = 'Dealer';\r\n\r\n @Input('includeDFI')\r\n includeDFI: boolean = true;\r\n\r\n @Input('onlyActiveDealers')\r\n onlyActiveDealers: boolean = false;\r\n\r\n @Input('autoClearInput')\r\n autoClearInput: boolean = false;\r\n\r\n @Input('preloadFromPrincipal')\r\n preloadFromPrincipal: boolean = true;\r\n\r\n constructor(\r\n public principal: PrincipalService,\r\n private userService: UserService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.scsAccessFilter = this.inputFilter.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail) => {\r\n if (!value) {\r\n if (this.autoClearInput) {\r\n this.formControl.setValue(null, { emitEvent: false });\r\n }\r\n return this.userService.scsAccessFilter(\r\n '',\r\n this.includeDFI,\r\n this.onlyActiveDealers,\r\n );\r\n }\r\n if (value && (value as string).length > 0) {\r\n return this.userService.scsAccessFilter(\r\n value as string,\r\n this.includeDFI,\r\n this.onlyActiveDealers,\r\n );\r\n }\r\n return EMPTY;\r\n }),\r\n );\r\n\r\n if (\r\n this.principal.scsNumber &&\r\n this.principal.scsNumber.length > 3 &&\r\n this.preloadFromPrincipal\r\n ) {\r\n // LOAD the value\r\n this.userService\r\n .preloadDealerScsAccessFilter(this.principal.scsNumber, this.includeDFI)\r\n .subscribe({\r\n next: (result) => {\r\n this.inputFilter.setValue(result);\r\n this.formControl.setValue(this.principal.scsNumber);\r\n },\r\n });\r\n }\r\n }\r\n\r\n displayWith(value: ScsDetail) {\r\n if (value && value.scsNumber) {\r\n return `${value.scsNumber} - ${value.name}`;\r\n }\r\n return value;\r\n }\r\n\r\n optionSelected() {\r\n this.formControl.setValue(this.inputFilter.value.scsNumber);\r\n this.principal.scsNumber = this.inputFilter.value.scsNumber;\r\n }\r\n clearText() {\r\n this.formControl.setValue(null);\r\n this.inputFilter.patchValue(null);\r\n }\r\n\r\n get inputIsClear(): boolean {\r\n return this.formControl.value == null || this.formControl.value == '';\r\n }\r\n}\r\n","\r\n {{ label }}\r\n \r\n close\r\n \r\n \r\n {{ opt.scsNumber }} - {{ opt.name }}\r\n \r\n \r\n\r\n","import { Component } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-privacy-policy',\r\n templateUrl: './privacy-policy.component.html',\r\n styleUrls: ['./privacy-policy.component.css'],\r\n})\r\nexport class PrivacyPolicyComponent {\r\n\r\n constructor(private router: Router) {}\r\n}\r\n","\r\n

Privacy Policy

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

Effective (Last edit) May 2022.

\r\n

Your privacy is important to Alpha Warranty Services, Inc (“Alpha,” “we,” “us” or “our”) and we have set forth the details about our privacy policies and how your information is used and protected. Alpha understands the right to privacy of every visitor to our Website zoom.alphawarranty.com (“Website”). Our Privacy Policy (“Privacy Policy”) explains our online practices and how we collect, use, and protect your information. The Privacy Policy may be changed or updated without prior notice to you. By visiting our Website, you acknowledge your agreement to be bound by the practices described in this Privacy Policy. Our Privacy Policy applies to all consumers, and we encourage you to read through and review this Privacy Policy each time you access the Website. If you do not agree with this Privacy Policy, we ask that you not use the Website.

\r\n

Protecting Your Privacy

\r\n

I. The Website Covered

\r\n

This Privacy Policy covers the information practices of zoom.alphawarranty.com. When Websites are posted by Alpha, the Website will link to this Privacy Policy, and this Privacy Policy applies. However, when Websites are posted by third parties, the Privacy Policy of the third party applies, and this Privacy Policy does not apply. In addition, zoom.alphawarranty.com may contain links to other Websites. This Privacy Policy applies only to information collected on zoom.alphawarranty.com and does not govern the information practices or the content of such other Websites. We encourage you to review the Privacy Policies of other Websites to understand their information practices.

\r\n

Alpha reserves the right to change this Privacy Policy at any time. You will not be given any notice to these modifications. Your continued use of the Website after any changes are posted will be deemed to constitute your agreement to and acceptance of such changes to this Privacy Policy.

\r\n

II. Data Collection

\r\n

You are not required to provide us your personal information. Alpha may collect information from you when you use our Website or services. For example, we may collect your name, address, telephone number, email address, and details about your vehicle. We may also collect information about your claims, as well as information that we receive from dealers, agents, or others who sell Alpha vehicle service contracts and information you provide on vehicle service applications or other forms.

\r\n

Alpha may use your information to determine your eligibility for certain products, process claims, and fulfill its duties under its vehicle service contracts. Alpha may also use your information to personalize and improve its services, communicate with you, and/or respond to your requests for information about Alpha products, services, offers, or promotions.

\r\n

Alpha restricts access to your information to authorized Alpha personnel. Additionally, we apply commercially reasonable security measures to protect your data from use by unauthorized people or for improper purposes.

\r\n

III. Collected Data

\r\n

Alpha uses standard internet data gathering tools (e.g. cookies), to collect information as users navigate zoom.alphawarranty.com (“Collected Data”). Types of Collected Data that Alpha might collect and how Alpha may use the Collected Data are listed below.

\r\n
Cookies
\r\n

Alpha uses cookies to simplify use of the Website. When a user visits the Website, Alpha’s servers send a cookie to the user’s computer. These standard cookies only recognize information such as a web browser. These cookies do not personally identify individual users. Unless you choose to identify yourself to Alpha, such as by responding to marketing material or filling out a form, you remain anonymous to us.

\r\n

There are two types of cookies: session and persistent. Session cookies are temporary. They only exist only during one session. They are automatically removed from your computer when you close your browser software or turn off your computer. Persistent cookies remain on your computer until you manually elect to remove them.

\r\n

If you have chosen to identify yourself to Alpha (such as by logging in with your credentials), we use session cookies containing encrypted information to allow us to uniquely identify you. Each time you log into the Website, a session cookie containing an encrypted, unique handle that is tied to your account is placed in your browser. These encrypted cookies allow us to uniquely identify you when you are logged into the Website and are used to facilitate your online submissions and requests. Session cookies are required to use the Website.

\r\n

Alpha uses persistent cookies that only we can read and use to identify browsers that have previously visited our Website. When you access the Website or provide Alpha with personal information, a unique handle is assigned to you, by which we can identify you. This unique handle is associated with a persistent cookie that Alpha places on your web browser. We are careful about the security and confidentiality of the information stored in persistent cookies. Passwords, account numbers, and other critical data are not stored in persistent cookies. If you disable your web browser’s ability to accept cookies, you will be able to navigate our Website, but you will not be able to successfully use the Website.

\r\n

Marketing Data

\r\n
Web Beacons
\r\n

Alpha uses web beacons, also known as pixel tags to collect data about users’ usage of the Website. Web beacons are clear electronic images that can recognize certain types of information on your computer, such as cookies, when you viewed a particular website tied to the web beacon, and a description of a website tied to the web beacon. For example, we may place web beacons in marketing emails that notify us when you click on a link in the email that directs you to an Alpha website. Alpha uses web beacons to operate and improve our website and email communications and to analyze the performance of our marketing campaigns. Alpha may use information from web beacons in combination with data about users to provide you with information about us.

\r\n
IP Addresses
\r\n

When you visit the Website, we collect your Internet Protocol (“IP”) addresses to track and collect non-personally identifiable information. IP address information may be used to understand from which regions users access the Website, among other non-personal uses.

\r\n
Third-Party Cookies
\r\n

Alpha periodically engages third-party service providers to track and analyze non-personally identifiable statistical usage and traffic information from Website visitors. We may also use other third-party cookies to track the performance of Alpha advertising. The information provided to such third parties does not include personal information, but this information may be re-associated with personal information after we receives it. This Privacy Policy does not cover the use of third-party cookies.

\r\n

IV. Sharing of Collected Data, Security, Tracking

\r\n

Alpha may disclose your information to authorized associates and partners where doing so would assist us in serving you better. For example, if you choose to file a claim via our Website, Alpha may disclose your contact information, vehicle information, and vehicle service contract information with a repair facility to assist your vehicle with repairs.

\r\n

Alpha does not share your information with nonaffiliated third parties unless Alpha believes it reasonably necessary to comply with the law or a court order or to protect the rights of Alpha, or our employees, customers or others.

\r\n

Alpha is committed to protecting the confidentiality of your information and online interactions with us. We maintain various safeguards designed to protect your personal information. We have security procedures in place to safeguard against loss, theft, unauthorized access, destruction, misuse, and modification of this information after we receive it. For example, Alpha restricts access to the information to our employees, agents, and contractors who need to know such information to provide products or services to you.

\r\n

Alpha does not process or respond to “do not track” signals or other similar mechanisms.

\r\n

The Website is intended for use people at least 18 years of age. If you are under the age of 18, you should not be visiting zoom.alphawarranty.com. We do not knowingly collect or retain personal information from children under the age of 13. If you are under the age of 13 and are visiting or otherwise using zoom.alphawarranty.com, you are expressly prohibited from using our services and are advised not to disclose or provide any personally identifiable information on zoom.alphawarranty.com.

\r\n

Additional information for CA residents concerning relevant CA law download here.

\r\n

V. Outside of United States, Data and Tracking

\r\n

If you reside outside the United States, you understand and agree that any information you provide to Alpha will be transferred from the country of your residence or location at the time it was provided to the United States. If you do not want your personally identifiable information to be transferred to the United States, do not provide that information to us. By providing us with your information, you consent to the transfer of your information to the United States. You understand that the privacy protection laws in place in the United States may differ from those of your country of residence or your location at time of access, and you agree that any data given to us will receive only the protections stated herein, or as required by U.S. law.

\r\n

VI. Contact Us

\r\n

Questions regarding this Privacy Policy or the information practices of our Website should be directed to us at (800) 662-5519.

\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { PrivacyPolicyComponent } from '../privacy-policy/privacy-policy.component';\r\nimport { SettingsService } from '../../shared/settings.service';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css'],\r\n})\r\nexport class FooterComponent {\r\n environment: any;\r\n logoPath: any;\r\n year = new Date().getFullYear();\r\n\r\n constructor(\r\n private router: Router,\r\n private dialog: MatDialog,\r\n private service: SettingsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.service.getUserLogo().subscribe({\r\n next: (res) => {\r\n if(res) {\r\n this.logoPath = environment.toolsEndpoint + res.FilePath;\r\n console.log('res', res);\r\n } else {\r\n this.logoPath = '../../assets/alpha-logo-white.png';\r\n }\r\n },\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n 1.800.662.5519\r\n
Copyright © {{ year }}
\r\n Rights Reserved by Alpha Warranty Services Inc.\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { DatePipe } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { DealerSubmission } from './quick-sign-v2.model';\r\nimport {\r\n Agreement,\r\n AgreementViewModel,\r\n AlphaProgram,\r\n Dealer,\r\n DealerAuthPrograms,\r\n FloridaCommissionOptions,\r\n FormType,\r\n GapProviders,\r\n ModifyDefaultCommissionModel,\r\n OtherMenuSystem,\r\n Overbill,\r\n OverbillResults,\r\n ProgramTerms,\r\n SimpleDealerProfile,\r\n WarrantyEligibilityType,\r\n} from './quick-sign.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuickSignService {\r\n private endPoint: string;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = environment.dealerSignupEndpoint + environment.version;\r\n }\r\n getDealers() {\r\n return this.httpClient.get(`${this.endPoint}dealer`);\r\n }\r\n\r\n getDealerProfile(id: any): Observable {\r\n return this.httpClient\r\n .get(`${this.endPoint}dealer/get-dealer-profile`, {\r\n params: {\r\n dealerProfileId: id,\r\n },\r\n })\r\n .pipe(map((r) => Object.assign(new SimpleDealerProfile(), r)));\r\n }\r\n\r\n createPcrsDealer(dealerProfileId: any, checkForDuplicates: boolean) {\r\n const params: any = {\r\n dealerProfileId: dealerProfileId,\r\n };\r\n if (checkForDuplicates !== undefined || checkForDuplicates !== null) {\r\n params.checkForDuplicates = checkForDuplicates;\r\n }\r\n\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/create-pcrs-dealer`,\r\n null,\r\n { params: params },\r\n );\r\n }\r\n\r\n completeDealerSignup(dealerProfileId: string, checkForDuplicates: boolean) {\r\n const params: any = {\r\n dealerProfileId: dealerProfileId,\r\n };\r\n if (checkForDuplicates !== undefined || checkForDuplicates !== null) {\r\n params.checkForDuplicates = checkForDuplicates;\r\n }\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/complete-signup`,\r\n null,\r\n { params: params }\r\n );\r\n }\r\n\r\n getDealerAgreementsForAcceptance(dealerProfileId: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/${dealerProfileId}/agreements-for-acceptance`,\r\n );\r\n }\r\n\r\n updateDealerClick(dealerProfileId: string) {\r\n return this.httpClient.put(`${this.endPoint}dealer/dealer-click`, {\r\n dealerProfileId: dealerProfileId,\r\n });\r\n }\r\n\r\n getDealerInformation(id: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/get-dealer-information`,\r\n { params: { dealerInformationId: id } },\r\n );\r\n }\r\n\r\n getDealerName(dealerNumber: any) {\r\n return this.httpClient.get(`${this.endPoint}dealer/name`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n getDealerState(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/dealer-selling-state`,\r\n {\r\n params: { dealerNumber },\r\n },\r\n );\r\n }\r\n\r\n getDealerPrograms(id: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${id}/dealer-programs`,\r\n );\r\n }\r\n\r\n getDefaultLender(dealerNumber: string) {\r\n return this.httpClient.get(`${this.endPoint}dealer/default-lender`, {\r\n params: { dealerNumber },\r\n });\r\n }\r\n\r\n updateDealerDefaultLender(dealerNumber: string, lenderNumber: string) {\r\n return this.httpClient.put(`${this.endPoint}dealer/default-lender`, {\r\n DealerNumber: dealerNumber,\r\n LenderNumber: lenderNumber,\r\n });\r\n }\r\n\r\n getDealerProgramsList(id: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${id}/get-dealer-programs`,\r\n );\r\n }\r\n\r\n getFormType(id: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-form-type`,\r\n {\r\n params: { formTypeId: id },\r\n },\r\n );\r\n }\r\n\r\n getWarrantyEligibilities(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-warranty-eligibilities`,\r\n );\r\n }\r\n\r\n getOverbill(overbillId: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-overbill`,\r\n {\r\n params: { overbillId },\r\n },\r\n );\r\n }\r\n\r\n getFloridaCommission(profileId: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/florida-commission`,\r\n { params: { dealerProfileId: profileId } },\r\n );\r\n }\r\n\r\n getAgreement(model: AgreementViewModel, endpoint: any): Observable {\r\n return this.httpClient.post(\r\n `${this.endPoint}agreements/${endpoint}`,\r\n model,\r\n {\r\n responseType: 'text' as 'json',\r\n },\r\n );\r\n }\r\n\r\n getOverbillAgreement(overbillId: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}agreements/overbill/${overbillId}`,\r\n { responseType: 'text' },\r\n );\r\n }\r\n\r\n createDealerInformation(model: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/create-dealer-information`,\r\n model,\r\n );\r\n }\r\n\r\n createAgreement(model: Agreement): Observable {\r\n const datePipe = new DatePipe('en-US');\r\n const data = new FormData();\r\n data.append('DealerProfileId', model.dealerProfileId);\r\n data.append(\r\n 'EffectiveDate',\r\n datePipe.transform(model.effectiveDate, 'short'),\r\n );\r\n data.append(\r\n 'AgreementDate',\r\n datePipe.transform(model.agreementDate, 'short'),\r\n );\r\n data.append('SignerFirstName', model.signerFirstName);\r\n data.append('SignerLastName', model.signerLastName);\r\n data.append('SignerTitle', model.signerTitle);\r\n data.append('SignedDate', datePipe.transform(model.signedDate, 'short'));\r\n data.append('File', model.file);\r\n\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/create-agreement`,\r\n data,\r\n );\r\n }\r\n\r\n createOverbill(model: Overbill): Observable {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/overbill`,\r\n model,\r\n );\r\n }\r\n\r\n createAgentCommissionCrmActivity(data: ModifyDefaultCommissionModel) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/default-commission`,\r\n data,\r\n );\r\n }\r\n\r\n getDealerSignupAgent(dealerProfileId: any) {\r\n return this.httpClient.get(`${this.endPoint}dealer/get-signup-agent`, {\r\n params: { dealerProfileId: dealerProfileId },\r\n });\r\n }\r\n\r\n sendDealerInformationEmail(\r\n id: any,\r\n crmNote: string | null = null,\r\n ): Observable {\r\n const data = new FormData();\r\n data.append('DealerProfileId', id);\r\n if (crmNote) {\r\n data.append('CrmNote', crmNote);\r\n }\r\n return this.httpClient.post(\r\n `${this.endPoint}email/send-dealer-information-email`,\r\n data,\r\n { params: { dealerProfileId: id } },\r\n );\r\n }\r\n\r\n sendDealerProfileEmail(postBody: any, initialSend?: boolean) {\r\n let params: any = {};\r\n if (initialSend) {\r\n params.initialSend = initialSend;\r\n }\r\n return this.httpClient.post(\r\n `${this.endPoint}email/send-dealer-profile-email`,\r\n postBody,\r\n { params: params },\r\n );\r\n }\r\n\r\n sendEditAgentAch(data: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}email/send-edit-agent-ach-email`,\r\n data,\r\n );\r\n }\r\n\r\n sendEditDealerEmail(model: Dealer): Observable {\r\n return this.httpClient.post(\r\n `${this.endPoint}email/send-edit-dealer-email`,\r\n model,\r\n );\r\n }\r\n\r\n addUsers(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/add-users`,\r\n payload,\r\n );\r\n }\r\n\r\n addSubAgents(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/add-sub-agents`,\r\n payload,\r\n );\r\n }\r\n initiateAgent() {\r\n return this.httpClient.get(`${this.endPoint}dealer/initiate-agent`);\r\n }\r\n\r\n getMenuSystemOptions() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/other-menu-systems`,\r\n );\r\n }\r\n\r\n updateDealerInfoInfo(data: any) {\r\n return this.httpClient.put(`${this.endPoint}dealer/information`, data);\r\n }\r\n\r\n updateDealerAdditionalInfo(data: any) {\r\n return this.httpClient.put(`${this.endPoint}dealer/additional-info`, data);\r\n }\r\n\r\n updateDealerMenuSystem(data: any) {\r\n return this.httpClient.put(`${this.endPoint}dealer/menu-system`, data);\r\n }\r\n\r\n updateDealerProfileFloridaCommission(profile: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer/florida-commission`,\r\n profile,\r\n );\r\n }\r\n\r\n getPrograms(includeExclusions: boolean = false): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-alpha-programs`,\r\n { params: { includeExclusions: includeExclusions.toString() } },\r\n );\r\n }\r\n\r\n getDealerProgramsForAdjustment(dealerNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/dealer-programs`,\r\n );\r\n }\r\n\r\n getGapPrograms(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-gap-programs`,\r\n );\r\n }\r\n\r\n getProgramTerms(id: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/program-terms`,\r\n { params: { alphaProgramId: id } },\r\n );\r\n }\r\n\r\n getGapTerms(id: any, dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/gap-program-terms`,\r\n { params: { coverageGroupId: id, dealerNumber } },\r\n );\r\n }\r\n\r\n getProgramTermsForAdjustment(id: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/program-terms`,\r\n { params: { coverageGroupId: id } },\r\n );\r\n }\r\n\r\n getProgramsTerms(id: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/programs-terms`,\r\n { params: { alphaProgramIds: id } },\r\n );\r\n }\r\n\r\n getForms(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-form-types`,\r\n );\r\n }\r\n\r\n getUsStates(): Observable {\r\n return this.httpClient.get('./assets/states_titlecase.json');\r\n }\r\n\r\n getGapProviders(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/get-gap-providers`,\r\n );\r\n }\r\n\r\n createDealerProfile(\r\n profile: SimpleDealerProfile,\r\n ): Observable {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/create-dealer-profile`,\r\n profile,\r\n );\r\n }\r\n\r\n getFloridaCommissionOptions(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/florida-commission-options`,\r\n );\r\n }\r\n\r\n getInitiateDealerProfile(profileId: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/initiate-dealer-profile`,\r\n { params: { dealerProfileId: profileId } },\r\n );\r\n }\r\n\r\n updateDealerProfileAgentCommission(profile: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}signup/agent-commissions`,\r\n profile,\r\n );\r\n }\r\n\r\n updateDealerProfileOverbillCommission(profile: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}signup/overbill-commissions`,\r\n profile,\r\n );\r\n }\r\n\r\n updateDealerProfile(profile: SimpleDealerProfile) {\r\n return this.httpClient.put(\r\n `${this.endPoint}signup/dealer-profile`,\r\n profile,\r\n );\r\n }\r\n\r\n dealerEdit(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/dealers/${dealerNumber}`,\r\n );\r\n }\r\n\r\n submitDealerEdit(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/update-dealer`,\r\n payload,\r\n );\r\n }\r\n\r\n submitDealerContactsEdit(payload: any, dealerNumber: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/update-dealer-contacts`,\r\n payload,\r\n { params: { dealerNumber } },\r\n );\r\n }\r\n\r\n submitEditOverbill(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/edit-overbill`,\r\n payload,\r\n );\r\n }\r\n\r\n submitEditProgram(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/edit-program`,\r\n payload,\r\n );\r\n }\r\n\r\n submitPartnerFinancing(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/partner-financing`,\r\n payload,\r\n );\r\n }\r\n\r\n submitNoChargeback(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/no-chargeback`,\r\n payload,\r\n );\r\n }\r\n\r\n getAdjustmentAgreement(adjustmentId: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/agreement/${adjustmentId}`,\r\n );\r\n }\r\n\r\n getAgentContactInfo() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/agent/contact-details`,\r\n );\r\n }\r\n\r\n getAgentSubAgents() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/agent/sub-agents`,\r\n );\r\n }\r\n\r\n updateAgentContactInfo(putObj: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer-adjustments/agent/contact-details`,\r\n putObj,\r\n );\r\n }\r\n\r\n updateAdjustmentAgreement(adjustmentId: string, postObj: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/agreement?adjustmentId=${adjustmentId}`,\r\n postObj,\r\n );\r\n }\r\n\r\n sendAdjustmentAgreementEmail(adjustmentId: string) {\r\n return this.httpClient.post(\r\n `${this.endPoint}email/send-adjustment-agreement-email?adjustmentId=${adjustmentId}`,\r\n { params: { adjustmentId } },\r\n );\r\n }\r\n\r\n submitActivateAlternateMenu(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/agent/dealer-alternate-menu`,\r\n payload,\r\n );\r\n }\r\n\r\n agreementSignature(id: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/agreement-signature`,\r\n {\r\n params: {\r\n agreementId: id,\r\n },\r\n },\r\n );\r\n }\r\n\r\n submitAgreementSignature(id: string, payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/agreement-signature`,\r\n payload,\r\n {\r\n params: {\r\n agreementId: id,\r\n },\r\n },\r\n );\r\n }\r\n\r\n loadTemplate(name: string, dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${environment.dealerSignupEndpoint}preview/agreements/${name}`,\r\n {\r\n responseType: 'text' as 'json',\r\n params: {\r\n dealerNumber,\r\n },\r\n },\r\n );\r\n }\r\n\r\n getStatus(params: any) {\r\n return this.httpClient.get(`${this.endPoint}signup/status`, {\r\n params: params,\r\n });\r\n }\r\n\r\n deleteProfile(dealerProfileId: string) {\r\n return this.httpClient.post(\r\n `${this.endPoint}signup/delete-profile?dealerProfileId=${dealerProfileId}`,\r\n { params: { dealerProfileId } },\r\n );\r\n }\r\n\r\n updateSignature(data: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer/update-signature`,\r\n data,\r\n );\r\n }\r\n\r\n getSignature(dealerProfileId: string) {\r\n return this.httpClient.get(`${this.endPoint}dealer/get-signature`, {\r\n params: { dealerProfileId },\r\n });\r\n }\r\n\r\n updateDealerPrograms(postObj: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/dealer-programs`,\r\n postObj,\r\n );\r\n }\r\n\r\n modifyAgentDefaultReserves(data: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/agent/modify-default-reserves`,\r\n data,\r\n );\r\n }\r\n\r\n getAgentDefaultReserves(agentNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/agent/get-current-default-reserves`,\r\n { params: { agentNumber } },\r\n );\r\n }\r\n\r\n getDealerContactPositions() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/dealer-contact-positions`,\r\n );\r\n }\r\n\r\n addPolly(data: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/polly`,\r\n data,\r\n );\r\n }\r\n\r\n initializeDealerRetro(postObj: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/retro`,\r\n postObj,\r\n );\r\n }\r\n\r\n getRetroById(retroId: number, includeAgreement: boolean) {\r\n let params: any = {\r\n includeAgreement,\r\n };\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/retro/${retroId}`,\r\n { params },\r\n );\r\n }\r\n\r\n updateRetro(retroId: number, postBody: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer-adjustments/retro/${retroId}`,\r\n postBody,\r\n );\r\n }\r\n\r\n completeRetro(retroId: number, postBody: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer-adjustments/retro/${retroId}/complete`,\r\n postBody,\r\n );\r\n }\r\n\r\n getDealerRetro(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/retro`,\r\n );\r\n }\r\n\r\n getMyAdjustments(params: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/my-submissions`,\r\n { params },\r\n );\r\n }\r\n\r\n deleteMyAdjustment(mySubmissionId: number) {\r\n return this.httpClient.delete(\r\n `${this.endPoint}dealer-adjustments/my-submissions/${mySubmissionId}`,\r\n );\r\n }\r\n\r\n resendMySubmission(postBody: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dealer-adjustments/my-submissions/resend`,\r\n postBody,\r\n );\r\n }\r\n\r\n getMySubmissionTypes(): any {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/my-submissions/types`,\r\n );\r\n }\r\n\r\n getServicePlusOptions(): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}signup/service-plus-options`,\r\n );\r\n }\r\n\r\n submitServicePlus(postBody: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer-adjustments/service-plus`,\r\n postBody,\r\n );\r\n }\r\n\r\n updateDealerServicePlusHistory(id, postBody) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer-adjustments/service-plus-history/${id}`,\r\n postBody\r\n );\r\n }\r\n\r\n deleteDealerServicePlusHistory(id: any) {\r\n return this.httpClient.delete(\r\n `${this.endPoint}dealer-adjustments/service-plus-history/${id}`\r\n );\r\n }\r\n\r\n dealerAssignment(dealerProfileId: any, dealerNumber: any) {\r\n return this.httpClient.put(\r\n `${this.endPoint}dealer/${dealerProfileId}/number/${dealerNumber}`,\r\n null,\r\n );\r\n }\r\n\r\n getDealerServicePlus(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/service-plus`,\r\n );\r\n }\r\n\r\n getDealerServicePlusHistory(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/service-plus-history`,\r\n );\r\n }\r\n\r\n getHasDealerRetroOrReinsurance(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/has-retro-or-reinsurance`,\r\n );\r\n }\r\n\r\n getDealerHasReinsurance(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/has-reinsurance`\r\n );\r\n }\r\n\r\n getRateProfileBreakdown(dealerNumber: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/${dealerNumber}/rate-profile-breakdown`\r\n );\r\n }\r\n\r\n //#region V2\r\n v2_getPrograms(showHidden: boolean = false) {\r\n return this.httpClient.get(`${this.endPoint}programs`, {\r\n params: { showHidden: showHidden.toString() },\r\n });\r\n }\r\n v2_getGapPrograms() {\r\n return this.httpClient.get(`${this.endPoint}programs/gap`);\r\n }\r\n v2_getDealerSubmission(dealerSubmissionId: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/${dealerSubmissionId}`\r\n );\r\n }\r\n v2_updateDealerSubmission(payload: any) {\r\n return this.httpClient.post(`${this.endPoint}dealerSubmissions`, payload);\r\n }\r\n v2_getSetupTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/types`\r\n );\r\n }\r\n v2_getUserTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/userTypes`\r\n );\r\n }\r\n v2_getDealerTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/dealerTypes`\r\n );\r\n }\r\n v2_getContactTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/contactTypes`\r\n );\r\n }\r\n v2_getFinancingOptions() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/financingOptions`\r\n );\r\n }\r\n v2_getServicePlusOptions() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealerSubmissions/servicePlusOptions`\r\n );\r\n }\r\n v2_getAgreementsByPrograms(body: any) {\r\n return this.httpClient.post(`${this.endPoint}v2/agreements`, body);\r\n }\r\n v2_getAgencyAgreements(body: any) {\r\n return this.httpClient.post(`${this.endPoint}v2/agreements/agency`, body);\r\n }\r\n //#endregion V2\r\n\r\n getAgencyCommissionTerms() {\r\n return this.httpClient.get(\r\n `${this.endPoint}agency-submissions/commission-terms`\r\n );\r\n }\r\n\r\n v2_agencySignupSubmission(payload: any) {\r\n return this.httpClient.post(`${this.endPoint}agency-submissions`, payload);\r\n }\r\n\r\n v2_agencySignupSave(payload: any) {\r\n return this.httpClient.put(`${this.endPoint}agency-submissions`, payload);\r\n }\r\n\r\n v2_agencySignupLoad(id: any) {\r\n return this.httpClient.get(`${this.endPoint}agency-submissions/${id}`);\r\n }\r\n\r\n v2_getPaymentMethodTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}agency-submissions/payment-method-types`\r\n );\r\n }\r\n\r\n v2_getTaxClassifications() {\r\n return this.httpClient.get(\r\n `${this.endPoint}agency-submissions/tax-classifications`\r\n );\r\n }\r\n\r\n v2_getLlcClassifications() {\r\n return this.httpClient.get(\r\n `${this.endPoint}agency-submissions/llc-classifications`\r\n );\r\n }\r\n\r\n v2_initiateAgencySignup(payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}agency-submissions/initiate`,\r\n payload\r\n );\r\n }\r\n\r\n v2_getDealerUsers(dealerNumbers: string[]) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/dealer-users`,\r\n { params: { dealerNumbers } }\r\n );\r\n }\r\n\r\n v2_getDealerNoChargebacks(dealerNumbers: string[]) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/dealer-no-chargeback`,\r\n { params: { dealerNumbers } }\r\n );\r\n }\r\n\r\n v2_getDealerThirdPartyFinancing(dealerNumbers: string[]) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer-adjustments/third-party-financing`,\r\n { params: { dealerNumbers } }\r\n );\r\n }\r\n\r\n v2_deactivateUser() {}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UsersService {\r\n endpoint: string = null;\r\n private userEndpoint: string = null;\r\n private toolsEndpoint: string =\r\n environment.toolsEndpoint + environment.version;\r\n\r\n constructor(private http: HttpClient) {\r\n this.endpoint = `${environment.zoomEndpoint}api/users`;\r\n this.userEndpoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n users(page: number, pageSize: number, username?: string) {\r\n const query = this.createQueryParams({ page, pageSize, username });\r\n return this.http.get(this.endpoint, { params: query });\r\n }\r\n\r\n getUsersWithFilters(filters: any): Observable {\r\n return this.http.get(this.endpoint, { params: filters });\r\n }\r\n\r\n userSummary(page: any, pageSize: any, dealerNumber: any) {\r\n const query = {\r\n page,\r\n pageSize,\r\n } as any;\r\n if (dealerNumber) {\r\n query.dealerNumber = dealerNumber;\r\n }\r\n return this.http.get(`${this.endpoint}/user-summary`, {\r\n params: query,\r\n });\r\n }\r\n\r\n addUser(postObj: any, ccEmails: string[] = []) {\r\n return this.http.post(`${this.endpoint}`, postObj, {\r\n params: { ccEmails },\r\n responseType: 'text' as 'json',\r\n });\r\n }\r\n\r\n user(userId: any) {\r\n return this.http.get(`${this.endpoint}/${userId}`);\r\n }\r\n\r\n updateUser(userId: any, payload: any) {\r\n return this.http.put(`${this.endpoint}/${userId}`, payload);\r\n }\r\n\r\n userScs(userId: any) {\r\n return this.http.get(`${this.endpoint}/${userId}/scs`);\r\n }\r\n\r\n updateUserScs(userId: any, payload: any) {\r\n return this.http.put(`${this.endpoint}/${userId}/scs`, payload);\r\n }\r\n\r\n userPermissions(userId: any) {\r\n return this.http.get(`${this.endpoint}/${userId}/permissions`);\r\n }\r\n\r\n updateUserPermissions(userId: any, payload: any) {\r\n return this.http.put(`${this.endpoint}/${userId}/permissions`, payload);\r\n }\r\n\r\n getUserLastDealerNumber(userId: any) {\r\n return this.http.get(`${this.endpoint}/${userId}/last-scs-number`);\r\n }\r\n\r\n updateUserLastDealerNumber(userId: any, dealerNumber: any) {\r\n return this.http.put(\r\n `${this.endpoint}/${userId}/last-dealer-number`,\r\n {},\r\n { params: { dealerNumber } }\r\n );\r\n }\r\n\r\n notificationEmail(userId: any, payload: any) {\r\n return this.http.post(\r\n `${this.endpoint}/${userId}/notification-email`,\r\n payload\r\n );\r\n }\r\n\r\n getNewUserWelcomeEmailCC(dealerNumber: any) {\r\n return this.http.get(\r\n `${this.userEndpoint}users/user-welcome-email-cc`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getNewDealerWelcomeEmailCC(agentNumber: any) {\r\n return this.http.get(\r\n `${this.userEndpoint}users/dealer-welcome-email-cc`,\r\n {\r\n params: { agentNumber },\r\n }\r\n );\r\n }\r\n\r\n getEmailCcSettings(agentNumber: string) {\r\n return this.http.get(`${this.userEndpoint}users/email-cc-settings`, {\r\n params: { agentNumber },\r\n });\r\n }\r\n\r\n postEmailCcSetting(postBody) {\r\n return this.http.post(\r\n `${this.userEndpoint}users/email-cc-settings`,\r\n postBody\r\n );\r\n }\r\n\r\n deleteEmailCcSetting(id) {\r\n return this.http.delete(\r\n `${this.userEndpoint}users/email-cc-settings`,\r\n {\r\n params: { id },\r\n }\r\n );\r\n }\r\n\r\n getRetroGroupByUserId(userId: string) {\r\n return this.http.get(`${this.endpoint}/retro-group`, {\r\n params: { userId },\r\n });\r\n }\r\n\r\n getRetroGroupByUserName(userName: string) {\r\n return this.http.get(`${this.endpoint}/retro-group`, {\r\n params: { userName },\r\n });\r\n }\r\n\r\n getReinsuranceCompanyId(userId: string) {\r\n return this.http.get(\r\n `${this.endpoint}/${userId}/reinsurance-companies`\r\n );\r\n }\r\n\r\n getRetroGroupId(userId: string) {\r\n return this.http.get(`${this.endpoint}/${userId}/retro-groups`);\r\n }\r\n\r\n getUserViewReinsuranceCompanies(userId: string) {\r\n return this.http.get(\r\n `${this.endpoint}/${userId}/reinsurance-view-companies`\r\n );\r\n }\r\n\r\n private createQueryParams(params: { [key: string]: any }): {\r\n [key: string]: any;\r\n } {\r\n return Object.entries(params).reduce((acc, [key, value]) => {\r\n if (value != null) {\r\n // This will check for undefined and null but not for empty string\r\n acc[key] = value;\r\n }\r\n return acc;\r\n }, {});\r\n }\r\n\r\n isAlphaOrAlpineToolsEndpoint() {\r\n return this.http.get(\r\n `${this.toolsEndpoint}settings/is-alpha-or-alpine`\r\n );\r\n }\r\n\r\n unlockLockedUser(userId: string) {\r\n return this.http.put(\r\n `${this.endpoint}/unlock-user`,\r\n JSON.stringify(userId),\r\n {\r\n headers: { 'Content-Type': 'application/json' },\r\n }\r\n );\r\n }\r\n\r\n isUserLockedOut(userId: string) {\r\n return this.http.put(\r\n `${this.endpoint}/is-user-locked`,\r\n JSON.stringify(userId),\r\n {\r\n headers: { 'Content-Type': 'application/json' },\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface PagedResult {\r\n page: number;\r\n pageSize: number;\r\n length: number;\r\n pageCount: number;\r\n pagedResults: any[];\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-dealer-filtered-multi-select',\r\n templateUrl: './dealer-filtered-multi-select.component.html',\r\n styleUrls: ['./dealer-filtered-multi-select.component.css']\r\n})\r\nexport class DealerFilteredMultiSelectComponent implements OnInit {\r\n\r\n @ViewChild('dealerSearch') searchTextBox: ElementRef;\r\n\r\n @Input()\r\n dealers: FormControl;\r\n @Input()\r\n selectedDealers: FormControl; \r\n\r\n searchTextboxControl = new FormControl();\r\n selectedValues = [];\r\n data = []\r\n filteredOptions: Observable;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.data = [];\r\n if (this.dealers.value)\r\n this.data = this.dealers.value;\r\n\r\n this.dealers.valueChanges.subscribe({\r\n next: (res) => {\r\n if (res) {\r\n this.data = res;\r\n this.filteredOptions = this._filter('');\r\n }\r\n }\r\n })\r\n\r\n this.selectedDealers.valueChanges.subscribe({\r\n next: (res) => {\r\n if (res) {\r\n this.filteredOptions = this._filter('');\r\n }\r\n }\r\n });\r\n\r\n this.searchTextboxControl.valueChanges.subscribe(val => {\r\n this.filteredOptions = this._filter(val);\r\n });\r\n }\r\n\r\n private _filter(name: string): Observable {\r\n\r\n if (name === '') {\r\n return of(this.data);\r\n }\r\n\r\n const filterValue = name.toLowerCase();\r\n this.setSelectedValues();\r\n let filteredList = this.data.filter(option => option.dealerName.toLowerCase().includes(filterValue) || option.dealerName.toLowerCase().includes(filterValue));\r\n return of(filteredList);\r\n }\r\n\r\n selectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedValues.indexOf(event.source.value);\r\n this.selectedValues.splice(index, 1)\r\n }\r\n }\r\n\r\n openedChange(e) {\r\n if (e == true) {\r\n this.searchTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearSearch(event) {\r\n event.stopPropagation();\r\n this.searchTextboxControl.patchValue('');\r\n }\r\n\r\n setSelectedValues() {\r\n if (this.selectedDealers.value && this.selectedDealers.value.length > 0) {\r\n this.selectedDealers.value.forEach((val) => {\r\n if (this.selectedValues.indexOf(val) == -1) {\r\n this.selectedValues.push(val);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","\r\n Dealers\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{ option.dealerNumber != '' ? option.dealerNumber + \" - \" + option.dealerName : option.dealerName }}\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport {\r\n ActivatedRoute,\r\n NavigationCancel,\r\n NavigationEnd,\r\n NavigationError,\r\n NavigationStart,\r\n Router,\r\n} from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { SettingsService } from '../../shared/settings.service';\r\nimport { UsersService } from '../../shared/users.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { NotificationService } from '../../shared/notification.service';\r\nimport { PrincipalService } from '../../shared/principal.service';\r\nimport { QueryManagerService } from '../../shared/query-manager.service';\r\nimport { NotificationDialogComponent } from '../notification-dialog/notification-dialog.component';\r\nimport { CmsService } from '../../shared/cms.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { CilajetDialogComponent } from 'src/cilajet-dialog/cilajet-dialog.component';\r\nimport { FeatureFlagService } from 'src/shared/feature-flag.service';\r\n\r\ndeclare let olark: Function;\r\n\r\n@Component({\r\n selector: 'app-nav',\r\n templateUrl: './nav.component.html',\r\n styleUrls: ['./nav.component.css'],\r\n})\r\nexport class NavComponent implements OnInit {\r\n title = 'app';\r\n loading = false;\r\n loadingSubject$ = new Subject();\r\n loadingEvent$ = this.loadingSubject$.asObservable().pipe(debounceTime(250));\r\n notifications: any[];\r\n notificationBadgeCount: number | null;\r\n isProduction = environment.production;\r\n cmsNotifications: any;\r\n firstLoad: boolean = true;\r\n\r\n hideBottomMarginRoutes = ['/quicksign/new/*/dealer-information/*'];\r\n\r\n constructor(\r\n public principal: PrincipalService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private notificationService: NotificationService,\r\n private dialog: MatDialog,\r\n private cmsService: CmsService,\r\n private snackBar: MatSnackBar,\r\n public featureFlagService: FeatureFlagService\r\n ) {\r\n principal.authenticated().subscribe({\r\n next: (value) => {\r\n if (!value) {\r\n this.router.navigate(['/login']);\r\n }\r\n },\r\n });\r\n\r\n this.router.events.subscribe({\r\n next: (event) => {\r\n switch (true) {\r\n case event instanceof NavigationStart: {\r\n this.loadingSubject$.next(true);\r\n break;\r\n }\r\n\r\n case event instanceof NavigationEnd:\r\n case event instanceof NavigationCancel:\r\n case event instanceof NavigationError: {\r\n this.loadingSubject$.next(false);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n },\r\n });\r\n }\r\n\r\n get notReadyForLive() {\r\n return !environment.production;\r\n }\r\n\r\n get token() {\r\n return btoa(this.principal.id);\r\n }\r\n\r\n ngOnInit() {\r\n this.getCmsNotifications();\r\n this.getNotifications();\r\n }\r\n\r\n getCmsNotifications() {\r\n this.cmsService.getNotifications().subscribe({\r\n next: (res) => {\r\n this.cmsNotifications = res.data.zoomNotifications;\r\n },\r\n });\r\n }\r\n\r\n getNotificationTitle(cmsNotificationId: string) {\r\n if (!this.cmsNotifications) {\r\n return '';\r\n }\r\n return this.cmsNotifications\r\n .filter((x) => x.contentItemId == cmsNotificationId)\r\n .map((x) => x.displayText)[0];\r\n }\r\n\r\n getNotifications() {\r\n this.notificationService.getUserNotification(this.principal.id).subscribe({\r\n next: (res) => {\r\n this.notifications = res;\r\n let unopened = res.filter((x) => x.dateOpened == null);\r\n let popUpArray = res.filter((x) => x.makePopUp);\r\n this.notificationBadgeCount =\r\n unopened.length > 0 ? unopened.length : null;\r\n this.triggerPopUpNotifications(popUpArray);\r\n if (this.firstLoad) {\r\n this.triggerSnackbarNotifications(\r\n unopened.filter((x) => !x.makePopUp),\r\n );\r\n this.firstLoad = false;\r\n }\r\n },\r\n });\r\n }\r\n\r\n triggerSnackbarNotifications(unopened: any[]) {\r\n unopened.forEach((notification, index) => {\r\n setTimeout(() => {\r\n this.openNotificationSnack(\r\n this.getNotificationTitle(notification.cmsNotificationId),\r\n );\r\n }, index * 5500);\r\n });\r\n }\r\n\r\n openNotificationSnack(\r\n message: string,\r\n action: string = 'close',\r\n duration: number = 5000,\r\n ) {\r\n this.snackBar.open(message, action, {\r\n horizontalPosition: 'right',\r\n verticalPosition: 'top',\r\n duration: duration,\r\n });\r\n }\r\n\r\n triggerPopUpNotifications(popUpArray: any[]) {\r\n popUpArray.forEach((x) => {\r\n if (!x.dateOpened) {\r\n this.openNotificationDialog(x);\r\n }\r\n });\r\n }\r\n\r\n openNotificationDialog(notification: any) {\r\n this.dialog\r\n .open(NotificationDialogComponent, {\r\n data: notification,\r\n minWidth: 400,\r\n })\r\n .afterClosed()\r\n .subscribe({\r\n next: (val) => {\r\n this.getNotifications();\r\n },\r\n });\r\n }\r\n\r\n openCilajetOrderFormDialog() {\r\n this.dialog.open(CilajetDialogComponent, {\r\n width: '900px',\r\n autoFocus: false,\r\n });\r\n }\r\n\r\n logoff() {\r\n this.principal.clear();\r\n }\r\n\r\n routeHome() {\r\n let home = '/contract/rate';\r\n let activatedRoute = this.route.snapshot['_routerState'].url.toString();\r\n if (activatedRoute.includes(home)) {\r\n location.reload();\r\n } else {\r\n this.router.navigate([home]);\r\n }\r\n }\r\n\r\n getDealFiAgentReportUrl() {\r\n const token = btoa(this.principal.id);\r\n return `${environment.dealFiUrl}login?token=${token}&redirectUrl=reports/agent`;\r\n }\r\n\r\n get showBottomMargin(): boolean {\r\n return !this.hideBottomMarginRoutes.some((route) => {\r\n let routeParts = route.split('/');\r\n let urlParts = this.router.url.split('/');\r\n if (routeParts.length != urlParts.length) {\r\n return false;\r\n }\r\n for (let i = 0; i < routeParts.length; i++) {\r\n if (routeParts[i] != '*' && routeParts[i] != urlParts[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n menu\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n Impersonating {{ principal.actorUserName }}\r\n
\r\n
\r\n\r\n
\r\n \r\n {{ principal.firstName }} {{ principal.lastName }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n contracts\r\n arrow_drop_down\r\n \r\n\r\n \r\n dealer tools\r\n arrow_drop_down\r\n \r\n \r\n \r\n remittance\r\n \r\n\r\n \r\n \r\n Remittance\r\n \r\n \r\n Paid Invoices\r\n \r\n \r\n APC Remittance\r\n \r\n \r\n APC Paid Invoices\r\n \r\n \r\n \r\n reporting\r\n \r\n \r\n \r\n Sales Overview\r\n \r\n \r\n Product Sales\r\n \r\n \r\n VSC Sales Comparison\r\n \r\n \r\n Claims Paid\r\n \r\n \r\n User Summary\r\n \r\n \r\n \r\n dealer settings\r\n \r\n \r\n \r\n user summary\r\n \r\n \r\n enhanced features\r\n \r\n \r\n markup\r\n \r\n \r\n sale authority\r\n \r\n \r\n ach information\r\n \r\n \r\n F&I Manager/Sales Associates\r\n \r\n \r\n \r\n Reinsurance Dashboard\r\n \r\n \r\n Retro Dashboard\r\n \r\n \r\n Forms\r\n \r\n \r\n Cilajet Order Form\r\n \r\n \r\n Faq's\r\n \r\n \r\n Videos\r\n \r\n \r\n \r\n agent tools\r\n arrow_drop_down\r\n \r\n \r\n Merchandise Portal\r\n \r\n\r\n \r\n quicktrack\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n MENU\r\n \r\n \r\n person\r\n \r\n
\r\n \r\n \r\n my profile\r\n \r\n \r\n Site Admin/Internal\r\n \r\n \r\n \r\n Internal Cancellation\r\n \r\n \r\n Impersonate\r\n \r\n \r\n users\r\n \r\n \r\n add user\r\n \r\n \r\n zoom roles\r\n \r\n \r\n email settings\r\n \r\n \r\n enhanced features\r\n \r\n \r\n Pending Material Orders\r\n \r\n \r\n Marketing Materials Shipping Report\r\n \r\n\r\n \r\n QuickSend\r\n \r\n\r\n \r\n quicksync\r\n \r\n \r\n QuickReinstate\r\n \r\n \r\n tooltips\r\n \r\n \r\n quicksign dealer assignment\r\n \r\n \r\n Third Party Financing\r\n \r\n \r\n service plus\r\n \r\n \r\n driveeasy\r\n \r\n\r\n \r\n TCA Conversion\r\n \r\n \r\n Pending Dealer Attrition\r\n \r\n \r\n Call Center\r\n \r\n \r\n \r\n LogOut\r\n \r\n \r\n \r\n notifications\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{ getNotificationTitle(notification.cmsNotificationId) }}\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n Contract Search\r\n \r\n New Quote \r\n\r\n \r\n Saved Quotes\r\n \r\n\r\n\r\n\r\n \r\n Sales Overview\r\n \r\n \r\n Product Sales\r\n \r\n \r\n VSC Sales Comparison\r\n \r\n \r\n User Summary\r\n \r\n \r\n Claims Paid\r\n \r\n\r\n\r\n\r\n \r\n \"quicksign\"\r\n \r\n Agent dashboard\r\n \r\n DealFi Dashboard\r\n \r\n \r\n rate card generator\r\n \r\n \r\n order marketing materials\r\n \r\n \r\n Cilajet Order Form\r\n \r\n \r\n Retro Dashboard\r\n \r\n \r\n agent remittance\r\n \r\n \r\n Faq's\r\n \r\n \r\n Videos\r\n \r\n \r\n agent claim alerts\r\n \r\n \r\n business review (beta)\r\n \r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageViewService {\r\n private endPoint: string;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = `${environment.zoomEndpoint}api/page-views`;\r\n }\r\n\r\n logView(userId: any, route: any) {\r\n const date = new Date();\r\n return this.httpClient.post(`${this.endPoint}/log`, {\r\n userId: userId,\r\n route: route,\r\n timeStamp: date.toJSON(),\r\n });\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { PrincipalService } from './principal.service';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthorizedGuard implements CanActivate {\r\n constructor(private principal: PrincipalService, private router: Router) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot) {\r\n // check to see if you authenticated\r\n // with is the permission of being authorized -- maybe rename to AuthenticatedGuard?\r\n // NOTE: here is where we CAN do redirect based on expecting you to be logged in\r\n // canActivate will just prevent redirection with NO errors\r\n if (!this.principal.isAuthenticated) {\r\n if (!environment.production) {\r\n // adding a debug console warning for dev\r\n console.warn('Not Authenticated');\r\n }\r\n // redirect to login page\r\n return this.router.navigate(['/login']);\r\n }\r\n return true;\r\n }\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml, SafeResourceUrl, SafeScript, SafeStyle, SafeUrl } from \"@angular/platform-browser\";\r\n\r\n@Pipe({ name: 'safe' })\r\nexport class SafePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) { }\r\n public transform(value: any, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);\r\n case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);\r\n case 'script': return this.sanitizer.bypassSecurityTrustScript(value);\r\n case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);\r\n case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);\r\n default: throw new Error(`Invalid safe type specified: ${type}`);\r\n }\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { ScsDetail, UserService } from '../user.service';\r\n\r\n@Component({\r\n selector: 'zoom-scs-agent-select',\r\n templateUrl: './agent-select.component.html',\r\n styleUrls: ['./agent-select.component.css'],\r\n})\r\nexport class AgentSelectComponent implements OnInit, AfterViewInit {\r\n filteredAgents: Observable;\r\n filterInput = new FormControl(null);\r\n\r\n @Input('required')\r\n controlRequired = false;\r\n\r\n @Input('label')\r\n formLabel = 'Agent';\r\n\r\n @Input('bindFormControl')\r\n formControl = new FormControl();\r\n\r\n @Input('showClearButton')\r\n showClearButton: boolean = false;\r\n\r\n @Output()\r\n optionSelectEvent = new EventEmitter();\r\n\r\n initialLoad: boolean = true;\r\n constructor(private user: UserService, private principal: PrincipalService) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.filterInput.patchValue('');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.filteredAgents = this.filterInput.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail | null) => {\r\n if (this.initialLoad) {\r\n this.initialLoad = false;\r\n return this.user.agentScsAccessFilter('');\r\n }\r\n if (value && (value as string).length > 2) {\r\n return this.user.agentScsAccessFilter(value as string);\r\n }\r\n return EMPTY;\r\n }),\r\n );\r\n\r\n const existing = this.formControl.value;\r\n if (existing && this.principal.hasUserViewAccess(['MGA', 'Site Admin'])) {\r\n this.user.preloadAgentScsAccessFilter(existing).subscribe({\r\n next: (result) => {\r\n this.filterInput.setValue(result);\r\n },\r\n });\r\n }\r\n }\r\n\r\n displayWith(value: ScsDetail | string): string {\r\n if (value && (value as ScsDetail).scsNumber) {\r\n const detail = value as ScsDetail;\r\n return `${detail.name} - ${detail.scsNumber}`;\r\n }\r\n return value as string;\r\n }\r\n\r\n optionSelected() {\r\n this.formControl.setValue(this.filterInput.value.scsNumber);\r\n this.optionSelectEvent.emit(this.filterInput.value.scsNumber);\r\n }\r\n\r\n clearText() {\r\n this.formControl.setValue(null);\r\n this.filterInput.patchValue(null);\r\n }\r\n\r\n get inputIsClear(): boolean {\r\n return this.formControl.value == null || this.formControl.value == '';\r\n }\r\n}\r\n","\r\n {{ formLabel }}\r\n \r\n close\r\n \r\n \r\n {{ opt.scsNumber }} - {{ opt.name }}\r\n \r\n \r\n\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Observable, of } from 'rxjs';\r\nimport { DashboardService } from '../dashboard.service';\r\nimport { PrincipalService } from '../principal.service';\r\n\r\n@Component({\r\n selector: 'app-dealer-multi-select',\r\n templateUrl: './dealer-multi-select.component.html',\r\n styleUrls: ['./dealer-multi-select.component.css']\r\n})\r\nexport class DealerMultiSelectComponent implements OnInit {\r\n @ViewChild('dealerSearch') searchTextBox: ElementRef;\r\n\r\n @Input()\r\n selectFormControl: FormControl;\r\n @Input()\r\n agentNumber: FormControl;\r\n\r\n searchTextboxControl = new FormControl();\r\n selectedValues = [];\r\n data = []\r\n\r\n filteredOptions: Observable;\r\n constructor(\r\n private dashboard: DashboardService,\r\n private principal: PrincipalService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.dashboard.filtersDealersByScsNumber(this.agentNumber.value ?? '').subscribe({\r\n next: (res) => {\r\n this.data = res;\r\n this.filteredOptions = this._filter('');\r\n }\r\n });\r\n \r\n this.agentNumber.valueChanges.subscribe({\r\n next: (val) => {\r\n if (val) {\r\n this.dashboard.filtersDealersByScsNumber(val).subscribe({\r\n next: (res) => {\r\n this.data = [];\r\n this.data = res;\r\n this.filteredOptions = this._filter('');\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.searchTextboxControl.valueChanges.subscribe(val => {\r\n this.filteredOptions = this._filter(val);\r\n });\r\n }\r\n\r\n private _filter(name: string): Observable {\r\n if (name === '') { \r\n return of(this.data);\r\n }\r\n\r\n const filterValue = name.toLowerCase();\r\n this.setSelectedValues();\r\n let filteredList = this.data.filter(option => option.dealerName.toLowerCase().includes(filterValue) || option.dealerNumber.toLowerCase().includes(filterValue));\r\n return of(filteredList);\r\n }\r\n\r\n selectionChange(event) {\r\n if (event.isUserInput && event.source.selected == false) {\r\n let index = this.selectedValues.indexOf(event.source.value);\r\n this.selectedValues.splice(index, 1)\r\n }\r\n }\r\n\r\n openedChange(e) {\r\n if (e == true) {\r\n this.searchTextBox.nativeElement.focus();\r\n }\r\n }\r\n\r\n clearSearch(event) {\r\n event.stopPropagation();\r\n this.searchTextboxControl.patchValue('');\r\n }\r\n\r\n setSelectedValues() {\r\n if (this.selectFormControl.value && this.selectFormControl.value.length > 0) {\r\n this.selectFormControl.value.forEach((val) => {\r\n if (this.selectedValues.indexOf(val) == -1) {\r\n this.selectedValues.push(val);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","\r\n Dealers\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
No results found!
\r\n
\r\n \r\n {{ option.dealerNumber }} - {{option.dealerName}}\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.css']\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n 404: Not Found\r\n

","import { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\r\nimport { DashboardService } from '../dashboard.service';\r\n\r\n@Component({\r\n selector: 'app-dealer-filtered-chip-select',\r\n templateUrl: './dealer-filtered-chip-select.component.html',\r\n styleUrls: ['./dealer-filtered-chip-select.component.css'],\r\n})\r\nexport class DealerFilteredChipSelectComponent implements OnInit {\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n accessFilter: Observable;\r\n inputFilter = new FormControl();\r\n dealers: { dealerNumber: string; dealerName: string }[] = [];\r\n limit = 8192;\r\n\r\n @Input('bindFormControl')\r\n formControl = new FormControl();\r\n\r\n @Input('required')\r\n required = false;\r\n\r\n @Input('label')\r\n label: string = 'Dealer';\r\n\r\n @Input('dealersLoaded')\r\n dealersLoaded: boolean = true;\r\n\r\n @Input('selectedDealers')\r\n selectedDealers: [] = [];\r\n\r\n @Input('dealerList')\r\n dealerList: { dealerNumber: string; dealerName: string }[] = [];\r\n\r\n @Input('agentNumber')\r\n agentNumber: [] = [];\r\n\r\n @ViewChild('dealerInput') dealerInput: ElementRef;\r\n\r\n constructor(private dashboard: DashboardService) {\r\n this.accessFilter = this.inputFilter.valueChanges.pipe(\r\n startWith(null),\r\n map((m: string | null) =>\r\n m ? this._filter(m) : this.dealerList.slice(0, this.limit)\r\n )\r\n );\r\n\r\n if (!this.agentNumber) {\r\n this.limit = 150;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.selectedDealers) {\r\n this.dashboard.filtersGetSelectedDealers(this.selectedDealers).subscribe({\r\n next: (res) => {\r\n this.dealers = res;\r\n this.formControl.setValue(this.dealers.map((m) => m.dealerNumber));\r\n },\r\n });\r\n }\r\n\r\n // this.accessFilter = this.inputFilter.valueChanges.pipe(\r\n // startWith(null),\r\n // debounceTime(500),\r\n // switchMap((value: string | DealerDetail) => {\r\n // if (!value) {\r\n // return this.dashboard.filtersDealersByAgentNumber(\r\n // this.agentNumber,\r\n // ''\r\n // );\r\n // }\r\n // if (value && (value as string).length > 0) {\r\n // return this.dashboard.filtersDealersByAgentNumber(\r\n // this.agentNumber,\r\n // value as string\r\n // );\r\n // }\r\n // return EMPTY;\r\n // })\r\n // );\r\n }\r\n\r\n private _filter(value: string): any[] {\r\n if (typeof value === 'string') {\r\n const filterValue = value.toLowerCase();\r\n return this.dealerList.filter(\r\n (m) =>\r\n m.dealerName.toLowerCase().includes(filterValue) ||\r\n m.dealerNumber.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n return this.dealerList.slice(0, this.limit);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.dealersLoaded) {\r\n this.inputFilter.enable();\r\n } else {\r\n this.inputFilter.disable();\r\n }\r\n\r\n if (changes.dealerList) {\r\n this.accessFilter = this.inputFilter.valueChanges.pipe(\r\n startWith(null),\r\n map((m: string | null) =>\r\n m ? this._filter(m) : this.dealerList.slice(0, this.limit)\r\n )\r\n );\r\n }\r\n\r\n if (!this.selectedDealers) {\r\n this.dealers = [];\r\n }\r\n }\r\n\r\n displayWith(value: DealerDetail) {\r\n if (value && value.dealerNumber) {\r\n return `${value.dealerNumber} - ${value.dealerName}`;\r\n }\r\n return value;\r\n }\r\n\r\n add(event: MatChipInputEvent): void {\r\n const value = (event.value || '').trim();\r\n // Add our dealer\r\n if (value) {\r\n this.dealers.push({ dealerNumber: event.value, dealerName: event.value });\r\n }\r\n // Clear the input value\r\n event.input!.value = '';\r\n this.formControl.setValue(this.dealers.map((m) => m.dealerNumber));\r\n }\r\n\r\n remove(dealer: any): void {\r\n const index = this.dealers.indexOf(dealer);\r\n if (index >= 0) {\r\n this.dealers.splice(index, 1);\r\n }\r\n this.formControl.setValue(this.dealers.map((m) => m.dealerNumber));\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n if (\r\n !this.dealers.find(\r\n (m) => m.dealerNumber == event.option.value.dealerNumber\r\n )\r\n ) {\r\n this.dealers.push({\r\n dealerNumber: event.option.value.dealerNumber,\r\n dealerName: event.option.value.dealerName,\r\n });\r\n }\r\n\r\n this.dealerInput.nativeElement.value = '';\r\n this.formControl.setValue(this.dealers.map((m) => m.dealerNumber));\r\n }\r\n}\r\n\r\nexport interface DealerDetail {\r\n dealerNumber: string;\r\n dealerName: string;\r\n}\r\n","\r\n {{ label }}\r\n \r\n Loading dealers...\r\n \r\n \r\n \r\n \r\n {{ dealer.dealerNumber }} {{ dealer.dealerName }}\r\n cancel\r\n \r\n \r\n \r\n \r\n \r\n {{ opt.dealerNumber }} - {{ opt.dealerName }}\r\n \r\n \r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\nimport { QuickSignService } from 'src/shared/quick-sign.service';\r\nimport { SiriusXMRealTimeModel, SiriusXMRealTimeResponseModel } from 'src/shared/sirius-xm.model';\r\nimport { SiriusXMService } from 'src/shared/sirius-xm.service';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatFormField } from '@angular/material/form-field';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { SiriusXmModule } from '../sirius-xm.module';\r\n\r\n@Component({\r\n selector: 'sirius-xm-realtime',\r\n templateUrl: './sirius-xm-realtime.component.html',\r\n styleUrls: ['./sirius-xm-realtime.component.css']\r\n})\r\nexport class SiriusXMRealtimeComponent implements OnInit {\r\n displayedColumns: string[] = [];\r\n displayedErrorColumns: string[] = ['deviceId', 'isEligible', 'url', 'resultCode','errorCode', 'errorMessage'];\r\n displayedSuccessColumns: string[] = ['deviceId', 'isEligible', 'url', 'resultCode'];\r\n dataSource: SiriusXMRealTimeResponseModel[];\r\n showSigHint = false;\r\n agentNo: string;\r\n labelNames = [\r\n 'Vin',\r\n 'First Name',\r\n 'Last Name',\r\n 'Street',\r\n 'City',\r\n 'State',\r\n 'Zip',\r\n 'Country',\r\n 'Home Phone',\r\n 'Email',\r\n 'DealerId'\r\n ]\r\n\r\n constructor(\r\n public quickSign: QuickSignService,\r\n private snackBar: MatSnackBar,\r\n private router: Router,\r\n private sxm: SiriusXMService\r\n ) { }\r\n\r\n siriusXMRealTimeFormGroup = new FormGroup({\r\n vin: new FormControl(null,[Validators.required]),\r\n firstName: new FormControl(null),\r\n lastName: new FormControl(null),\r\n address1: new FormControl(null),\r\n city: new FormControl(null),\r\n state: new FormControl(null),\r\n zip: new FormControl(null),\r\n country: new FormControl(null),\r\n phone: new FormControl(null),\r\n email: new FormControl(null),\r\n dealerId: new FormControl(null),\r\n });\r\n\r\n\r\n ngOnInit(): void {\r\n var resp = new SiriusXMRealTimeResponseModel();\r\n this.dataSource = [resp];\r\n resp.deviceId = \"0\";\r\n resp.isEligible = \"Yes\";\r\n resp.url = \"https://sms-tst.corp.siriusxm.com/ttgllvsmsweb03-9013/cuwi9001-000/one-click_view.action?cna_id=cb8260ad-febc-4296-8f50-c2b771ad4bf9\";\r\n resp.resultCode = \"SUCCESS\";\r\n resp.errorCode = \"\";\r\n resp.errorMessage = \"\";\r\n this.checkDisplayedColumns();\r\n }\r\n\r\n checkDisplayedColumns(){\r\n if(this.dataSource[0].resultCode == \"SUCCESS\"){\r\n this.displayedColumns = this.displayedSuccessColumns;\r\n }else{\r\n this.displayedColumns = this.displayedErrorColumns;\r\n }\r\n }\r\n\r\n onSubmit(){\r\n var model = new SiriusXMRealTimeModel();\r\n var tableItem = new SiriusXMRealTimeResponseModel();\r\n // model.vin = this.siriusXMRealTimeFormGroup.controls[\"vin\"].value;\r\n // model.firstName = this.siriusXMRealTimeFormGroup.controls[\"firstName\"]?.value;\r\n // model.lastName = this.siriusXMRealTimeFormGroup.controls[\"lastName\"]?.value;\r\n // model.address1 = this.siriusXMRealTimeFormGroup.controls[\"address1\"]?.value;\r\n // model.city = this.siriusXMRealTimeFormGroup.controls[\"city\"]?.value;\r\n // model.state = this.siriusXMRealTimeFormGroup.controls[\"state\"]?.value;\r\n // model.zip = this.siriusXMRealTimeFormGroup.controls[\"zip\"]?.value;\r\n // model.customerCountry = this.siriusXMRealTimeFormGroup.controls[\"country\"]?.value;\r\n // model.homePhone = this.siriusXMRealTimeFormGroup.controls[\"phone\"]?.value;\r\n // model.consumerEmail = this.siriusXMRealTimeFormGroup.controls[\"email\"]?.value;\r\n // model.dealerId = this.siriusXMRealTimeFormGroup.controls[\"dealerId\"]?.value;\r\n model.vin = \"1VWBH7A37CC050316\";\r\n model.firstName = \"First\";\r\n model.lastName = \"Last\";\r\n model.address1 = \"Address\";\r\n model.city = \"City\";\r\n model.state = \"UT\";\r\n model.zip = \"84070\";\r\n model.customerCountry = \"USA\";\r\n model.homePhone = \"1234567890\";\r\n model.consumerEmail = \"test@example.com\"\r\n model.dealerId = \"1234567\";\r\n\r\n\r\n this.dataSource = [tableItem];\r\n this.checkDisplayedColumns();\r\n }\r\n\r\n testUpdateCrm(){\r\n this.sxm.RealTimeCrmTest().subscribe({\r\n next: (result) => {\r\n var a = result;\r\n },\r\n });\r\n }\r\n\r\n testUploadToSxm(){\r\n /*var model = new SiriusXMRealTimeModel();\r\n var tableItem = new SiriusXMRealTimeResponseModel();\r\n model.vin = this.siriusXMRealTimeFormGroup.controls[\"vin\"].value;\r\n model.firstName = this.siriusXMRealTimeFormGroup.controls[\"firstName\"]?.value;\r\n model.lastName = this.siriusXMRealTimeFormGroup.controls[\"lastName\"]?.value;\r\n model.address1 = this.siriusXMRealTimeFormGroup.controls[\"address1\"]?.value;\r\n model.city = this.siriusXMRealTimeFormGroup.controls[\"city\"]?.value;\r\n model.state = this.siriusXMRealTimeFormGroup.controls[\"state\"]?.value;\r\n model.zip = this.siriusXMRealTimeFormGroup.controls[\"zip\"]?.value;\r\n model.customerCountry = this.siriusXMRealTimeFormGroup.controls[\"country\"]?.value;\r\n model.homePhone = this.siriusXMRealTimeFormGroup.controls[\"phone\"]?.value;\r\n model.consumerEmail = this.siriusXMRealTimeFormGroup.controls[\"email\"]?.value;\r\n model.dealerId = this.siriusXMRealTimeFormGroup.controls[\"dealerId\"]?.value;*/\r\n var model = new SiriusXMRealTimeModel();\r\n var tableItem = new SiriusXMRealTimeResponseModel();\r\n model.vin = \"5FNYF6H0XJB020817\";\r\n model.firstName = \"First\";\r\n model.lastName = \"Last\";\r\n model.address1 = \"Address\";\r\n model.city = \"City\";\r\n model.state = \"UT\";\r\n model.customerCountry = \"USA\";\r\n model.zip = \"84070\";\r\n model.homePhone = \"1234567890\";\r\n model.consumerEmail = \"dylanf@alphawarranty.com\"\r\n model.dealerId = \"DL00148\";\r\n model.contractNumber = \"0000000\";\r\n model.corpId = \"13547\";\r\n this.sxm.RealTimeRequest(model).subscribe({\r\n next: (result) => {\r\n tableItem.deviceId = result.deviceId,\r\n tableItem.isEligible = result.isEligible,\r\n tableItem.url = result.url,\r\n tableItem.resultCode = result.resultCode,\r\n tableItem.errorCode = result.errorCode,\r\n tableItem.errorMessage = result.errorMessage\r\n },\r\n });\r\n }\r\n\r\n runTestCases(){\r\n this.sxm.RealTimeTestCases().subscribe({\r\n next: (result) => {\r\n var a = result;\r\n },\r\n });\r\n }\r\n\r\n testApplyToExistingContracts(){\r\n this.sxm.RealTimeApplyToExistingContracts().subscribe({\r\n next: (result) => {\r\n var a = result;\r\n },\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

SiriusXM Real Time Interface

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

Customer Information

\r\n \r\n Vin*\r\n \r\n \r\n \r\n First Name\r\n \r\n \r\n \r\n Last Name\r\n \r\n \r\n \r\n Street\r\n \r\n \r\n \r\n City\r\n \r\n \r\n \r\n State\r\n \r\n \r\n \r\n Zip\r\n \r\n \r\n \r\n Country\r\n \r\n \r\n \r\n Home Phone\r\n \r\n \r\n \r\n E-mail\r\n \r\n \r\n \r\n Dealer ID\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Response

\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Device ID {{element.deviceId}} Eligible {{element.isEligible}} URL {{element.url}} Result Code {{element.resultCode}} Error Code {{element.errorCode}} Error Message {{element.errorMessage}}
\r\n
\r\n
","export const states: State[] = [\r\n {\r\n name: \"Alabama\",\r\n abbreviation: \"AL\"\r\n },\r\n {\r\n name: \"Alaska\",\r\n abbreviation: \"AK\"\r\n },\r\n {\r\n name: \"Arizona\",\r\n abbreviation: \"AZ\"\r\n },\r\n {\r\n name: \"Arkansas\",\r\n abbreviation: \"AR\"\r\n },\r\n {\r\n name: \"California\",\r\n abbreviation: \"CA\"\r\n },\r\n {\r\n name: \"Colorado\",\r\n abbreviation: \"CO\"\r\n },\r\n {\r\n name: \"Connecticut\",\r\n abbreviation: \"CT\"\r\n },\r\n {\r\n name: \"Delaware\",\r\n abbreviation: \"DE\"\r\n },\r\n {\r\n name: \"District Of Columbia\",\r\n abbreviation: \"DC\"\r\n },\r\n {\r\n name: \"Florida\",\r\n abbreviation: \"FL\"\r\n },\r\n {\r\n name: \"Georgia\",\r\n abbreviation: \"GA\"\r\n },\r\n {\r\n name: \"Hawaii\",\r\n abbreviation: \"HI\"\r\n },\r\n {\r\n name: \"Idaho\",\r\n abbreviation: \"ID\"\r\n },\r\n {\r\n name: \"Illinois\",\r\n abbreviation: \"IL\"\r\n },\r\n {\r\n name: \"Indiana\",\r\n abbreviation: \"IN\"\r\n },\r\n {\r\n name: \"Iowa\",\r\n abbreviation: \"IA\"\r\n },\r\n {\r\n name: \"Kansas\",\r\n abbreviation: \"KS\"\r\n },\r\n {\r\n name: \"Kentucky\",\r\n abbreviation: \"KY\"\r\n },\r\n {\r\n name: \"Louisiana\",\r\n abbreviation: \"LA\"\r\n },\r\n {\r\n name: \"Maine\",\r\n abbreviation: \"ME\"\r\n },\r\n {\r\n name: \"Maryland\",\r\n abbreviation: \"MD\"\r\n },\r\n {\r\n name: \"Massachusetts\",\r\n abbreviation: \"MA\"\r\n },\r\n {\r\n name: \"Michigan\",\r\n abbreviation: \"MI\"\r\n },\r\n {\r\n name: \"Minnesota\",\r\n abbreviation: \"MN\"\r\n },\r\n {\r\n name: \"Mississippi\",\r\n abbreviation: \"MS\"\r\n },\r\n {\r\n name: \"Missouri\",\r\n abbreviation: \"MO\"\r\n },\r\n {\r\n name: \"Montana\",\r\n abbreviation: \"MT\"\r\n },\r\n {\r\n name: \"Nebraska\",\r\n abbreviation: \"NE\"\r\n },\r\n {\r\n name: \"Nevada\",\r\n abbreviation: \"NV\"\r\n },\r\n {\r\n name: \"New Hampshire\",\r\n abbreviation: \"NH\"\r\n },\r\n {\r\n name: \"New Jersey\",\r\n abbreviation: \"NJ\"\r\n },\r\n {\r\n name: \"New Mexico\",\r\n abbreviation: \"NM\"\r\n },\r\n {\r\n name: \"New York\",\r\n abbreviation: \"NY\"\r\n },\r\n {\r\n name: \"North Carolina\",\r\n abbreviation: \"NC\"\r\n },\r\n {\r\n name: \"North Dakota\",\r\n abbreviation: \"ND\"\r\n },\r\n {\r\n name: \"Ohio\",\r\n abbreviation: \"OH\"\r\n },\r\n {\r\n name: \"Oklahoma\",\r\n abbreviation: \"OK\"\r\n },\r\n {\r\n name: \"Oregon\",\r\n abbreviation: \"OR\"\r\n },\r\n {\r\n name: \"Pennsylvania\",\r\n abbreviation: \"PA\"\r\n },\r\n {\r\n name: \"Rhode Island\",\r\n abbreviation: \"RI\"\r\n },\r\n {\r\n name: \"South Carolina\",\r\n abbreviation: \"SC\"\r\n },\r\n {\r\n name: \"South Dakota\",\r\n abbreviation: \"SD\"\r\n },\r\n {\r\n name: \"Tennessee\",\r\n abbreviation: \"TN\"\r\n },\r\n {\r\n name: \"Texas\",\r\n abbreviation: \"TX\"\r\n },\r\n {\r\n name: \"Utah\",\r\n abbreviation: \"UT\"\r\n },\r\n {\r\n name: \"Vermont\",\r\n abbreviation: \"VT\"\r\n },\r\n {\r\n name: \"Virginia\",\r\n abbreviation: \"VA\"\r\n },\r\n {\r\n name: \"Washington\",\r\n abbreviation: \"WA\"\r\n },\r\n {\r\n name: \"West Virginia\",\r\n abbreviation: \"WV\"\r\n },\r\n {\r\n name: \"Wisconsin\",\r\n abbreviation: \"WI\"\r\n },\r\n {\r\n name: \"Wyoming\",\r\n abbreviation: \"WY\"\r\n }\r\n]\r\n\r\nexport interface State {\r\n name: string;\r\n abbreviation: string;\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControl,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidationErrors,\r\n Validator,\r\n} from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { ScsDetail, UserService } from '../user.service';\r\n\r\n@Component({\r\n selector: 'zoom-dealer-select-form-control',\r\n templateUrl: './dealer-select-form-control.component.html',\r\n styleUrls: ['./dealer-select-form-control.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: DealerSelectFormControlComponent,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n multi: true,\r\n useExisting: DealerSelectFormControlComponent,\r\n },\r\n ],\r\n})\r\nexport class DealerSelectFormControlComponent\r\n implements ControlValueAccessor, Validator, OnInit\r\n{\r\n scsAccessFilter: Observable;\r\n inputFilter = new FormControl();\r\n\r\n @Input('label')\r\n label: string = 'Dealer';\r\n\r\n @Input('required')\r\n isRequired: string | boolean = false;\r\n\r\n @Output('dealerChanged')\r\n dealerChanged: EventEmitter = new EventEmitter();\r\n\r\n disabled = false;\r\n touched = false;\r\n\r\n onChange: (value: string) => any;\r\n onTouched: () => void;\r\n onValidate: () => void;\r\n\r\n constructor(\r\n public principal: PrincipalService,\r\n private userService: UserService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.scsAccessFilter = this.inputFilter.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail) => {\r\n if (!value) {\r\n return this.userService.scsAccessFilter('');\r\n }\r\n if (value && (value as string).length > 0) {\r\n return this.userService.scsAccessFilter(value as string);\r\n }\r\n return EMPTY;\r\n })\r\n );\r\n if (\r\n !this.label ||\r\n this.label.length === 0 ||\r\n this.label == '' ||\r\n this.label == ''\r\n ) {\r\n this.label = null;\r\n }\r\n }\r\n\r\n displayWith(value: ScsDetail): string | ScsDetail {\r\n if (value && value.scsNumber) {\r\n return `${value.name} - ${value.scsNumber}`;\r\n }\r\n return value;\r\n }\r\n\r\n private loadFilter(scsNumber: string): void {\r\n this.userService.preloadDealerScsAccessFilter(scsNumber).subscribe({\r\n next: (result) => {\r\n this.inputFilter.setValue(result);\r\n this.principal.scsNumber = result.scsNumber;\r\n this.onChange(result.scsNumber);\r\n this.dealerChanged.emit(result);\r\n },\r\n });\r\n }\r\n\r\n optionSelected(): void {\r\n this.markAsTouched();\r\n if (this.disabled) {\r\n return;\r\n }\r\n const selectedValue = this.inputFilter.value.scsNumber;\r\n this.principal.scsNumber = selectedValue;\r\n this.onChange(selectedValue);\r\n this.dealerChanged.emit(this.inputFilter.value);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj) {\r\n this.loadFilter(obj);\r\n } else if (\r\n this.principal.scsNumber &&\r\n this.principal.scsNumber.length > 3\r\n ) {\r\n this.loadFilter(this.principal.scsNumber);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n markAsTouched(): void {\r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors {\r\n const value = control.value;\r\n if (!value) {\r\n return {\r\n dealerNumber: {\r\n required: 'A dealer number must be selected',\r\n },\r\n };\r\n }\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this.onValidate = fn;\r\n }\r\n}\r\n","\r\n {{ label }}\r\n \r\n \r\n \r\n {{ opt.scsNumber }} - {{ opt.name }}\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-container',\r\n templateUrl: './container.component.html',\r\n styleUrls: ['./container.component.css']\r\n})\r\nexport class ContainerComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\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 } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { PrincipalService } from 'src/shared/principal.service';\r\nimport { DealerService } from 'src/shared/dealer.service';\r\n\r\n@Component({\r\n selector: 'app-dealer-survey-dialog',\r\n templateUrl: './dealer-survey-dialog.component.html',\r\n styleUrls: ['./dealer-survey-dialog.component.css'],\r\n})\r\nexport class DealerSurveyDialogComponent {\r\n surveyForm: FormGroup;\r\n\r\n dialogChanger: string;\r\n dialogClosed = false;\r\n urlPath: string;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private fb: FormBuilder,\r\n private principal: PrincipalService,\r\n private dealerService: DealerService,\r\n ) {\r\n this.dialogChanger = 'None';\r\n\r\n this.surveyForm = this.fb.group({\r\n DealerSurveyId: [this.data.dealerSurveyId ?? 0],\r\n UserId: [this.principal.id],\r\n FeedbackResponse: [null],\r\n Testimonial: [null],\r\n });\r\n\r\n if (\r\n this.principal.id != null &&\r\n (this.principal.hasUserViewAccess(['Dealer']) ||\r\n this.principal.hasUserViewAccess(['Agent']))\r\n ) {\r\n this.surveyForm.patchValue({\r\n UserId: this.principal.id,\r\n });\r\n }\r\n }\r\n\r\n onPositiveFeedback() {\r\n this.dialogChanger = 'postiveFeedback';\r\n this.surveyForm.patchValue({\r\n FeedbackResponse: 'Positive',\r\n });\r\n this.dealerService.updateDealerSurvey(this.surveyForm.value).subscribe({\r\n next: (result: any) => {\r\n this.surveyForm.patchValue({\r\n DealerSurveyId: result.dealerSurveyId,\r\n Testimonial: result.testimonial,\r\n FeedbackResponse: result.feedbackResponse,\r\n });\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n onNegativeFeedback() {\r\n this.dialogChanger = 'negativeFeedback';\r\n this.surveyForm.patchValue({\r\n FeedbackResponse: 'Negative',\r\n });\r\n this.dealerService.updateDealerSurvey(this.surveyForm.value).subscribe({\r\n next: (result: any) => {\r\n this.surveyForm.patchValue({\r\n DealerSurveyId: result.dealerSurveyId,\r\n Testimonial: result.testimonial,\r\n FeedbackResponse: result.feedbackResponse,\r\n });\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n popoutChat() {\r\n window.open(\r\n 'https://home-c54.nice-incontact.com/inContact/ChatClient/ChatClient.aspx?poc=85ff4c00-80ed-40f6-a2c4-940b29873980&bu=4604375&P1=Name&P2=ContactType&P3=VINorContractNumber&P4=555-555-5555',\r\n 'icPatronChatWin',\r\n 'location = no, height = 630, menubar = no, status = no, width = 410',\r\n true,\r\n );\r\n }\r\n\r\n onDialogClose(): void {\r\n if (this.surveyForm.value.FeedbackResponse == null) {\r\n this.surveyForm.patchValue({\r\n FeedbackResponse: 'Declined',\r\n });\r\n }\r\n this.dealerService.updateDealerSurvey(this.surveyForm.value).subscribe({\r\n next: (result: any) => {\r\n this.surveyForm.patchValue({\r\n DealerSurveyId: result.dealerSurveyId,\r\n Testimonial: result.testimonial,\r\n FeedbackResponse: result.feedbackResponse,\r\n });\r\n this.dialogRef.close(false);\r\n },\r\n error: (err) => {\r\n this.dialogRef.close(false);\r\n },\r\n });\r\n }\r\n\r\n submitTestimonial() {\r\n this.dealerService.updateDealerSurvey(this.surveyForm.value).subscribe({\r\n next: (result) => {\r\n this.dialogRef.close(true);\r\n },\r\n error: (err) => {\r\n this.dialogRef.close(false);\r\n },\r\n });\r\n return;\r\n }\r\n\r\n isTimeoutTriggered() {\r\n return this.data.isTimeoutTriggered;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Your Voice Matters!\r\n \r\n \r\n We Love Feedback!\r\n \r\n
\r\n
\r\n \r\n How was your experience with Alpha Warranty Services?\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n thumb_up\r\n \r\n
\r\n
\r\n \r\n thumb_down\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Thank you!\r\n \r\n
\r\n
\r\n

\r\n Please leave any additional comments about
\r\n your experience below!\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n CHAT WITH US \r\n
\r\n
\r\n \r\n Submit\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n We're sorry...\r\n \r\n
\r\n \r\n \r\n Please use the box below to share your feedback.\r\n

\r\n\r\n

\r\n The feedback shared below supports our ongoing efforts to develop\r\n products and services that enhance the experience for both dealers\r\n and contract holders.\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n CHAT WITH US \r\n
\r\n
\r\n \r\n Submit\r\n \r\n
\r\n\r\n

\r\n If further assistance is needed
\r\n please call 1.800.662.5519 ext. 3\r\n

\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { ClaimList } from '../claim.model';\r\nimport { ClaimService } from '../claim.service';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { DealerService } from '../dealer.service';\r\n\r\n@Component({\r\n selector: 'app-quicktrack-tiles',\r\n templateUrl: './quicktrack-tiles.component.html',\r\n styleUrls: ['./quicktrack-tiles.component.css'],\r\n})\r\nexport class QuicktrackTilesComponent implements OnInit {\r\n @Input() params: Observable;\r\n @Input() isDashboard: boolean = false;\r\n loading = true;\r\n appearance = 'none';\r\n color = 'primary';\r\n multipleDealers = false;\r\n claimPaidTotal: any;\r\n claimSubmittedTotal: any;\r\n claimsOpenTotal: any;\r\n claimsAmountPaid: any;\r\n claimDuration: any;\r\n npsScore: any;\r\n\r\n claimDataSource = new MatTableDataSource();\r\n claimColumns = [\r\n 'customer',\r\n 'claimEntryDate',\r\n 'contractNumber',\r\n 'claimNumber',\r\n 'status',\r\n 'datePaid',\r\n 'paidAmount',\r\n 'action',\r\n ];\r\n claimColumnsWithDealers = [\r\n 'customer',\r\n 'claimEntryDate',\r\n 'contractNumber',\r\n 'dealerNumber',\r\n 'claimNumber',\r\n 'status',\r\n 'datePaid',\r\n 'paidAmount',\r\n 'action',\r\n ];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n datePipe = new DatePipe('en-US');\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private service: ClaimService,\r\n private principal: PrincipalService,\r\n private dealerService: DealerService\r\n ) {\r\n this.appearance = environment.theme.input;\r\n this.color = environment.theme.primary;\r\n }\r\n\r\n ngOnInit() {\r\n this.params.subscribe({\r\n next: (result) => {\r\n this.query(result);\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n var waitTimeInSec = 0;\r\n var forceAllowForThisPage = true;\r\n this.dealerService.checkForDealerSurvey(\r\n waitTimeInSec,\r\n forceAllowForThisPage\r\n );\r\n }\r\n\r\n query(params: any) {\r\n if (params == null) {\r\n return;\r\n }\r\n this.loading = true;\r\n params.startDate = this.datePipe.transform(\r\n new Date(params.startDate).toJSON(),\r\n 'yyyy-MM-dd'\r\n );\r\n params.endDate = this.datePipe.transform(\r\n new Date(params.endDate).toJSON(),\r\n 'yyyy-MM-dd'\r\n );\r\n this.claimPaidTotal = this.service.getClaimsPaidTotal(params);\r\n this.claimSubmittedTotal = this.service.getClaimsSubmittedTotal(params);\r\n this.claimsOpenTotal = this.service.getClaimsOpenTotal(params);\r\n this.service.getClaimsAmountPaidTotal(params).subscribe((result) => {\r\n this.claimsAmountPaid = result;\r\n });\r\n this.service.getClaimAvgClaimDuration(params).subscribe((result) => {\r\n if (!result) {\r\n this.claimDuration = '--';\r\n } else {\r\n this.claimDuration = result;\r\n }\r\n });\r\n this.service.getNpsScore(params).subscribe((n) => {\r\n if (!n) {\r\n this.npsScore = '--';\r\n } else {\r\n this.npsScore = n;\r\n }\r\n });\r\n }\r\n\r\n getClaimStatus(status: string) {\r\n let softStatus = '';\r\n switch (status) {\r\n case 'Denied':\r\n softStatus = 'Closed - Not Covered';\r\n break;\r\n case 'Pending':\r\n case 'Authorized':\r\n case 'Approved':\r\n softStatus = 'Open';\r\n break;\r\n case 'Paid':\r\n case 'Closed':\r\n softStatus = status;\r\n break;\r\n }\r\n return softStatus;\r\n }\r\n}\r\n","\r\n
\r\n \r\n
Paid Claims
\r\n
\r\n {{ claimPaidTotal | async }}\r\n
\r\n
\r\n \r\n
\r\n \r\n
Submitted Claims
\r\n
\r\n {{ claimSubmittedTotal | async }}\r\n
\r\n
\r\n \r\n
\r\n \r\n
Open Claims
\r\n
\r\n {{ claimsOpenTotal | async }}\r\n
\r\n
\r\n \r\n
\r\n \r\n
Paid Total
\r\n
\r\n 9999\"\r\n [ngIfElse]=\"baseAmountPaid\"\r\n >\r\n
9999\" class=\"stat-text\">\r\n {{\r\n claimsAmountPaid / 1000 | currency : 'USD' : 'symbol' : '1.0-0'\r\n }}K\r\n
\r\n \r\n \r\n
\r\n {{ claimsAmountPaid | currency : 'USD' : 'symbol' : '1.0-0' }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
Avg Claim Length (Days)
\r\n
\r\n {{ claimDuration | number : '1.0-2' }}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Repair NPS\r\n \r\n info\r\n \r\n
\r\n
\r\n {{ npsScore }}\r\n
\r\n
\r\n \r\n\r\n\r\n\r\n \r\n \r\n
\r\n
\r\n construction\r\n
\r\n \r\n PAID CLAIMS\r\n
\r\n {{ claimPaidTotal | async }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n emoji_transportation\r\n
\r\n \r\n SUBMITTED CLAIMS\r\n
\r\n {{ claimSubmittedTotal | async }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n description\r\n
\r\n \r\n
\r\n OPEN CLAIMS\r\n
\r\n
{{ claimsOpenTotal | async }}
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n paid\r\n
\r\n \r\n PAID TOTAL\r\n
\r\n {{ claimsAmountPaid | currency : 'USD' : 'symbol' : '1.0-0' }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n access_time\r\n
\r\n \r\n AVG CLAIM LENGTH (DAYS)\r\n
\r\n {{ claimDuration | number : '1.0-2' }}\r\n
\r\n
\r\n {{ claimDuration }}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n sports_score\r\n
\r\n \r\n
\r\n REPAIR NPS\r\n \r\n info\r\n \r\n
\r\n
{{ npsScore }}
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ZoomContractService {\r\n private endpoint: string;\r\n\r\n constructor(private http: HttpClient) {\r\n this.endpoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n contractDetails(contractNumber: string) {\r\n return this.http.get(`${this.endpoint}contract/${contractNumber}/details`);\r\n }\r\n\r\n downloadContractPdf(contractNumber: string, isScsContract: string) {\r\n return this.http\r\n .get(\r\n `${this.endpoint}contract/${contractNumber}/download`,{\r\n params: {isScsContract},\r\n responseType: 'blob' as 'json',\r\n }\r\n );\r\n }\r\n\r\n requestContractPdf(contractNumber: string) {\r\n return this.http.post(`${this.endpoint}contract/${contractNumber}/request-pdf`, {});\r\n }\r\n\r\n voidContract(contractNumber: string) {\r\n return this.http.delete(`${this.endpoint}contract/${contractNumber}/void`);\r\n }\r\n\r\n removeDuplicate(oldContract: string, newContract: string){\r\n return this.http.delete(\r\n `${this.endpoint}contract/delete-duplicate`,\r\n {\r\n params: {\r\n oldContractNumber: oldContract,\r\n newContractNumber: newContract\r\n }\r\n }\r\n )\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserService {\r\n private endpoint: string;\r\n constructor(private http: HttpClient) {\r\n this.endpoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n scsAccessList() {\r\n return this.http.get(`${this.endpoint}users/scs-access-list`);\r\n }\r\n\r\n scsAccessFilter(\r\n filter: string,\r\n includeDFI: boolean = true,\r\n onlyActiveDealers: boolean = false,\r\n includeDemos: boolean = true,\r\n excludeProfitSharing: boolean = false,\r\n isDealerReinsurance: boolean = false\r\n ) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/dealer`,\r\n {\r\n params: {\r\n filter,\r\n includeDFI: includeDFI.toString(),\r\n onlyActiveDealers: onlyActiveDealers.toString(),\r\n includeDemos: includeDemos.toString(),\r\n excludeProfitSharing: excludeProfitSharing.toString(),\r\n isDealerReinsurance: isDealerReinsurance.toString(),\r\n },\r\n }\r\n );\r\n }\r\n\r\n preloadAccessFilter(dealerNumbers: string[]) {\r\n return this.http.post(\r\n `${this.endpoint}users/scs-access-filter/preload`,\r\n dealerNumbers\r\n );\r\n }\r\n\r\n preloadDealerScsAccessFilter(\r\n dealerNumber: string,\r\n includeDFI: boolean = true\r\n ) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/dealer/preload`,\r\n {\r\n params: {\r\n dealerNumber,\r\n includeDFI: includeDFI.toString(),\r\n },\r\n }\r\n );\r\n }\r\n\r\n agentScsAccessFilter(filter: string) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/agent`,\r\n {\r\n params: { filter },\r\n }\r\n );\r\n }\r\n\r\n preloadAgentScsAccessFilter(agentNumber: any) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/agent/preload`,\r\n {\r\n params: { agentNumber },\r\n }\r\n );\r\n }\r\n\r\n mgaScsAccessFilter(filter: string) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/mga`,\r\n {\r\n params: { filter },\r\n }\r\n );\r\n }\r\n\r\n preloadMgaScsAccessFilter(mgaNumber: any) {\r\n return this.http.get(\r\n `${this.endpoint}users/scs-access-filter/mga/preload`,\r\n {\r\n params: { mgaNumber },\r\n }\r\n );\r\n }\r\n}\r\n\r\nexport interface ScsDetail {\r\n scsNumber: string;\r\n name: string;\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { AuthService } from '../../shared/auth.service';\r\nimport { PrincipalService } from '../../shared/principal.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n@Component({\r\n selector: 'app-impersonate',\r\n templateUrl: './impersonate.component.html',\r\n styleUrls: ['./impersonate.component.css'],\r\n})\r\nexport class ImpersonateComponent implements OnInit {\r\n userViewAccessType = new FormControl();\r\n actorSelection = new FormControl();\r\n inputFilter = new FormControl();\r\n\r\n userList$: Observable;\r\n\r\n constructor(\r\n private authentication: AuthService,\r\n private principal: PrincipalService,\r\n private cookieService: CookieService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.userViewAccessType.setValue(3);\r\n this.userList$ = this.inputFilter.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | any) => {\r\n if (!value) {\r\n return this.authentication.impersonateUsers(\r\n this.userViewAccessType.value\r\n );\r\n }\r\n if (value && (value as string).length > 0) {\r\n return this.authentication.impersonateUsers(\r\n this.userViewAccessType.value,\r\n value as string\r\n );\r\n }\r\n return EMPTY;\r\n })\r\n );\r\n }\r\n\r\n impersonateUser() {\r\n this.authentication\r\n .impersonate(this.actorSelection.value, this.principal.uuid)\r\n .subscribe({\r\n next: (response) => {\r\n localStorage.clear();\r\n if (this.cookieService.check(\"alphaOrAlpine\")) {\r\n this.cookieService.delete(\"alphaOrAlpine\");\r\n }\r\n this.principal.set(response);\r\n },\r\n error: () => {},\r\n complete: () => {},\r\n });\r\n }\r\n\r\n scsNumber(entry: any) {\r\n if (entry.userViewAccessType == 'Dealer') {\r\n return entry.assignedDealerNum;\r\n }\r\n return entry.scsNumber;\r\n }\r\n\r\n displayWith(value: any) {\r\n if (value && value.userViewAccessType == 'Dealer') {\r\n return `${value.assignedDealerNum} - ${value.userName}`;\r\n } else if (value && value.userViewAccessType) {\r\n return `${value.scsNumber} - ${value.userName}`;\r\n }\r\n return value;\r\n }\r\n\r\n optionSelected() {\r\n this.actorSelection.setValue(this.inputFilter.value.id);\r\n }\r\n}\r\n","
\r\n

User Impersonation

\r\n
\r\n
\r\n \r\n User View Access Type\r\n \r\n Dealers\r\n Sub Agents\r\n Agents\r\n MGAs\r\n DealFi\r\n \r\n \r\n\r\n \r\n User\r\n \r\n \r\n \r\n {{ scsNumber(opt) }} - {{ opt.userName }}\r\n \r\n \r\n \r\n\r\n \r\n * Note, you will have to log out after impersonating to return to your\r\n own permissions.\r\n \r\n
\r\n
\r\n","import { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { ControlContainer, FormArray, FormControl } from '@angular/forms';\r\nimport { EMPTY, Observable } from 'rxjs';\r\nimport { debounceTime, switchMap } from 'rxjs/operators';\r\nimport { PrincipalService } from '../principal.service';\r\nimport { ScsDetail, UserService } from '../user.service';\r\n\r\n@Component({\r\n selector: 'app-chip-dealer-select',\r\n templateUrl: './chip-dealer-select.component.html',\r\n styleUrls: ['./chip-dealer-select.component.css'],\r\n})\r\nexport class ChipDealerSelectComponent implements OnInit, AfterViewInit {\r\n dealerSelect = new FormArray([]);\r\n @Input('label')\r\n displaylabel: string = 'Dealers';\r\n @Input('required')\r\n isRequired: boolean = false;\r\n @Input()\r\n includeDemoDealers = true;\r\n @Input()\r\n onlyActiveDealers: boolean | undefined;\r\n @Input()\r\n includeDFIDealers: boolean | undefined;\r\n @Input()\r\n excludeProfitSharing: boolean = false;\r\n @Input()\r\n isDealerReinsurance: boolean = false;\r\n scsAccessFilter: Observable;\r\n selectedDealers: any[] = [];\r\n\r\n visible = true;\r\n removable = true;\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n\r\n inputFilter = new FormControl();\r\n initialLoad: boolean = true;\r\n\r\n constructor(\r\n private parent: ControlContainer,\r\n public principal: PrincipalService,\r\n private userService: UserService\r\n ) {}\r\n ngAfterViewInit(): void {\r\n this.inputFilter.setValue('');\r\n }\r\n\r\n ngOnInit() {\r\n this.dealerSelect = this.parent.control as FormArray;\r\n this.selectedDealers = [];\r\n this.scsAccessFilter = this.inputFilter.valueChanges.pipe(\r\n debounceTime(500),\r\n switchMap((value: string | ScsDetail | null) => {\r\n if (this.initialLoad) {\r\n this.initialLoad = false;\r\n return this.userService.scsAccessFilter(\r\n '',\r\n this.includeDFIDealers,\r\n this.onlyActiveDealers,\r\n this.includeDemoDealers,\r\n this.excludeProfitSharing,\r\n this.isDealerReinsurance\r\n );\r\n }\r\n if (typeof value == 'string' && (value as string).length > 4) {\r\n return this.userService.scsAccessFilter(\r\n value as string,\r\n this.includeDFIDealers,\r\n this.onlyActiveDealers,\r\n this.includeDemoDealers,\r\n this.excludeProfitSharing,\r\n this.isDealerReinsurance\r\n );\r\n }\r\n return EMPTY;\r\n })\r\n );\r\n\r\n if (this.dealerSelect.length > 0) {\r\n const data = this.dealerSelect.value;\r\n this.userService.preloadAccessFilter(data).subscribe({\r\n next: (result) => {\r\n this.selectedDealers = new Array(data.length);\r\n // Loop thru the data and add as need to the display\r\n data.forEach((value, index) => {\r\n this.selectedDealers[index] = result.find(\r\n (rv) => rv.scsNumber.toUpperCase() == value.toUpperCase()\r\n );\r\n });\r\n },\r\n });\r\n }\r\n }\r\n\r\n autoSelectChange(dealerInput: HTMLInputElement) {\r\n const selectedDealer = this.inputFilter.value;\r\n if (typeof selectedDealer == 'string') {\r\n console.error('How did this happen?');\r\n return;\r\n }\r\n // validate this value doesn't already exist\r\n if (\r\n this.dealerSelect.controls.some(\r\n (d) => d.value == selectedDealer.dealerNumber\r\n )\r\n ) {\r\n this.inputFilter.updateValueAndValidity();\r\n dealerInput.value = null;\r\n return;\r\n }\r\n this.add(selectedDealer, false);\r\n dealerInput.value = null;\r\n this.inputFilter.updateValueAndValidity();\r\n }\r\n\r\n displayFn(value: ScsDetail) {\r\n if (value && value.scsNumber) {\r\n return `${value.name} - ${value.scsNumber}`;\r\n }\r\n return value;\r\n }\r\n\r\n private add(dealer: ScsDetail, sync: boolean) {\r\n this.selectedDealers.push(dealer);\r\n this.dealerSelect.push(new FormControl(dealer.scsNumber));\r\n }\r\n\r\n remove(index: number) {\r\n this.selectedDealers.splice(index, 1);\r\n this.dealerSelect.removeAt(index);\r\n }\r\n\r\n blur() {\r\n this.dealerSelect.updateValueAndValidity();\r\n this.inputFilter.updateValueAndValidity();\r\n }\r\n}\r\n\r\ninterface DealerDetail {\r\n dealerNumber: string;\r\n dealerName: string;\r\n}\r\n","\r\n {{ displaylabel }}\r\n \r\n \r\n {{ d.scsNumber }} - {{ d.name }}\r\n cancel\r\n \r\n \r\n \r\n \r\n \r\n {{ d.scsNumber }} - {{ d.name }}\r\n \r\n \r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { QuickSignService } from '../../quick-sign.service';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { QuicksignServicePlusTooltipDialogComponent } from '../quicksign-service-plus-tooltip-dialog/quicksign-service-plus-tooltip-dialog.component';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-quicksign-service-plus',\r\n templateUrl: './quicksign-service-plus.component.html',\r\n styleUrls: ['./quicksign-service-plus.component.css'],\r\n})\r\nexport class QuicksignServicePlusComponent implements OnInit {\r\n @Output() hasServiceCenterChange: EventEmitter =\r\n new EventEmitter();\r\n @Output() checkBoxChange: EventEmitter = new EventEmitter();\r\n @Input() preSelectedOptions: any[] = [];\r\n @Input() showLogo: boolean = true;\r\n @Input() showBreakdown: boolean;\r\n @Input() enableAll: boolean = false;\r\n @Input() hasRetroOrReinsurance: boolean = false;\r\n @Input() showServiceCenterQuestion: boolean = true;\r\n @Input() editable: boolean = true;\r\n @Input() initiateForm: FormGroup = new FormGroup({\r\n isFranchise: new FormControl(false),\r\n });\r\n @Input() preselectedServiceCenter: boolean = false;\r\n selectedOptions: any[] = [];\r\n servicePlusOptions: any[] = [];\r\n hasServiceCenter = new FormControl(false);\r\n checkboxGroupControl = new FormControl();\r\n partSourcingIds = [1, 2];\r\n constructor(private service: QuickSignService, private dialog: MatDialog) {\r\n this.service.getServicePlusOptions().subscribe({\r\n next: (res: any[]) => {\r\n if (this.preSelectedOptions.length > 0) {\r\n this.selectedOptions = this.preSelectedOptions.map(\r\n (d) => d.servicePlusId\r\n );\r\n }\r\n res.forEach((option) => {\r\n this.isDisabledChecked(option);\r\n this.servicePlusOptions.push({\r\n checked: this.preSelectedOptions.some(\r\n (d) => d.servicePlusId == option.servicePlusId\r\n ),\r\n servicePlusId: option.servicePlusId,\r\n name: option.name,\r\n tooltipHtml: option.tooltipHtml,\r\n defaultDisabled: option.defaultDisabled,\r\n });\r\n });\r\n\r\n // Emit the checkBoxChange event after initializing the arrays\r\n this.checkBoxChange.emit(this.selectedOptions);\r\n },\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.preselectedServiceCenter) {\r\n this.hasServiceCenter.setValue(true);\r\n }\r\n this.hasServiceCenter.valueChanges.subscribe((newValue) => {\r\n this.servicePlusOptions.forEach((option) => {\r\n this.isDisabledChecked(option);\r\n });\r\n\r\n // Emit the checkBoxChange event with selected options\r\n this.checkBoxChange.emit(this.selectedOptions);\r\n // Emit the hasServiceCenterChange event\r\n this.hasServiceCenterChange.emit(newValue);\r\n });\r\n\r\n this.initiateForm.controls.isFranchise.valueChanges.subscribe(\r\n (newValue) => {\r\n if (newValue == 'true') {\r\n this.hasServiceCenter.setValue(true);\r\n this.servicePlusOptions.forEach((option) => {\r\n if (option.servicePlusId != 1) {\r\n this.isDisabledChecked(option);\r\n this.selectedOptions.push(option.servicePlusId);\r\n option.checked = true;\r\n }\r\n });\r\n this.checkBoxChange.emit(this.selectedOptions);\r\n }\r\n if (newValue == 'false') {\r\n this.hasServiceCenter.setValue(false);\r\n this.servicePlusOptions.forEach((option) => {\r\n let index = this.selectedOptions.findIndex(\r\n (d) => d == option.servicePlusId\r\n );\r\n this.selectedOptions.splice(index, 1);\r\n option.checked = false;\r\n });\r\n this.checkBoxChange.emit(this.selectedOptions);\r\n }\r\n }\r\n );\r\n }\r\n\r\n getDisabledValue(option: any) {\r\n if (!this.editable) {\r\n return true;\r\n }\r\n if (this.enableAll) {\r\n return false;\r\n }\r\n if (this.hasRetroOrReinsurance && option.defaultDisabled) {\r\n return true;\r\n }\r\n if (option.defaultDisabled && !this.hasServiceCenter.value) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n openTooltipDialog(option: any) {\r\n this.dialog.open(QuicksignServicePlusTooltipDialogComponent, {\r\n data: option,\r\n });\r\n }\r\n\r\n isDisabledChecked(option: any) {\r\n if (option.defaultDisabled && option.checked) {\r\n option.checked = false;\r\n\r\n // Remove the option's ID from the selectedOptions array\r\n const index = this.selectedOptions.findIndex(\r\n (d) => d == option.servicePlusId\r\n );\r\n if (index !== -1) {\r\n this.selectedOptions.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n checkboxChangeEvent(event: MatCheckboxChange, option: any, index: number) {\r\n if (!this.hasServiceCenter.value) {\r\n option.checked = false;\r\n }\r\n if (event.checked) {\r\n if (this.partSourcingIds.includes(option.servicePlusId)) {\r\n for (let index = 0; index < this.partSourcingIds.length; index++) {\r\n const id = this.partSourcingIds[index];\r\n const selectedIndex = this.selectedOptions.findIndex((d) => d == id);\r\n if (selectedIndex !== -1) {\r\n this.selectedOptions.splice(selectedIndex, 1);\r\n }\r\n if (option.servicePlusId != id) {\r\n const selectedOptionIndex = this.servicePlusOptions.findIndex(\r\n (d) => d.servicePlusId == id\r\n );\r\n this.servicePlusOptions[selectedOptionIndex].checked = false;\r\n }\r\n }\r\n }\r\n this.selectedOptions.push(option.servicePlusId);\r\n } else {\r\n const index = this.selectedOptions.findIndex(\r\n (d) => d == option.servicePlusId\r\n );\r\n this.selectedOptions.splice(index, 1);\r\n }\r\n this.servicePlusOptions[index].checked = event.checked;\r\n // Emit the checkBoxChange event with selected options\r\n this.checkBoxChange.emit(this.selectedOptions);\r\n }\r\n}\r\n","
0\">\r\n
\r\n \r\n
\r\n Dealer has a Service Center\r\n \r\n \r\n \r\n
\r\n {{ option.name }}\r\n
\r\n \r\n \r\n info\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ClaimService } from '../../claim.service';\r\nimport { ActivatedRoute, Router} from '@angular/router';\r\nimport {OverrideDialogComponent} from '../override-dialog.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { PrincipalService } from 'src/shared/principal.service';\r\n\r\n@Component({\r\n selector: 'app-override-dialog-confirmation',\r\n templateUrl: './override-dialog-confirmation.component.html',\r\n styleUrls: ['./override-dialog-confirmation.component.css']\r\n})\r\nexport class OverrideDialogConfirmationComponent implements OnInit {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private claimService: ClaimService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private dialog: MatDialog,\r\n private snackBar: MatSnackBar,\r\n private principal: PrincipalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n console.log(this.data)\r\n }\r\n onCancelClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onConfirmClick(): void {\r\n const claimNumber = this.router.url.split('/')[2];\r\n console.log(this.data);\r\n const overridePostBody = {\r\n \"EmailAddressedTo\": this.principal.firstName ?? \"Customer\",\r\n \"Name\": this.data.formData.name,\r\n \"Title\": this.data.formData.title,\r\n \"PaymentRecipient\": this.data.formData.paymentRecipient,\r\n \"PayeeName\": this.data.formData.payeeName,\r\n \"PaymentMethod\": this.data.formData.paymentMethod,\r\n \"AccountName\" : this.data.formData.accountName,\r\n \"AccountType\" : this.data.formData.accountType,\r\n \"RoutingNumber\" : this.data.formData.routingNumber,\r\n \"AccountNumber\" : this.data.formData.accountNumber,\r\n \"PaymentAmount\": this.data.formData.paymentAmount,\r\n \"AdditionalComments\" : this.data.formData.additionalComments,\r\n };\r\n console.log(overridePostBody);\r\n this.claimService.postOverridePayment(claimNumber, overridePostBody).subscribe((res) => {\r\n console.log(res);\r\n });\r\n this.dialog.closeAll();\r\n }\r\n}\r\n","

Are you sure you want to submit this override?

\r\n
\r\n \r\n Cancel\r\n \r\n \r\n Submit\r\n \r\n
\r\n","import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AnnualVscSales } from '../../shared/dashboard.model';\r\n\r\n@Component({\r\n selector: 'app-annual-vsc-sales',\r\n templateUrl: './annual-vsc-sales.component.html',\r\n styleUrls: ['./annual-vsc-sales.component.css'],\r\n})\r\nexport class AnnualVscSalesComponent implements OnChanges {\r\n @Input() annualVscSales$: Observable;\r\n @Input() hideFutureMonths: boolean = false;\r\n\r\n data;\r\n chartType = 'AreaChart';\r\n columnNames = ['Month', 'This Year', 'Last Year'];\r\n options = {\r\n colors: ['#333333', '#01B8AA'],\r\n aggregationTarget: 'year',\r\n chartArea: {left:100, width: '85%' },\r\n animation: {\r\n startup: true,\r\n duration: 1000,\r\n easing: 'out',\r\n },\r\n legend: 'bottom',\r\n lineWidth: 3,\r\n pointSize: 2\r\n };\r\n\r\n chartImage:string = null;\r\n\r\n constructor() {}\r\n\r\n // tslint:disable-next-line: use-lifecycle-interface\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.chartImage = null;\r\n this.annualVscSales$.subscribe({\r\n next: (res) => {\r\n if (res.length > 0) {\r\n this.data = res.map((d) => [d.monthName, d.current, d.previous]);\r\n // for any month that is null, show as 0\r\n this.data.forEach((d) => {\r\n if (d[1] === null) {\r\n d[1] = 0;\r\n }\r\n if (d[2] === null) {\r\n d[2] = 0;\r\n }\r\n });\r\n\r\n if(this.hideFutureMonths){\r\n var currentMonth = new Date().getMonth();\r\n for (let i = currentMonth + 1; i < this.data.length; i++) {\r\n this.data[i][1] = null;\r\n }\r\n }\r\n } else {\r\n this.data = null;\r\n }\r\n },\r\n });\r\n }\r\n\r\n onReady(event) {\r\n this.chartImage = event.chart.getImageURI();\r\n }\r\n}\r\n","\r\n

Current Year vs Last Year

\r\n
\r\n
No Results
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CilajetService {\r\n private endpoint: string;\r\n constructor(private httpClient: HttpClient) {\r\n this.endpoint = environment.dashboardEndpoint;\r\n }\r\n\r\n submitForm(payload: any) {\r\n return this.httpClient.post(`${this.endpoint}api/cilajet`, payload);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../environments/environment';\r\nimport {\r\n NewDealerSignup,\r\n AnnualVscSales,\r\n UnpaidContractTotals,\r\n TopSellers,\r\n AList,\r\n ClaimsList,\r\n OutfieldVisits,\r\n WorkingDaysbyYear,\r\n Outstanding,\r\n SavedQuotes,\r\n Products,\r\n} from './dashboard.model';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Params, UrlHandlingStrategy } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DashboardService {\r\n private endPoint: string;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.endPoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n private buildParams(source: any) {\r\n const result = {};\r\n for (const prop in source) {\r\n if (source[prop] !== null && source[prop] !== undefined) {\r\n result[prop] = source[prop];\r\n }\r\n }\r\n return result as Params;\r\n }\r\n\r\n getNewDealerSignups(paramsObj: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/new-dealers`,\r\n { params: this.buildParams(paramsObj) }\r\n );\r\n }\r\n\r\n getAnnualVscSales(filters: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/annual-vsc-sales`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n getRevenue(filters: any) {\r\n return this.httpClient.get(`${this.endPoint}dashboard/revenue`, {\r\n params: this.buildParams(filters),\r\n });\r\n }\r\n\r\n getCommission(filters: any): Observable {\r\n return this.httpClient.get(`${this.endPoint}dashboard/commission`, {\r\n params: this.buildParams(filters),\r\n });\r\n }\r\n\r\n getClaimsPaidAmount(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/claims-paid-amount`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n getContractSaleTotal(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/contract-sale-total`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n getSavedQuoteTotal(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/saved-quote-total`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n getTopSellers(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/top-sellers`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n redDealers(filters: any) {\r\n return this.httpClient.get(`${this.endPoint}dashboard/red-dealers`, {\r\n params: this.buildParams(filters),\r\n });\r\n }\r\n\r\n dealerPerformance(filters: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/dealer-performance`,\r\n {\r\n params: this.buildParams(filters),\r\n }\r\n );\r\n }\r\n\r\n downloadDealerPerformancePDF(filters: any) {\r\n return this.httpClient\r\n .get(`${this.endPoint}dashboard/dealer-performance/download`, {\r\n params: this.buildParams(filters),\r\n responseType: 'blob',\r\n })\r\n .pipe(map((res: Blob) => URL.createObjectURL(res)));\r\n }\r\n\r\n getUnpaidContractTotals(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/unpaid-contract-totals`,\r\n { params: this.buildParams(filters) }\r\n );\r\n }\r\n\r\n getAListStatus(agentNumber: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/alist-status`,\r\n { params: { agentNumber } }\r\n );\r\n }\r\n\r\n agentRank(\r\n startDate: string,\r\n endDate: string,\r\n agentNumber: string\r\n ): Observable {\r\n return this.httpClient.get(`${this.endPoint}dashboard/agent-rank`, {\r\n params: { startDate, endDate, agentNumber },\r\n });\r\n }\r\n\r\n getClaimsList(params: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/claims-list`,\r\n { params: this.buildParams(params) }\r\n );\r\n }\r\n\r\n outfieldVisits(filters: any) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/outfield-visits`,\r\n {\r\n params: this.buildParams(filters),\r\n }\r\n );\r\n }\r\n\r\n contractSalesGoal(filters: any): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/contract-sales-goal`,\r\n {\r\n params: this.buildParams(filters),\r\n }\r\n );\r\n }\r\n\r\n workingDaysByYear(year: string): Observable {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/working-days`,\r\n {\r\n params: { year },\r\n }\r\n );\r\n }\r\n\r\n unpaidContracts(params: Params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/unpaid-contracts`,\r\n {\r\n params: params as Params,\r\n }\r\n );\r\n }\r\n\r\n downloadUnpaidContracts(params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/unpaid-contracts/download`,\r\n {\r\n params: params,\r\n responseType: 'blob' as 'json',\r\n }\r\n );\r\n }\r\n\r\n savedQuotes(params: Params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/saved-quotes`,\r\n {\r\n params: params as Params,\r\n }\r\n );\r\n }\r\n\r\n downloadSavedQuotes(params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/saved-quotes/download`,\r\n {\r\n params: params,\r\n responseType: 'blob' as 'json',\r\n }\r\n );\r\n }\r\n\r\n getProductSalesReport(params: Params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/product-sales-report`,\r\n {\r\n params: params,\r\n }\r\n );\r\n }\r\n\r\n downloadProductSalesReport(params: Params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/product-sales-report/download`,\r\n {\r\n params: params,\r\n responseType: 'blob' as 'json',\r\n }\r\n );\r\n }\r\n\r\n productSales(payload: {\r\n startDate: string;\r\n endDate: string;\r\n scsNumber?: string;\r\n productTypeId?: number;\r\n }) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/product-sales`,\r\n {\r\n params: payload as any,\r\n }\r\n );\r\n }\r\n\r\n contractList(payload: {\r\n dealerNumber: string;\r\n startDate: string;\r\n endDate: string;\r\n }) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/contract-list`,\r\n {\r\n params: payload as any,\r\n }\r\n );\r\n }\r\n\r\n userActivity(params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/user-activity`,\r\n {\r\n params: params,\r\n }\r\n );\r\n }\r\n\r\n downloadUserActivity(params) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/user-activity/download`,\r\n {\r\n params: params,\r\n responseType: 'blob' as 'json',\r\n }\r\n );\r\n }\r\n\r\n getSaleOverview(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/sales-overview`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getDealerOnboardingStats(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/dealer-onboarding`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getDealerOnboardingStatus(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/dealer-onboarding/status`,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n postDealerOnboardingNote(dealerNumber: string, payload: any) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dashboard/dealer-onboarding/note`,\r\n payload,\r\n {\r\n params: { dealerNumber },\r\n }\r\n );\r\n }\r\n\r\n getAgentOpportunities(filters) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/agent-opportunities`,\r\n {\r\n params: this.buildParams(filters),\r\n }\r\n );\r\n }\r\n\r\n getOpportunity(opportunityID: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/agent-opportunity/${opportunityID}`\r\n );\r\n }\r\n\r\n getOpportunityNotes(opportunityID: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/agent-opportunity/${opportunityID}/notes`\r\n );\r\n }\r\n\r\n postOpportunityNote(opportunityID: string, payload) {\r\n return this.httpClient.post(\r\n `${this.endPoint}dashboard/agent-opportunity/${opportunityID}/note`,\r\n payload\r\n );\r\n }\r\n\r\n getYtdSalesTotal(params) {\r\n return this.httpClient.get(`${this.endPoint}dashboard/ytd-sales-total`, {\r\n params,\r\n });\r\n }\r\n\r\n // filters\r\n filtersDealersByScsNumber(\r\n scsNumber: string,\r\n onlyActiveDealers: boolean = false\r\n ) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/dealers-by-scs-number`,\r\n {\r\n params: { scsNumber, onlyActiveDealers: onlyActiveDealers.toString() },\r\n }\r\n );\r\n }\r\n\r\n filtersDealersByAgentNumber(\r\n agentNumber,\r\n dealerFilter,\r\n includeDFI = true,\r\n includeAPC = true,\r\n includeCancelled = true\r\n ) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/dealers-by-agent-number`,\r\n {\r\n params: this.buildParams({\r\n agentNumber,\r\n dealerFilter,\r\n includeDFI,\r\n includeAPC,\r\n includeCancelled,\r\n }),\r\n }\r\n );\r\n }\r\n\r\n filtersAgents(agentNumber: string, includeCancelled = true) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/agents`,\r\n {\r\n params: this.buildParams({ agentNumber, includeCancelled }),\r\n }\r\n );\r\n }\r\n\r\n filterAgentsDealers(agentNumber: string, onlyActiveDealers: boolean = false) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/agents/dealers`,\r\n {\r\n params: {\r\n agentNumber,\r\n onlyActiveDealers: onlyActiveDealers.toString(),\r\n },\r\n }\r\n );\r\n }\r\n\r\n filtersGetSelectedDealers(dealerNumber) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/selected-dealers`,\r\n {\r\n params: this.buildParams({ dealerNumber }),\r\n }\r\n );\r\n }\r\n\r\n filtersProductTypes() {\r\n return this.httpClient.get(\r\n `${this.endPoint}dashboard/filters/product-types`\r\n );\r\n }\r\n\r\n getDealerDetails(dealerNumber: string): any {\r\n return this.httpClient.get(`${this.endPoint}dealer/${dealerNumber}`);\r\n }\r\n\r\n getDealerReinsurance(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/${dealerNumber}/reinsurance`\r\n );\r\n }\r\n getDealerMarkupsAndPacks(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/${dealerNumber}/markups-and-packs`\r\n );\r\n }\r\n getDealerNoChargeback(dealerNumber: string) {\r\n return this.httpClient.get(\r\n `${this.endPoint}dealer/${dealerNumber}/no-chargeback`\r\n );\r\n }\r\n}\r\n","import { ENTER, COMMA } from '@angular/cdk/keycodes';\r\nimport { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { startWith, debounceTime, switchMap, map } from 'rxjs/operators';\r\nimport { DashboardService } from '../dashboard.service';\r\n\r\n@Component({\r\n selector: 'app-agent-filtered-chip-select',\r\n templateUrl: './agent-filtered-chip-select.component.html',\r\n styleUrls: ['./agent-filtered-chip-select.component.css'],\r\n})\r\nexport class AgentFilteredChipSelectComponent implements OnInit {\r\n separatorKeysCodes: number[] = [ENTER, COMMA];\r\n accessFilter: Observable;\r\n inputFilter = new FormControl();\r\n agents: { agentNumber: string; agentName: string }[] = [];\r\n\r\n @Input('bindFormControl')\r\n formControl = new FormControl();\r\n\r\n @Input('required')\r\n required = false;\r\n\r\n @Input('label')\r\n label: string = 'Agent';\r\n\r\n @Input('selectedAgents')\r\n selectedAgents: [] = [];\r\n\r\n @Input('agentList')\r\n agentList: { agentNumber: string; agentName: string }[] = [];\r\n\r\n @ViewChild('agentInput') agentInput: ElementRef;\r\n\r\n constructor(private dashboard: DashboardService) {\r\n this.accessFilter = this.inputFilter.valueChanges.pipe(\r\n startWith(null),\r\n map((m: string | null) => (m ? this._filter(m) : this.agentList.slice()))\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n if (this.selectedAgents) {\r\n this.selectedAgents.forEach((x) => {\r\n var agent = this.agentList.find((m) => m.agentNumber == x);\r\n if (agent) {\r\n this.agents.push({\r\n agentNumber: agent.agentNumber,\r\n agentName: agent.agentName,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n private _filter(value: string): any[] {\r\n if (typeof value === 'string') {\r\n const filterValue = value.toLowerCase();\r\n return this.agentList.filter((m) =>\r\n m.agentName.toLowerCase().includes(filterValue)\r\n || m.agentNumber.toLowerCase().includes(filterValue)\r\n );\r\n }\r\n return this.agentList;\r\n }\r\n\r\n ngOnChanges() {\r\n if (!this.selectedAgents) {\r\n this.agents = [];\r\n }\r\n }\r\n\r\n displayWith(value: AgentDetail) {\r\n if (value && value.agentNumber) {\r\n return `${value.agentNumber} - ${value.agentName}`;\r\n }\r\n return value;\r\n }\r\n\r\n add(event: MatChipInputEvent): void {\r\n const value = (event.value || '').trim();\r\n // Add our agent\r\n if (value) {\r\n this.agents.push({ agentNumber: event.value, agentName: event.value });\r\n }\r\n // Clear the input value\r\n event.input!.value = '';\r\n this.formControl.setValue(this.agents.map((m) => m.agentNumber));\r\n }\r\n\r\n remove(dealer: any): void {\r\n const index = this.agents.indexOf(dealer);\r\n if (index >= 0) {\r\n this.agents.splice(index, 1);\r\n }\r\n this.formControl.setValue(this.agents.map((m) => m.agentNumber));\r\n }\r\n\r\n selected(event: MatAutocompleteSelectedEvent): void {\r\n if(!this.agents.find(m => m.agentNumber == event.option.value.agentNumber)){\r\n this.agents.push({\r\n agentNumber: event.option.value.agentNumber,\r\n agentName: event.option.value.agentName,\r\n });\r\n }\r\n this.agentInput.nativeElement.value = '';\r\n this.formControl.setValue(this.agents.map((m) => m.agentNumber));\r\n }\r\n}\r\n\r\nexport interface AgentDetail {\r\n agentNumber: string;\r\n agentName: string;\r\n}\r\n","\r\n {{ label }}\r\n \r\n \r\n {{ agent.agentNumber }} {{ agent.agentName }}\r\n cancel\r\n \r\n \r\n \r\n \r\n \r\n {{ opt.agentNumber }} - {{ opt.agentName }}\r\n \r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-authorized',\r\n templateUrl: './not-authorized.component.html',\r\n styleUrls: ['./not-authorized.component.css']\r\n})\r\nexport class NotAuthorizedComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

401: Not Authorized

\r\n\r\n

\r\n Click here to return to Zoom\r\n

\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'termMileage'\r\n})\r\nexport class TermMileagePipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if (value === 999999) {\r\n return 'Unlimited';\r\n }\r\n return value;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { PrincipalService } from './principal.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PermissionGuard implements CanActivate {\r\n constructor(private principal: PrincipalService, private router: Router) {}\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ): boolean {\r\n const allowedRoles = route.data.allowedRoles as Array;\r\n if (this.principal.hasRoles(allowedRoles)) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/not-found']);\r\n return false;\r\n }\r\n }\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nimport './abstract-form-extensions';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [{ provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers)\r\n .bootstrapModule(AppModule)\r\n .catch((err) => console.log(err));\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../environments/environment';\r\nimport { PrincipalService } from './principal.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { DealerSurveyDialogComponent } from 'src/dealer-survey-dialog/dealer-survey-dialog.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DealerService {\r\n private endpoint: string;\r\n constructor(\r\n private http: HttpClient,\r\n private principal: PrincipalService,\r\n private dialog: MatDialog,\r\n private router: Router,\r\n private snackBar: MatSnackBar\r\n ) {\r\n this.endpoint = environment.dashboardEndpoint + environment.version;\r\n }\r\n\r\n timeout: any = null;\r\n\r\n getTerminatedDealersLastMonth() {\r\n return this.http.get(\r\n `${this.endpoint}dealer/terminated-dealers-last-month`\r\n );\r\n }\r\n\r\n activateDealer(dealerNumber: string) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n const body = JSON.stringify(dealerNumber);\r\n\r\n return this.http.post(\r\n `${this.endpoint}dealer/quickreinstate-reactivate-dealer`,\r\n body,\r\n { headers: headers }\r\n );\r\n }\r\n\r\n getPendingDealerAttrition() {\r\n var baseUrl = `${this.endpoint}dealer/pending-dealer-attrition`;\r\n return this.http.get(baseUrl);\r\n }\r\n\r\n postponeTermination(dealerNumber: string, lastSaleDate: Date) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n });\r\n const body = JSON.stringify(lastSaleDate);\r\n\r\n return this.http.post(\r\n `${this.endpoint}dealer/postpone-termination/${dealerNumber}`,\r\n body,\r\n { headers: headers }\r\n );\r\n }\r\n getCurrentDealerSurvey(userId: string) {\r\n return this.http.get(`${this.endpoint}dealer/${userId}/survey`);\r\n }\r\n\r\n updateDealerSurvey(survey: any) {\r\n return this.http.put(`${this.endpoint}dealer/survey`, survey);\r\n }\r\n\r\n getDealerRetro(dealerNumber: string) {\r\n return this.http.get(`${this.endpoint}dealer/${dealerNumber}/retro`);\r\n }\r\n\r\n public checkForDealerSurvey(\r\n waitTime: number = 0,\r\n allowPage: boolean = false\r\n ) {\r\n if (this.timeout != null) {\r\n if (!environment.production) {\r\n console.log('Dealer Survey: (TIMEOUT ' + this.timeout + ') clearedx');\r\n }\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n if (!this.principal.isAuthenticated) return;\r\n if (\r\n !this.principal.hasUserViewAccess(['Dealer']) &&\r\n !this.principal.hasUserViewAccess(['Agent'])\r\n ) {\r\n return;\r\n }\r\n this.getCurrentDealerSurvey(this.principal.id).subscribe({\r\n next: (result: any) => {\r\n if (result != null) {\r\n return;\r\n } else {\r\n if (waitTime > 0) {\r\n this.setDealerSurveyTimeout(waitTime, allowPage);\r\n return;\r\n }\r\n this.openDealerSurveyDialog(false, allowPage);\r\n }\r\n },\r\n });\r\n }\r\n\r\n public openDealerSurveyDialog(\r\n isTimeoutTriggered: boolean = false,\r\n allowPage: boolean = false\r\n ) {\r\n if (this.timeout != null) {\r\n if (!environment.production) {\r\n console.log('Dealer Survey: (TIMEOUT ' + this.timeout + ') cleared');\r\n }\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n if (\r\n (this.router.url.includes('quicktrack') ||\r\n this.router.url.includes('contract/') ||\r\n this.router.url.includes('contracts/saved-quotes') ||\r\n this.router.url.includes('dashboard') ||\r\n this.router.url.includes('report')) &&\r\n !allowPage\r\n ) {\r\n if (!environment.production) {\r\n console.log('Dealer Survey: Page not allowed.');\r\n }\r\n return;\r\n }\r\n this.dialog.closeAll();\r\n this.dialog\r\n .open(DealerSurveyDialogComponent, {\r\n width: '570px',\r\n data: { isTimeoutTriggered: isTimeoutTriggered },\r\n autoFocus: false,\r\n disableClose: true,\r\n })\r\n .afterClosed()\r\n .subscribe({\r\n next: (result) => {\r\n if (result)\r\n this.snackBar.open('Thank you for your feedback!', 'Dismiss', {\r\n horizontalPosition: 'center',\r\n verticalPosition: 'top',\r\n duration: 2000,\r\n });\r\n },\r\n error: (error) => {},\r\n });\r\n }\r\n\r\n private setDealerSurveyTimeout(waitTime: number, allowPage: boolean = false) {\r\n this.timeout = setTimeout(() => {\r\n this.openDealerSurveyDialog(waitTime > 0, allowPage);\r\n }, waitTime * 1000);\r\n if (!environment.production) {\r\n console.log(\r\n 'Dealer Survey: (TIMEOUT ' +\r\n this.timeout +\r\n ') waiting for ' +\r\n waitTime +\r\n ' seconds.'\r\n );\r\n }\r\n }\r\n}\r\n","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 = \"zn8P\";"]}