{"version":3,"file":"main.9311de4af0ac3a3e.js","mappings":"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","sources":["./src/app/Core/SubSink.ts","./src/app/Core/apiRoutes.enum.ts","./src/app/Core/assessmentQuestionType.enum.ts","./src/app/Core/routes.enum.ts","./src/app/Core/storage.ts","./src/app/Core/userRole.enum.ts","./src/app/account/agent-landing-page/agent-landing-page.component.ts","./src/app/account/agent-landing-page/agent-landing-page.component.html","./src/app/account/agent-signup/agent-signup.component.ts","./src/app/account/agent-signup/agent-signup.component.html","./src/app/account/landing-page/landing-page.component.ts","./src/app/account/landing-page/landing-page.component.html","./src/app/account/login/login.component.ts","./src/app/account/login/login.component.html","./src/app/account/sign-up/sign-up.component.ts","./src/app/account/sign-up/sign-up.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/pages/angular-img/angular-img.component.ts","./src/app/pages/angular-img/angular-img.component.html","./src/app/pages/demo/demo.component.ts","./src/app/pages/demo/demo.component.html","./src/app/services/account.service.ts","./src/app/services/address.service.ts","./src/app/services/commonFunctions.ts","./src/app/services/faq.service.ts","./src/app/services/inquiry.service.ts","./src/app/services/toast.service.ts","./src/app/shared/Services/LowerCaseUrlSerializer.ts","./src/app/shared/Services/coin.service.ts","./src/app/shared/Services/loader.service.ts","./src/app/shared/Services/sideBar.service.ts","./src/app/shared/bar-chart/bar-chart.component.ts","./src/app/shared/bar-chart/bar-chart.component.html","./src/app/shared/common-pdf-download/common-pdf-download.component.ts","./src/app/shared/common-pdf-download/common-pdf-download.component.html","./src/app/shared/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/confirm-dialog/confirm-dialog.component.html","./src/app/shared/delete-confirmation/delete-confirmation.component.ts","./src/app/shared/delete-confirmation/delete-confirmation.component.html","./src/app/shared/directives/NoDot.directive.ts","./src/app/shared/directives/alpha-numeric.directive.ts","./src/app/shared/directives/default-number.directive.ts","./src/app/shared/directives/digitonly.directive.ts","./src/app/shared/directives/number-comma.directive.directive.ts","./src/app/shared/directives/numberDirective.directive.ts","./src/app/shared/directives/string.directive.ts","./src/app/shared/directives/trim-input.directive.ts","./src/app/shared/doughnut-chart/doughnut-chart.component.ts","./src/app/shared/doughnut-chart/doughnut-chart.component.html","./src/app/shared/gauge-chart/gauge-chart.component.ts","./src/app/shared/gauge-chart/gauge-chart.component.html","./src/app/shared/guards/auth-guard.guard.ts","./src/app/shared/guards/schedule-event.guard.ts","./src/app/shared/interceptor/headers.interceptor.ts","./src/app/shared/loader/loader.component.ts","./src/app/shared/loader/loader.component.html","./src/app/shared/message-dialog/message-dialog.component.ts","./src/app/shared/message-dialog/message-dialog.component.html","./src/app/shared/shared.module.ts","./src/app/theme/header/header.component.ts","./src/app/theme/header/header.component.html","./src/app/theme/side-bar/side-bar.component.ts","./src/app/theme/side-bar/side-bar.component.html","./src/app/theme/theme-routing.module.ts","./src/app/theme/theme.module.ts","./src/environments/environment.dev.ts","./src/main.ts"],"sourcesContent":["import { Subscription } from \"rxjs\";\r\n\r\n\r\nexport class SubSink {\r\n\r\n private allSubscription: Subscription[] = [];\r\n\r\n set sink(sub:any){\r\n this.allSubscription.push(sub);\r\n }\r\n\r\n unSubscribe(){\r\n this.allSubscription.forEach(sub => sub.unsubscribe());\r\n }\r\n}","export enum apiRoutes {\r\n account = 'Account',\r\n login = 'Account/Login',\r\n signup = 'Account/SignUp',\r\n profitAdviserSignup = 'Account/SignUpAdviser',\r\n SecondSignUp = 'Account/SecondSignUp',\r\n ResetPassword = 'Account/ResetPassword',\r\n VerifyOtp = 'Account/VerifyOtp',\r\n ResendOtp = 'Account/ResendOtp',\r\n ForgetPassword = 'Account/ForgetPassword',\r\n verifyEmail = 'Account/verifyEmail',\r\n GetUserById = 'User/GetById',\r\n checkIfUriCorrect = 'Account/CheckUriCorrect',\r\n profileUpdate = 'user/UpdateProfile',\r\n userPasswordChange = 'user/ChangePassword',\r\n addLoanOfficer = 'user/addLoanOfficer',\r\n addEditProfitAdviser = 'user/AddUpdateProfitAdvisor',\r\n getLoanOfficer = 'User/GetById',\r\n unarchive = 'User/unarchive',\r\n profitArchives = 'User/profit/archive',\r\n getUserDetailByUserId = 'UserDetails/GetByUserId',\r\n getUserDetailsByUserId = 'UserDetails/GetUserDetailByUserId',\r\n\r\n CalandlySetUserEvent = 'Calandly/SetUserEvent',\r\n\r\n //assessment routes\r\n\r\n //assessment routes\r\n saveAssessment = 'Assessment',\r\n GetAssessmentById = 'Assessment/GetById',\r\n GetAssessmentUserEventList = 'Assessment/GetUserEventList',\r\n GetAssessmentByUserId = 'Assessment/GetByUserID',\r\n GetAssessmentPdfDetail = 'Assessment/GetAssessmentPdfDetail',\r\n deleteAssessement = 'Assessment',\r\n getAssessmentQuestionsById = 'AssessmentQuestion/GetByAssessmentId',\r\n GetAssessmentQuestionCategory = 'AssessmentQuestionCategory/',\r\n GetAllCategory = 'AssessmentQuestionCategory',\r\n addCategory = 'AssessmentQuestionCategory',\r\n\r\n getAllQuestions = 'AssessmentQuestionMaster',\r\n addQuestion = 'AssessmentQuestionMaster',\r\n editQuestion = 'AssessmentQuestionMaster',\r\n deleteQuestion = 'AssessmentQuestionMaster',\r\n getQuestionByCategory = 'AssessmentQuestionMaster/GetByAssessmentQuestionCategoryId',\r\n getQuestionWithCategory = 'AssessmentQuestionMaster/GetQuestionWithCategory',\r\n getAllProfitAdviser = 'User/GetAllProfitAdviser',\r\n deleteLoanOfficer = 'User',\r\n User = 'User',\r\n agentAssign = 'User/agent/assign',\r\n\r\n //Inquiry Routes\r\n getAllInquire = 'Inquiry',\r\n addInquiry = 'Inquiry',\r\n GetByEmailId = 'Inquiry/GetByEmailId',\r\n\r\n // FAQ Routes\r\n FAQ = 'FAQ',\r\n\r\n // profit course\r\n getAllProfitPlanCourseClasses = 'Courses/GetByIdCourseAllProfitPlan',\r\n getAllCourse = 'Courses/GetAllCourse',\r\n\r\n course = 'Courses',\r\n addCourse = 'Courses/AddCourse',\r\n updateCourse = 'Courses/UpdateSaveCourse',\r\n getCourseById = '/GetByIdCourse',\r\n deleteCourseAndPlan = '/DeleteCourseProfit',\r\n downloadCourseAndPlan = '/ExportExcelAllProfitPlan',\r\n\r\n DeleteProfitPlan = '/DeleteProfitPlan',\r\n // profit plan classes\r\n profitPlan = '',\r\n addprofitPlan = '/AddProfitPlan',\r\n resetPassword = 'Account/ResetPassword',\r\n\r\n //new API Routes\r\n preProfitSignUp = 'PreProfitPlan/SignUp',\r\n preProfitLogin = 'PreProfitPlan/Login',\r\n preForgotPassword = 'PreProfitPlan/ForgotPassword',\r\n preChangePassword = 'PreProfitPlan/ChangePassword',\r\n preGetUserById = 'PreProfitPlan/GetUserById',\r\n updateUserDetail = 'PreProfitPlan/UpdateUserDetails',\r\n createMortgageAssessment = 'PreProfitPlan/CreateMortgageAssessment',\r\n downloadExcel = 'PreProfitPlan/DownloadExcel',\r\n getMortgageAssessment = 'PreProfitPlan/GetMortgageAssessment',\r\n getUserList = 'PreProfitPlan/GetUserList',\r\n getAssessmentList = 'PreProfitPlan/GetAssessmentList',\r\n preProfitResetPassword = 'PreProfitPlan/ResetPassword',\r\n sendMail = 'PreProfitPlan/SendMail',\r\n searchTerm = 'PreProfitPlan/SearchTerm',\r\n exportCSV = 'PreProfitPlan/ExportUsersToExcel'\r\n}\r\n","\r\n\r\nexport enum AssessmentQuestionType {\r\n Objective = 1,\r\n Other = 2,\r\n None = 3,\r\n Yes = 4,\r\n No = 5,\r\n}","export enum accountRoutes {\r\n account = 'account',\r\n login = 'login',\r\n welcome = 'welcome',\r\n signup = 'signup',\r\n profitOfficerSignup = 'profitadvisersignup',\r\n forgotpassword = 'forgotpassword',\r\n resetpassword = 'resetpassword',\r\n resetpasswordafterverification = 'resetpasswordafterverification',\r\n sendotp = 'sendotp',\r\n verifyotp = 'verifyotp',\r\n eventSignup = 'eventsignup',\r\n agentSignup = 'signup',\r\n verifyAccount = 'verifyaccount',\r\n thanks = 'thanks',\r\n agentSignUp2 = 'agentsignup',\r\n agentWelcome = 'agentwelcome',\r\n agentLanding = 'agentlanding'\r\n}\r\n\r\nexport enum appRoute {\r\n pages = 'pages',\r\n appoitments = 'appoitments',\r\n eventSchedule = 'scheduleevent',\r\n questionConfig = 'questionconfig',\r\n profitofficer = 'profitofficer',\r\n assessment = 'assessment',\r\n newAssessment = 'newassessment',\r\n agentAssessment = 'agentassessment',\r\n changepassword = 'changepassword',\r\n userprofile = 'userprofile',\r\n downloadPdf = 'downlaodpdf',\r\n inquiry = 'inquiry',\r\n poInquiry = 'poinquiry',\r\n agents = 'agents',\r\n faq = 'faq',\r\n unarchive = 'unarchive',\r\n adminassessment = 'adminassessment',\r\n agentProfitPlan = 'agentProfitPlan',\r\n agentProfitPlanlist = 'agentProfitPlanlist',\r\n agentProfitScript = 'agentProfitScript',\r\n agentProfitUses = 'agentProfitUses',\r\n agentProfitUsesList = 'agentProfitUsesList',\r\n weeklyPlans = 'weeklyPlans',\r\n agentScriptCallsClasses = 'agentScriptCallsClasses',\r\n weeklyPlanSuccessList = 'weeklyPlanSuccessList',\r\n preAssessment = 'pre-assessment',\r\n profitPlanReport = 'profit-plan-report'\r\n}\r\n","import {BehaviorSubject} from 'rxjs';\r\nimport {IUser} from 'src/app/Models/user.interface';\r\n\r\nexport class Storage {\r\n public static userDataEvent = new BehaviorSubject({} as IUser);\r\n\r\n public static setUserData(user: IUser) {\r\n window.localStorage.setItem('user', JSON.stringify(user));\r\n this.userDataEvent.next(user);\r\n }\r\n public static setParentUri(uri: string) {\r\n return window.localStorage.setItem('parentUri', uri);\r\n }\r\n public static getParentUri() {\r\n return window.localStorage.getItem('parentUri') ?? '';\r\n }\r\n public static removeParentUri() {\r\n window.localStorage.removeItem('parentUri');\r\n }\r\n\r\n public static getUserData(): IUser | null {\r\n const user = window.localStorage.getItem('user');\r\n if (user) {\r\n return JSON.parse(user) as IUser;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static setToken(token: string) {\r\n return window.localStorage.setItem('token', token);\r\n }\r\n\r\n public static getToken() {\r\n return window.localStorage.getItem('token') ?? '';\r\n }\r\n public static removeUserData() {\r\n window.localStorage.removeItem('token');\r\n window.localStorage.removeItem('user');\r\n window.localStorage.clear();\r\n this.userDataEvent.next({} as IUser);\r\n }\r\n\r\n public static getEmptyGuid() {\r\n return '00000000-0000-0000-0000-000000000000';\r\n }\r\n\r\n public static setDataToStorage(key: any, data: any) {\r\n localStorage.setItem(key, JSON.stringify(data));\r\n }\r\n\r\n public static getDataFromStorage(key: any) {\r\n let data = localStorage.getItem(key);\r\n if (!data) return null;\r\n\r\n return JSON.parse(data);\r\n }\r\n}\r\n","export enum UserRoleEnum {\r\n Admin = 1,\r\n User = 2,\r\n EventUser = 3,\r\n ProfitAdviser = 4,\r\n Agent = 5\r\n}\r\n\r\nexport enum storageEnums {\r\n USER_ID = 'userId',\r\n ASSESSMENT_ID = 'assessmentId'\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { CountryISO, PhoneNumberFormat, SearchCountryField } from 'ngx-intl-tel-input';\r\nimport { accountRoutes } from 'src/app/Core/routes.enum';\r\nimport { SubSink } from 'src/app/Core/SubSink';\r\nimport { IFAQ } from 'src/app/Models/faq.interface';\r\nimport { IUser } from 'src/app/Models/user.interface';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { AddressServiceService } from 'src/app/services/address.service';\r\nimport { FAQService } from 'src/app/services/faq.service';\r\nimport { InquiryService } from 'src/app/services/inquiry.service';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { LoaderService } from 'src/app/shared/Services/loader.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-agent-landing-page',\r\n templateUrl: './agent-landing-page.component.html',\r\n styleUrls: ['./agent-landing-page.component.css']\r\n})\r\nexport class AgentLandingPageComponent implements OnInit {\r\n ngOnDestroy(): void {\r\n this.subSink.unSubscribe();\r\n }\r\n\r\n private subSink = new SubSink();\r\n\r\n @ViewChild('videoTemplate', { static: false }) videoTemplate: ElementRef = {} as ElementRef;\r\n @ViewChild('videoTemplate2', { static: false }) videoTemplate2: ElementRef = {} as ElementRef;\r\n\r\n baseImageUrl = environment.remoteImageUrl;\r\n\r\n countries: any;\r\n states: string[] = [];\r\n cities: string[] = [];\r\n\r\n country = new FormControl('United States', [Validators.required]);\r\n state = new FormControl('', Validators.required);\r\n city = new FormControl('', Validators.required);\r\n\r\n public parentUri: string = '';\r\n profitAdviser: IUser | null = null;\r\n separateDialCode = true;\r\n SearchCountryField = SearchCountryField;\r\n CountryISO = CountryISO;\r\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\r\n PhoneNumberFormat = PhoneNumberFormat;\r\n logoPath = '/assets/images/signup-logo.svg';\r\n\r\n user: any = '';\r\n\r\n sideImage = '/assets/images/signin-bottom.svg';\r\n\r\n videoUrl = '';\r\n\r\n imageUrl = '/assets/images/signin-bottom.svg';\r\n\r\n form: any = '';\r\n\r\n allFAQ: IFAQ[] = [];\r\n\r\n constructor(\r\n private toast: ToastService,\r\n private router: Router,\r\n private loader: LoaderService,\r\n private inquiry: InquiryService,\r\n private address: AddressServiceService,\r\n routeSnapShot: ActivatedRoute,\r\n private account: AccountService,\r\n private faqService: FAQService\r\n ) {\r\n this.countries = this.address.getCountries();\r\n let snapShot = routeSnapShot.snapshot;\r\n\r\n this.parentUri = snapShot.paramMap.get('uri') ?? '';\r\n\r\n this.checkParentUri();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setForm();\r\n\r\n this.checkCountryAndStateChanges();\r\n\r\n this.getAllFAQ();\r\n }\r\n\r\n private setForm() {\r\n this.form = new FormGroup({\r\n name: new FormControl('', [Validators.min(3), Validators.required]),\r\n email: new FormControl('', [Validators.required, Validators.email]),\r\n mobileNo: new FormControl(undefined, [Validators.required]),\r\n address: new FormControl('', [Validators.required]),\r\n pinCode: new FormControl('', [Validators.required]),\r\n country: this.country,\r\n contentUrl: new FormControl('', []),\r\n state: this.state,\r\n city: this.city\r\n });\r\n }\r\n\r\n private checkCountryAndStateChanges() {\r\n this.states = this.address.getStatesByCountry('US');\r\n this.country.disable();\r\n }\r\n\r\n private getAllFAQ() {\r\n this.subSink.sink = this.faqService.getAll().subscribe({\r\n next: (faq: IFAQ[]) => {\r\n this.allFAQ = faq;\r\n },\r\n error: (err: any) => { }\r\n });\r\n }\r\n\r\n onLoginClick() {\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n return false;\r\n }\r\n\r\n onSignUpClick() {\r\n this.router.navigateByUrl(this.parentUri + '/signup');\r\n return false;\r\n }\r\n\r\n private checkParentUri() {\r\n if (this.parentUri == null || this.parentUri == '') {\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n return;\r\n }\r\n\r\n this.loader.open();\r\n\r\n this.account.checkIfUriCorrect(this.parentUri).subscribe({\r\n next: (value) => {\r\n this.loader.close();\r\n if (!value) {\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n } else {\r\n this.profitAdviser = value;\r\n if (this.profitAdviser?.signUpVideoUrl && this.profitAdviser?.signUpVideoUrl != '') {\r\n this.videoUrl = this.profitAdviser.signUpVideoUrl;\r\n var elm = document.createElement('iframe') as HTMLIFrameElement;\r\n elm.src = this.videoUrl;\r\n elm.width = '565';\r\n elm.height = '315';\r\n elm.title = 'YouTube video player';\r\n elm.frameBorder = '0';\r\n elm.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';\r\n elm.allowFullscreen = true;\r\n elm.style.paddingTop = '20px';\r\n\r\n var elm2 = document.createElement('iframe') as HTMLIFrameElement;\r\n elm2.src = this.videoUrl;\r\n elm2.width = '100%';\r\n elm2.height = '315';\r\n elm2.title = 'YouTube video player';\r\n elm2.frameBorder = '0';\r\n elm2.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';\r\n elm2.allowFullscreen = true;\r\n elm2.style.paddingTop = '20px';\r\n\r\n this.videoTemplate.nativeElement.appendChild(elm);\r\n this.videoTemplate2.nativeElement.appendChild(elm2);\r\n } else if (this.profitAdviser?.signUpImageUrl) {\r\n this.imageUrl = environment.remoteImageUrl + this.profitAdviser.signUpImageUrl;\r\n } else {\r\n this.imageUrl = '';\r\n this.videoUrl = '';\r\n }\r\n }\r\n },\r\n error: (err) => {\r\n this.loader.close();\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n }\r\n });\r\n }\r\n\r\n onSubmitInquiry() {\r\n this.form.markAllAsTouched();\r\n\r\n if (!this.form.valid) {\r\n return;\r\n }\r\n\r\n let req = { ...this.form.value };\r\n req.state = req.state || '';\r\n req.city = req.city || '';\r\n req.country = 'United States';\r\n req.mobileNo = req?.mobileNo!['internationalNumber'];\r\n\r\n if (this.profitAdviser) {\r\n req.ProfitAdvisorId = this.profitAdviser.id;\r\n }\r\n\r\n this.loader.open();\r\n\r\n this.subSink.sink = this.inquiry.add(req as any).subscribe({\r\n next: (data: any) => {\r\n this.loader.close();\r\n if (data) {\r\n this.toast.success({\r\n message: 'Inquiry Sent',\r\n title: '',\r\n timeout: 2000\r\n });\r\n\r\n this.form.patchValue({\r\n name: '',\r\n email: '',\r\n mobileNo: '',\r\n address: '',\r\n pinCode: '',\r\n contentUrl: '',\r\n state: '',\r\n city: ''\r\n });\r\n\r\n this.form.markAsPristine();\r\n this.form.markAsUntouched();\r\n\r\n this.setForm();\r\n } else {\r\n this.toast.error({\r\n message: 'Something went wrong',\r\n title: '',\r\n timeout: 2000\r\n });\r\n }\r\n },\r\n error: (error: any) => {\r\n this.loader.close();\r\n this.toast.error({\r\n message: error?.error?.errorMessage ?? 'Something went wrong',\r\n title: '',\r\n timeout: 2000\r\n });\r\n },\r\n complete: () => {\r\n this.loader.close();\r\n }\r\n });\r\n }\r\n\r\n onContactNowClick() {\r\n var contactNowElm = window.document.getElementById('contact-now');\r\n\r\n if (contactNowElm) {\r\n contactNowElm.scrollIntoView({ block: 'end', inline: 'end' });\r\n }\r\n }\r\n\r\n onAboutUsClick() {\r\n var contactNowElm = window.document.getElementById('aboutUsSection');\r\n\r\n if (contactNowElm) {\r\n contactNowElm.scrollIntoView({ block: 'end', inline: 'end' });\r\n }\r\n }\r\n\r\n onWhyUsClick() {\r\n var contactNowElm = window.document.getElementById('whyUsSection');\r\n\r\n if (contactNowElm) {\r\n contactNowElm.scrollIntoView({ block: 'end', inline: 'end' });\r\n }\r\n }\r\n\r\n isMenuOpen: boolean = false;\r\n onMenuClick() {\r\n this.isMenuOpen = !this.isMenuOpen;\r\n }\r\n\r\n allQuestions: any = [\r\n {\r\n id: 'd8a6faa2-c482-462f-a400-08daf84f36ec',\r\n companyId: '00000000-0000-0000-0000-000000000000',\r\n name: 'erfwefhgjkfgvdfjhf',\r\n displayOrder: 1,\r\n questions: [\r\n {\r\n id: 'b8c843b8-e1c0-4257-9184-08daf87cf261',\r\n assessmentQuestionCategoryId: 'd8a6faa2-c482-462f-a400-08daf84f36ec',\r\n companyId: '00000000-0000-0000-0000-000000000000',\r\n question: 'Que 1',\r\n questionHint: 'fhkjh',\r\n percentage: 56,\r\n unit: 67,\r\n isActive: false\r\n }\r\n ]\r\n },\r\n {\r\n id: 'cec04913-e322-4308-a3ff-08daf84f36ec',\r\n companyId: '00000000-0000-0000-0000-000000000000',\r\n name: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\r\n displayOrder: 2,\r\n questions: [\r\n {\r\n id: '5befebef-d457-4d31-ee6a-08daf854ae68',\r\n assessmentQuestionCategoryId: 'cec04913-e322-4308-a3ff-08daf84f36ec',\r\n companyId: '00000000-0000-0000-0000-000000000000',\r\n question: 'bfbgf',\r\n questionHint: 'gfb',\r\n percentage: 21,\r\n unit: 13,\r\n isActive: false\r\n },\r\n {\r\n id: 'c9a69195-1b39-4b9b-8850-08db0376a3a1',\r\n assessmentQuestionCategoryId: 'cec04913-e322-4308-a3ff-08daf84f36ec',\r\n companyId: '00000000-0000-0000-0000-000000000000',\r\n question: 'fgggfgf',\r\n questionHint: 'hjgg',\r\n percentage: 54,\r\n unit: 5,\r\n isActive: false\r\n }\r\n ]\r\n }\r\n ];\r\n\r\n onSectionChange(id: number) {\r\n for (var i = 0; i < this.allFAQ.length; i++) {\r\n let question = this.allFAQ[i];\r\n if (question.id == id) {\r\n question.active = !question.active;\r\n } else {\r\n question.active = false;\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Real Estate Agents: Let Us Show You How to Close an Extra 5-10 homes per year - Guaranteed

\r\n

\r\n The Agent Profit Plan, a cutting-edge system designed for real estate agents, Provides agents with a simple plan to grow their\r\n business and sell 5-10 homes or more per year.\r\n

\r\n Contact Now\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

As seen On:

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

{{ profitAdviser?.name | titlecase }}

\r\n {{ profitAdviser?.email }}\r\n {{ profitAdviser?.mobileNo }}\r\n
\r\n
\r\n
\r\n

\r\n {{ profitAdviser?.landingContent ?? '' }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
Please Select state
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
Please Enter City
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
Please Enter zipcode
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
Please Enter address.
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \"img\"\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

\r\n The Agent profit plan helped me to realize I could more than double my business by focusing on targeted planning, action and\r\n follow up activities as well as developing some new habits. It answered the \"what can I do to increase my business question\" with\r\n a personalized report based on my current business performance. I recommend this for every real estate broker who wants to move\r\n their business forward.\" Ingrid Conley, BIC, Realty One\r\n

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

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

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

Clarity

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

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

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

Focus

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

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

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

Plan

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

Discover how YOU can add 5-10 more closing per year!

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

Get More Clarity

\r\n

Our business assessment will provide you more clarity about your business and your goals!

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

Get More Focus

\r\n

Our business assessment will show you exactly what activities you should focus on to grow your business

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

Get Your Plan

\r\n

Once complete, the system will deliver you a PDF of YOUR personalized plan for growth!

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

A Special Message from me to YOU!

\r\n
\r\n\r\n \r\n
\r\n \"img\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n

© 2023 The Originators Guide LLC. All Rights Reserved.

\r\n \r\n
\r\n\r\n","import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {CountryISO, PhoneNumberFormat, SearchCountryField} from 'ngx-intl-tel-input';\r\nimport {SubSink} from 'src/app/Core/SubSink';\r\nimport {accountRoutes} from 'src/app/Core/routes.enum';\r\nimport {UserRoleEnum} from 'src/app/Core/userRole.enum';\r\nimport {Inquiry} from 'src/app/Models/Inquiry';\r\nimport {IUser} from 'src/app/Models/user.interface';\r\nimport {AccountService} from 'src/app/services/account.service';\r\nimport {AddressServiceService} from 'src/app/services/address.service';\r\nimport {CommonFunction} from 'src/app/services/commonFunctions';\r\nimport {InquiryService} from 'src/app/services/inquiry.service';\r\nimport {ToastService} from 'src/app/services/toast.service';\r\nimport {LoaderService} from 'src/app/shared/Services/loader.service';\r\nimport {environment} from 'src/environments/environment';\r\nimport {Storage} from '../../Core/storage';\r\n\r\n@Component({\r\n selector: 'app-agent-signup',\r\n templateUrl: './agent-signup.component.html',\r\n styleUrls: ['./agent-signup.component.css']\r\n})\r\nexport class AgentSignupComponent implements OnInit {\r\n ngOnDestroy(): void {\r\n this.subSink.unSubscribe();\r\n }\r\n\r\n private subSink = new SubSink();\r\n\r\n @ViewChild('videoTemplate', {static: false}) videoTemplate: ElementRef = {} as ElementRef;\r\n\r\n profitAdviser: IUser | null = null;\r\n\r\n separateDialCode = true;\r\n\r\n SearchCountryField = SearchCountryField;\r\n\r\n CountryISO = CountryISO;\r\n\r\n preferredCountries: CountryISO[] = [CountryISO.UnitedStates, CountryISO.UnitedKingdom];\r\n\r\n PhoneNumberFormat = PhoneNumberFormat;\r\n countries: any;\r\n states: string[] = [];\r\n cities: string[] = [];\r\n\r\n private role: Number = UserRoleEnum.User;\r\n private isEventUser: boolean = false;\r\n public parentUri: string = '';\r\n\r\n logoPath = '/assets/images/signup-logo.svg';\r\n\r\n user: any = '';\r\n\r\n sideImage = '/assets/images/signin-bottom.svg';\r\n\r\n videoUrl = '';\r\n\r\n imageUrl = '/assets/images/signin-bottom.svg';\r\n\r\n constructor(\r\n private account: AccountService,\r\n private address: AddressServiceService,\r\n private toast: ToastService,\r\n private router: Router,\r\n private loader: LoaderService,\r\n routeSnapShot: ActivatedRoute,\r\n private inquiryService: InquiryService\r\n ) {\r\n this.countries = this.address.getCountries();\r\n\r\n let snapShot = routeSnapShot.snapshot;\r\n\r\n this.role = snapShot.data.role as Number;\r\n this.isEventUser = snapShot.data.isEventUser ? true : false;\r\n if (environment.isAgent) {\r\n this.logoPath = '/assets/images/Mortagage_Agent_Logo.svg';\r\n }\r\n if (this.role == UserRoleEnum.Agent) {\r\n this.parentUri = snapShot.paramMap.get('uri') ?? '';\r\n\r\n this.checkParentUri();\r\n }\r\n }\r\n\r\n isPasswords: boolean = true;\r\n showBaseImage: boolean = false;\r\n\r\n country = new FormControl('United States', [Validators.required]);\r\n\r\n state = new FormControl('', Validators.required);\r\n city = new FormControl('', Validators.required);\r\n\r\n form: any = '';\r\n\r\n ngOnInit(): void {\r\n Storage.removeUserData();\r\n\r\n this.setForm();\r\n\r\n this.checkCountryAndStateChanges();\r\n }\r\n\r\n private checkCountryAndStateChanges() {\r\n this.states = this.address.getStatesByCountry('US');\r\n this.country.disable();\r\n }\r\n\r\n private setForm() {\r\n this.isPasswords = true;\r\n this.form = new FormGroup({\r\n name: new FormControl('', [Validators.min(3), Validators.required]),\r\n email: new FormControl('', [Validators.required, Validators.email]),\r\n mobileNo: new FormControl(undefined, [Validators.required]),\r\n address: new FormControl('', [Validators.required]),\r\n pinCode: new FormControl('', [Validators.required]),\r\n country: this.country,\r\n state: this.state,\r\n city: this.city,\r\n password: new FormControl('', [Validators.required, Validators.minLength(8)])\r\n });\r\n }\r\n\r\n private checkParentUri() {\r\n if (this.parentUri == null || this.parentUri == '') {\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n return;\r\n }\r\n\r\n this.loader.open();\r\n\r\n this.account.checkIfUriCorrect(this.parentUri).subscribe({\r\n next: (value) => {\r\n this.loader.close();\r\n if (!value) {\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n } else {\r\n this.profitAdviser = value;\r\n if (this.profitAdviser?.signUpVideoUrl && this.profitAdviser?.signUpVideoUrl != '') {\r\n this.videoUrl = this.profitAdviser.signUpVideoUrl;\r\n var elm = document.createElement('iframe') as HTMLIFrameElement;\r\n elm.src = this.videoUrl;\r\n elm.width = '560';\r\n elm.height = '315';\r\n elm.title = 'YouTube video player';\r\n elm.frameBorder = '0';\r\n elm.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';\r\n elm.allowFullscreen = true;\r\n elm.style.paddingTop = '20px';\r\n this.videoTemplate.nativeElement.appendChild(elm);\r\n } else if (this.profitAdviser?.signUpImageUrl) {\r\n this.imageUrl = environment.remoteImageUrl + this.profitAdviser.signUpImageUrl;\r\n } else {\r\n this.imageUrl = '';\r\n this.videoUrl = '';\r\n }\r\n }\r\n },\r\n error: (err) => {\r\n this.loader.close();\r\n this.toast.error({\r\n title: '',\r\n message: 'Link Expired',\r\n timeout: 2000\r\n });\r\n\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n }\r\n });\r\n }\r\n\r\n onSubmit() {\r\n this.form.markAllAsTouched();\r\n\r\n if (!this.form.valid) {\r\n return;\r\n }\r\n\r\n let req = {...this.form.value};\r\n req.state = req.state || '';\r\n req.city = req.city || '';\r\n req.country = 'United States';\r\n req.parentUri = this.parentUri;\r\n req.mobileNo = req?.mobileNo!['internationalNumber'];\r\n req.isEventUser = this.isEventUser;\r\n req.role = this.role;\r\n\r\n if (req.role == UserRoleEnum.ProfitAdviser) {\r\n req.parentUri = CommonFunction.removeSpecialCharacterFromString(req.parentUri);\r\n }\r\n\r\n this.loader.open();\r\n\r\n this.subSink.sink = this.account.signUp(req as IUser).subscribe({\r\n next: (data: any) => {\r\n this.loader.close();\r\n if (data) {\r\n if (this.role == UserRoleEnum.User) data.isEndUser = true;\r\n\r\n Storage.setUserData(data);\r\n if (this.isPasswords) {\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.agentWelcome + '?isUserPasswd=true');\r\n } else {\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.agentWelcome);\r\n }\r\n\r\n this.form.reset();\r\n } else {\r\n this.toast.error({\r\n message: 'Something went wrong',\r\n title: '',\r\n timeout: 2000\r\n });\r\n }\r\n },\r\n error: (error: any) => {\r\n this.loader.close();\r\n this.toast.error({\r\n message: error?.error?.errorMessage ?? 'Something went wrong',\r\n title: '',\r\n timeout: 2000\r\n });\r\n },\r\n complete: () => {\r\n this.loader.close();\r\n }\r\n });\r\n }\r\n\r\n onLoginClick() {\r\n this.router.navigateByUrl(accountRoutes.account + '/' + accountRoutes.login);\r\n }\r\n\r\n onEmailBlur() {\r\n let emailControl = this.form.controls['email'];\r\n if (emailControl.valid) {\r\n this.inquiryService.getByEmail(emailControl.value).subscribe({\r\n next: (data: Inquiry) => {\r\n if (data) {\r\n this.form.patchValue({\r\n name: data.name,\r\n email: data.email,\r\n mobileNo: data.mobileNo as any,\r\n address: data.address,\r\n country: 'United States',\r\n state: data.state,\r\n city: data.city,\r\n pinCode: data.pinCode\r\n });\r\n }\r\n },\r\n error: (data: any) => {}\r\n });\r\n }\r\n }\r\n\r\n ImageLoadError(error: any) {}\r\n}\r\n","
\r\n","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-landing-page',\r\n templateUrl: './landing-page.component.html',\r\n styleUrls: ['./landing-page.component.css']\r\n})\r\nexport class LandingPageComponent implements OnInit {\r\n\r\n @ViewChild('sectionHome') sectionHome: ElementRef | undefined;\r\n @ViewChild('sectionAboutUs') sectionAboutUs: ElementRef | undefined;\r\n @ViewChild('sectionPortfolio') sectionPortfolio: ElementRef | undefined;\r\n\r\n menuItems = [\r\n { text: 'Home', sectionName: 'sectionHome', isActive: true },\r\n { text: 'About', sectionName: 'sectionAboutUs', isActive: false },\r\n { text: 'Portfolio', sectionName: 'sectionPortfolio', isActive: false }\r\n ];\r\n isShowNavbar = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n toggleNavbar() {\r\n this.isShowNavbar = !this.isShowNavbar;\r\n }\r\n\r\n changeSection(sectionName: any, index: number) {\r\n this.isShowNavbar = false;\r\n this.menuItems.forEach((el, i) => {\r\n if (i === index)\r\n el.isActive = true;\r\n else\r\n el.isActive = false;\r\n })\r\n switch (sectionName) {\r\n case 'sectionHome':\r\n this.sectionHome?.nativeElement.scrollIntoView({\r\n behavior: 'smooth',\r\n });\r\n break;\r\n case 'sectionAboutUs':\r\n this.sectionAboutUs?.nativeElement.scrollIntoView({\r\n behavior: 'smooth', block: 'center'\r\n });\r\n break;\r\n\r\n case 'sectionPortfolio':\r\n this.sectionPortfolio?.nativeElement.scrollIntoView({\r\n behavior: 'smooth',\r\n });\r\n break;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
    \r\n \r\n \r\n
  • \r\n \"\"\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n MORTGAGEPROFITPLAN\r\n

\r\n

Ready to Run Your Mortgage Business Your Way?

\r\n \r\n

Discover how to earn more, work smarter, and build your own brand with the Solopreneur P&L model

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { accountRoutes, appRoute } from 'src/app/Core/routes.enum';\r\nimport { Storage } from 'src/app/Core/storage';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { IUser } from 'src/app/Models/user.interface';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { LoaderService } from 'src/app/shared/Services/loader.service';\r\nimport { SubSink } from 'src/app/Core/SubSink';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n form!: FormGroup;\r\n private subSink = new SubSink();\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private route: Router,\r\n private account: AccountService,\r\n private toaster: ToastService,\r\n private loader: LoaderService\r\n ) { }\r\n\r\n ngOnInit() {\r\n Storage.removeUserData();\r\n this.initForm();\r\n }\r\n\r\n initForm() {\r\n this.form = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n password: ['', [Validators.required, Validators.minLength(8)]]\r\n });\r\n }\r\n\r\n onForgotUpClick() {\r\n this.route.navigateByUrl(accountRoutes.account + '/' + accountRoutes.forgotpassword);\r\n }\r\n\r\n onSubmit() {\r\n this.form.markAllAsTouched();\r\n if (!this.form.valid) {\r\n return;\r\n }\r\n this.loader.open();\r\n\r\n this.subSink.sink = this.account.preProfitLogin(this.form.value).subscribe({\r\n next: data => {\r\n if (data) {\r\n this.loader.close();\r\n Storage.setUserData(data);\r\n Storage.setToken(data?.accessToken);\r\n this.toaster.success({\r\n title: 'Login',\r\n message: 'Login Successful',\r\n timeout: 2000\r\n });\r\n this.route.navigate([appRoute.pages + '/' + appRoute.assessment]);\r\n }\r\n },\r\n error: err => {\r\n this.loader.close();\r\n this.toaster.error({\r\n title: 'Login Failed',\r\n message: err?.error?.errorMessage || err?.errorMessage || 'Some thing went wrong',\r\n timeout: 2000\r\n });\r\n }\r\n })\r\n }\r\n\r\n // ngOnDestroy(): void {\r\n // this.subSink.unSubscribe();\r\n // }\r\n\r\n // private subSink = new SubSink();\r\n\r\n // form = new FormGroup({\r\n // email: new FormControl('', [Validators.email, Validators.required]),\r\n // password: new FormControl('', [Validators.required, Validators.min(8)])\r\n // });\r\n // logoPath = '/assets/images/signup-logo.svg';\r\n\r\n // isAgent = environment.isAgent;\r\n\r\n // timUri: string = environment.adminUri;\r\n\r\n // constructor(private route: Router, private account: AccountService, private toaster: ToastService, private loader: LoaderService) {\r\n // if (environment.isAgent) {\r\n // this.logoPath = '/assets/images/Mortagage_Agent_Logo.svg';\r\n // }\r\n // }\r\n\r\n // ngOnInit(): void {\r\n // Storage.removeUserData();\r\n // }\r\n\r\n // onSubmit() {\r\n // this.form.markAllAsTouched();\r\n // if (!this.form.valid) {\r\n // return;\r\n // }\r\n\r\n // let formValue = this.form.value;\r\n\r\n // if (!formValue) {\r\n // return;\r\n // }\r\n\r\n // this.loader.open();\r\n // this.subSink.sink = this.account.login(formValue.email ?? '', formValue.password ?? '').subscribe({\r\n // next: (data: IUser) => {\r\n // this.loader.close();\r\n // if (data && data != undefined && data != null) {\r\n // Storage.setUserData(data);\r\n\r\n // Storage.setToken(data.token);\r\n // if (environment.isAgent) {\r\n // this.route.navigateByUrl(appRoute.pages + '/' + appRoute.profitofficer);\r\n // } else {\r\n // this.route.navigateByUrl(appRoute.pages + '/' + appRoute.assessment);\r\n // }\r\n // } else {\r\n // this.toaster.error({\r\n // title: 'Login Failed',\r\n // message: 'User Name or Password is incorrect',\r\n // timeout: 2000\r\n // });\r\n // }\r\n // },\r\n // error: (err: any) => {\r\n // this.loader.close();\r\n // this.toaster.error({\r\n // title: 'Login Failed',\r\n // message: err?.error?.errorMessage || err?.errorMessage || 'Some thing went wrong',\r\n // timeout: 2000\r\n // });\r\n // },\r\n // complete: () => {\r\n // this.loader.close();\r\n // }\r\n // });\r\n // }\r\n\r\n // onSignUpClick() {\r\n // if (this.isAgent) {\r\n // this.route.navigateByUrl(accountRoutes.account + '/' + accountRoutes.profitOfficerSignup);\r\n // } else {\r\n // this.route.navigateByUrl(accountRoutes.account + '/' + accountRoutes.signup);\r\n // }\r\n // }\r\n\r\n // onInquiryClick() {\r\n // this.route.navigateByUrl(this.timUri);\r\n // }\r\n\r\n // onForgotUpClick() {\r\n // this.route.navigateByUrl(accountRoutes.account + '/' + accountRoutes.forgotpassword);\r\n // }\r\n}\r\n","\r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { SubSink } from 'src/app/Core/SubSink';\r\nimport { appRoute } from 'src/app/Core/routes.enum';\r\nimport { storageEnums } from 'src/app/Core/userRole.enum';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { LoaderService } from 'src/app/shared/Services/loader.service';\r\nimport { Storage } from '../../Core/storage';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\n\r\n@Component({\r\n selector: 'app-sign-up',\r\n templateUrl: './sign-up.component.html',\r\n styleUrls: ['./sign-up.component.css']\r\n})\r\nexport class SignUpComponent implements OnInit {\r\n private subSink = new SubSink();\r\n\r\n // @ViewChild('videoTemplate', { static: false }) videoTemplate: ElementRef = {} as ElementRef;\r\n\r\n // separateDialCode = true;\r\n\r\n // SearchCountryField = SearchCountryField;\r\n\r\n // CountryISO = CountryISO;\r\n\r\n // preferredCountries: CountryISO[] = [\r\n // CountryISO.UnitedStates,\r\n // CountryISO.UnitedKingdom,\r\n // ];\r\n\r\n // PhoneNumberFormat = PhoneNumberFormat;\r\n\r\n // states: string[] = [];\r\n // cities: string[] = [];\r\n\r\n // private role: Number = UserRoleEnum.User;\r\n // private isEventUser: boolean = false;\r\n // public parentUri: string = '';\r\n // logoPath = '/assets/images/signup-logo.svg';\r\n // user: any = '';\r\n // sideImage = '/assets/images/signin-bottom.svg';\r\n // videoUrl = '';\r\n // imageUrl = '/assets/images/signin-bottom.svg';\r\n // // private locationApi = environment.locationApi;\r\n\r\n // constructor(\r\n // private account: AccountService,\r\n // private address: AddressServiceService,\r\n // private toast: ToastService,\r\n // private router: Router,\r\n // private loader: LoaderService,\r\n // routeSnapShot: ActivatedRoute\r\n // ) {\r\n // let snapShot = routeSnapShot.snapshot;\r\n\r\n // this.role = snapShot.data.role as Number;\r\n // this.isEventUser = snapShot.data.isEventUser ? true : false;\r\n // if (environment.isAgent) {\r\n // this.logoPath = '/assets/images/Mortagage_Agent_Logo.svg';\r\n // }\r\n // if (this.role == UserRoleEnum.Agent) {\r\n // this.parentUri = snapShot.paramMap.get('uri') ?? '';\r\n\r\n // this.checkParentUri();\r\n // }\r\n // }\r\n\r\n // isPasswords: boolean = false;\r\n // showBaseImage: boolean = false;\r\n\r\n // country = new FormControl('United States', [Validators.required]);\r\n // state = new FormControl('', Validators.required);\r\n // city = new FormControl('', Validators.required);\r\n\r\n // form: any = '';\r\n\r\n // ngOnInit(): void {\r\n // Storage.removeUserData();\r\n\r\n // this.setForm();\r\n\r\n // this.checkCountryAndStateChanges();\r\n // }\r\n\r\n // private checkCountryAndStateChanges() {\r\n // this.states = this.address.getStatesByCountry(\"US\");\r\n // this.country.disable();\r\n // }\r\n\r\n // private setForm() {\r\n // switch (this.role) {\r\n // case UserRoleEnum.User:\r\n // this.isPasswords = false;\r\n // this.form = new FormGroup({\r\n // name: new FormControl('', [Validators.min(3), Validators.required]),\r\n // email: new FormControl('', [Validators.required, Validators.email]),\r\n // mobileNo: new FormControl(undefined, [Validators.required]),\r\n // address: new FormControl('', [Validators.required]),\r\n // pinCode: new FormControl('', [Validators.required]),\r\n // country: this.country,\r\n // state: this.state,\r\n // city: this.city,\r\n // });\r\n // break;\r\n // case UserRoleEnum.EventUser:\r\n // this.isPasswords = true;\r\n // this.form = new FormGroup({\r\n // name: new FormControl('', [Validators.min(3), Validators.required]),\r\n // email: new FormControl('', [Validators.required, Validators.email]),\r\n // mobileNo: new FormControl(undefined, [Validators.required]),\r\n // address: new FormControl('', [Validators.required]),\r\n // pinCode: new FormControl('', [Validators.required]),\r\n // country: this.country,\r\n // state: this.state,\r\n // city: this.city,\r\n // password: new FormControl('', [\r\n // Validators.required,\r\n // Validators.minLength(8),\r\n // ]),\r\n // });\r\n\r\n // break;\r\n // case UserRoleEnum.Agent:\r\n // this.isPasswords = this.isEventUser ? true : false;\r\n\r\n // if (this.isEventUser) {\r\n // this.form = new FormGroup({\r\n // name: new FormControl('', [Validators.min(3), Validators.required]),\r\n // email: new FormControl('', [Validators.required, Validators.email]),\r\n // mobileNo: new FormControl(undefined, [Validators.required]),\r\n // address: new FormControl('', [Validators.required]),\r\n // pinCode: new FormControl('', [Validators.required]),\r\n // country: this.country,\r\n // state: this.state,\r\n // city: this.city,\r\n // password: new FormControl('', [\r\n // Validators.required,\r\n // Validators.minLength(8),\r\n // ]),\r\n // });\r\n // }\r\n // else {\r\n // this.form = new FormGroup({\r\n // name: new FormControl('', [Validators.min(3), Validators.required]),\r\n // email: new FormControl('', [Validators.required, Validators.email]),\r\n // mobileNo: new FormControl(undefined, [Validators.required]),\r\n // address: new FormControl('', [Validators.required]),\r\n // pinCode: new FormControl('', [Validators.required]),\r\n // country: this.country,\r\n // state: this.state,\r\n // city: this.city\r\n // });\r\n // }\r\n // break;\r\n // }\r\n // }\r\n\r\n // private checkParentUri() {\r\n // if (this.parentUri == null || this.parentUri == '') {\r\n // this.toast.error({\r\n // title: '',\r\n // message: 'Link Expired',\r\n // timeout: 2000,\r\n // });\r\n\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account + '/' + accountRoutes.login\r\n // );\r\n // return;\r\n // }\r\n\r\n // this.loader.open();\r\n\r\n // this.account.checkIfUriCorrect(this.parentUri).subscribe({\r\n // next: (value) => {\r\n // this.loader.close();\r\n // if (!value) {\r\n // this.toast.error({\r\n // title: '',\r\n // message: 'Link Expired',\r\n // timeout: 2000,\r\n // });\r\n\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account + '/' + accountRoutes.login\r\n // );\r\n // } else {\r\n // this.user = value;\r\n // if (this.user?.signUpVideoUrl && this.user?.signUpVideoUrl != '') {\r\n // this.videoUrl = this.user.signUpVideoUrl;\r\n // var elm = document.createElement('iframe') as HTMLIFrameElement;\r\n // elm.src = this.videoUrl;\r\n // elm.width = '560';\r\n // elm.height = '315';\r\n // elm.title = 'YouTube video player';\r\n // elm.frameBorder = '0';\r\n // elm.allow = \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n // elm.allowFullscreen = true;\r\n // elm.style.paddingTop = \"20px\";\r\n // this.videoTemplate.nativeElement.appendChild(elm);\r\n\r\n // } else if (this.user?.signUpImageUrl) {\r\n // this.imageUrl = environment.remoteImageUrl + this.user.signUpImageUrl;\r\n // } else {\r\n // this.imageUrl = '';\r\n // this.videoUrl = '';\r\n // }\r\n // }\r\n // },\r\n // error: (err) => {\r\n // this.loader.close();\r\n // this.toast.error({\r\n // title: '',\r\n // message: 'Link Expired',\r\n // timeout: 2000,\r\n // });\r\n\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account + '/' + accountRoutes.login\r\n // );\r\n // },\r\n // });\r\n // }\r\n\r\n // onSubmit() {\r\n // this.form.markAllAsTouched();\r\n\r\n // if (!this.form.valid) {\r\n // return;\r\n // }\r\n\r\n // let req = { ...this.form.value };\r\n // req.state = req.state || '';\r\n // req.city = req.city || '';\r\n // req.country = 'United States';\r\n // req.parentUri = this.parentUri;\r\n // req.mobileNo = req?.mobileNo!['internationalNumber'];\r\n // req.isEventUser = this.isEventUser;\r\n // req.role = this.role;\r\n\r\n // if (req.role == UserRoleEnum.ProfitAdviser) {\r\n // req.parentUri = CommonFunction.removeSpecialCharacterFromString(req.parentUri);\r\n // }\r\n\r\n // this.loader.open();\r\n\r\n // this.subSink.sink = this.account.signUp(req as IUser).subscribe({\r\n // next: (data: any) => {\r\n // this.loader.close();\r\n // if (data) {\r\n // if (this.role == UserRoleEnum.User) data.isEndUser = true;\r\n\r\n // Storage.setUserData(data);\r\n // if (this.isPasswords) {\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account +\r\n // '/' +\r\n // accountRoutes.welcome +\r\n // '?isUserPasswd=true'\r\n // );\r\n // } else {\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account + '/' + accountRoutes.welcome\r\n // );\r\n // }\r\n\r\n // this.form.reset();\r\n // } else {\r\n // this.toast.error({\r\n // message: 'Something went wrong',\r\n // title: '',\r\n // timeout: 2000,\r\n // });\r\n // }\r\n // },\r\n // error: (error: any) => {\r\n // this.loader.close();\r\n // this.toast.error({\r\n // message: error?.error?.errorMessage ?? 'Something went wrong',\r\n // title: '',\r\n // timeout: 2000,\r\n // });\r\n // },\r\n // complete: () => {\r\n // this.loader.close();\r\n // },\r\n // });\r\n // }\r\n\r\n // onLoginClick() {\r\n // this.router.navigateByUrl(\r\n // accountRoutes.account + '/' + accountRoutes.login\r\n // );\r\n // }\r\n\r\n // ImageLoadError(error: any) {\r\n // }\r\n\r\n form!: FormGroup;\r\n isSmsTCP = false;\r\n constructor(private fb: FormBuilder,\r\n private account: AccountService,\r\n private router: Router,\r\n private loader: LoaderService,\r\n private toaster: ToastService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n Storage.removeUserData();\r\n this.initForm();\r\n }\r\n\r\n initForm() {\r\n this.form = this.fb.group({\r\n firstName: ['', [Validators.required, noLeadingTrailingSpacesValidator()]],\r\n lastName: ['', [Validators.required, noLeadingTrailingSpacesValidator()]],\r\n email: ['', [Validators.required, Validators.email]],\r\n mobileNumber: ['', [Validators.required, Validators.pattern('[0-9]{10,12}')]],\r\n password: ['', [Validators.required, Validators.minLength(8)]]\r\n });\r\n\r\n\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n this.loader.open();\r\n const payload = {\r\n ...this.form.value,\r\n mobileNumber: String(this.form.get('mobileNumber')?.value)\r\n }\r\n\r\n this.subSink.sink = this.account.preProfitSignUp(payload).subscribe({\r\n next: (res: any) => {\r\n this.loader.close();\r\n\r\n if (res) {\r\n Storage.setDataToStorage(storageEnums.USER_ID, res?.userId);\r\n Storage.setUserData(res);\r\n Storage.setToken(res?.accessToken);\r\n\r\n this.toaster.success({\r\n title: 'SignUp',\r\n message: 'SingnUp Successful',\r\n timeout: 2000\r\n });\r\n this.router.navigate([appRoute.assessment + '/' + appRoute.preAssessment + '/' + res?.userId]);\r\n }\r\n },\r\n error: (err) => {\r\n this.loader.close();\r\n this.toaster.error({\r\n title: 'SignUp',\r\n message: err?.error?.errorMessage || err?.errorMessage || 'Some thing went wrong',\r\n timeout: 2000\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subSink.unSubscribe();\r\n }\r\n\r\n}\r\n\r\nfunction noLeadingTrailingSpacesValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const isValid = control.value?.trim() === control.value;\r\n return isValid ? null : { 'noLeadingTrailingSpaces': true };\r\n };\r\n}","\r\n\r\n\r\n
\r\n \r\n
\r\n

Phone Number

\r\n \r\n \r\n
Please enter phone number.
\r\n
Please enter valid phone number.
\r\n
\r\n \r\n
\r\n

Password

\r\n \r\n \r\n
Please enter password.
\r\n
Please enter at least 8 character.
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Sign Up\r\n \r\n
\r\n
\r\n

\r\n Already a member?\r\n Sign In\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component } from '@angular/core';\r\nimport {Storage} from './Core/storage';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n\r\n constructor() {\r\n var user = Storage.getUserData();\r\n\r\n if (user) Storage.setUserData(user);\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { PreloadAllModules, RouterModule, Routes, UrlSerializer } from '@angular/router';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { ThemeModule } from './theme/theme.module';\r\nimport { NgChartsModule } from 'ng2-charts';\r\n\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { HeadersInterceptor } from './shared/interceptor/headers.interceptor';\r\nimport { AuthGuardGuard } from './shared/guards/auth-guard.guard';\r\nimport { ScheduleEventGuard } from './shared/guards/schedule-event.guard';\r\nimport { accountRoutes, appRoute } from './Core/routes.enum';\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { SignUpComponent } from './account/sign-up/sign-up.component';\r\nimport { NgxIntlTelInputModule } from 'ngx-intl-tel-input';\r\nimport { LowerCaseUrlSerializer } from 'src/app/shared/Services/LowerCaseUrlSerializer';\r\nimport { UserRoleEnum } from './Core/userRole.enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport { LoginComponent } from './account/login/login.component';\r\nimport { AgentSignupComponent } from './account/agent-signup/agent-signup.component';\r\nimport { AgentLandingPageComponent } from './account/agent-landing-page/agent-landing-page.component';\r\nimport { LandingPageComponent } from './account/landing-page/landing-page.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'account',\r\n loadChildren: () => import('./account/account.module').then((m) => m.AccountModule)\r\n },\r\n {\r\n path: appRoute.downloadPdf,\r\n loadChildren: () => import('./download-pdf/download-pdf.module').then((m) => m.DownloadPdfModule)\r\n },\r\n {\r\n path: 'pages',\r\n loadChildren: () => import('./pages/pages.module').then((m) => m.PagesModule),\r\n canActivate: [AuthGuardGuard]\r\n },\r\n {\r\n path: 'assessment',\r\n loadChildren: () => import('./assessment/assessment.module').then((m) => m.AssessmentModule),\r\n canActivate: [AuthGuardGuard]\r\n },\r\n {\r\n path: appRoute.eventSchedule,\r\n loadChildren: () => import('./event-schedule/event-schedule.module').then((m) => m.EventScheduleModule),\r\n canActivate: [ScheduleEventGuard]\r\n },\r\n {\r\n path: ':uri',\r\n component: environment.isAgent ? AgentLandingPageComponent : LoginComponent,\r\n data: { role: environment.isAgent ? UserRoleEnum.Agent : UserRoleEnum.User, isEventUser: environment.isAgent ? true : false }\r\n },\r\n {\r\n path: ':uri/' + accountRoutes.signup,\r\n component: environment.isAgent ? AgentSignupComponent : SignUpComponent,\r\n data: { role: environment.isAgent ? UserRoleEnum.Agent : UserRoleEnum.User, isEventUser: false }\r\n },\r\n {\r\n path: '',\r\n // component: environment.isAgent ? LoginComponent : SignUpComponent,\r\n // data: { role: UserRoleEnum.User }\r\n component: LandingPageComponent,\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: '**',\r\n component: environment.isAgent ? LoginComponent : SignUpComponent,\r\n pathMatch: 'full',\r\n data: { role: UserRoleEnum.User }\r\n }\r\n];\r\n\r\n// http://localhost:4200/downlaodpdf/f1abd562-afca-4e68-839f-08dabc00a0d3\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule,\r\n ThemeModule,\r\n NgChartsModule,\r\n BrowserAnimationsModule,\r\n SharedModule,\r\n NgbModalModule,\r\n RouterModule.forRoot(routes, {\r\n preloadingStrategy: PreloadAllModules\r\n }),\r\n NgxIntlTelInputModule,\r\n [NgbModule],\r\n NgxMaskModule.forRoot()\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HeadersInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: UrlSerializer,\r\n useClass: LowerCaseUrlSerializer\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-angular-img',\r\n templateUrl: './angular-img.component.html',\r\n styleUrls: ['./angular-img.component.css']\r\n \r\n})\r\nexport class AngularImgComponent implements OnInit {\r\n\r\n\r\n ngOnInit() {\r\n // this.initparticles();\r\n }\r\n\r\n initparticles() {\r\n // this.bubbles();\r\n \r\n }\r\n\r\n// bubbles() {\r\n// $.each($(\".particletext.bubbles\"), function(){\r\n// var bubblecount = ($(this).width()/50)*10;\r\n// for(var i = 0; i <= bubblecount; i++) {\r\n// var size = ($.rnd(40,80)/10);\r\n// $(this).append('');\r\n// }\r\n// });\r\n// }\r\nbubbles() {\r\n const bubbleContainers = document.querySelectorAll(\".particletext.bubbles\");\r\n \r\n bubbleContainers.forEach(container => {\r\n const bubblecount = (container.clientWidth / 50) * 10;\r\n \r\n for (let i = 0; i <= bubblecount; i++) {\r\n const top = Math.floor(Math.random() * 60) + 20; // Random top position between 20 and 80\r\n const left = Math.floor(Math.random() * 95); // Random left position between 0 and 95\r\n const delay = (Math.floor(Math.random() * 3) / 10).toFixed(1); // Random animation delay between 0 and 0.3\r\n \r\n const particle = document.createElement('span');\r\n particle.className = 'particle';\r\n particle.style.cssText = `\r\n top: ${top}%;\r\n left: ${left}%;\r\n width: 50px;\r\n height: 50px;\r\n animation-delay: ${delay}s;\r\n `;\r\n \r\n container.appendChild(particle);\r\n }\r\n });\r\n}\r\n \r\n\r\n}\r\n","
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { zoomInOnEnterAnimation } from 'angular-animations';\r\n@Component({\r\n selector: 'app-demo',\r\n templateUrl: './demo.component.html',\r\n styleUrls: ['./demo.component.css'], \r\n animations: [\r\n zoomInOnEnterAnimation(),\r\n ]\r\n})\r\nexport class DemoComponent implements OnInit {\r\n modalRef: NgbModalRef | null = null;\r\n animationState = false;\r\n animationWithState = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n \r\n public static open(modalService: NgbModal) {\r\n let ref = modalService.open(DemoComponent, {\r\n modalDialogClass: 'LoaderModel'\r\n });\r\n\r\n let component = ref.componentInstance as DemoComponent;\r\n\r\n component.modalRef = ref;\r\n\r\n return component;\r\n }\r\n\r\n close() {\r\n if (this.modalRef) {\r\n this.modalRef.close();\r\n }\r\n }\r\n\r\n \r\n animate() {\r\n this.animationState = false;\r\n setTimeout(() => {\r\n this.animationState = true;\r\n this.animationWithState = !this.animationWithState;\r\n }, 1);\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 { Observable } from 'rxjs';\r\nimport { IUser } from 'src/app/Models/user.interface';\r\nimport { environment } from 'src/environments/environment';\r\nimport { apiRoutes } from '../Core/apiRoutes.enum';\r\nimport { IAssessmentUserInfo } from '../Models/IAssessmentUserInfo';\r\nimport { LoaderService } from '../shared/Services/loader.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n private baseApiUrl = environment.baseApiUrl;\r\n\r\n private storedNumber: any = '';\r\n\r\n constructor(private http: HttpClient, private loader: LoaderService) { }\r\n\r\n public login(email: string, password: string) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.login}`, {\r\n email: email,\r\n password: password\r\n });\r\n }\r\n public updateUser(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.profileUpdate}`, userData);\r\n }\r\n public changeUserPassword(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.userPasswordChange}`, userData);\r\n }\r\n\r\n public signUp(user: IUser): Observable {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.signup}`, user);\r\n }\r\n\r\n public profitAdviserSignUp(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.profitAdviserSignup}`, userData);\r\n }\r\n public secondSignUp(user: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.SecondSignUp}`, user);\r\n }\r\n\r\n public verifyAccount(token: string, userId: string) {\r\n let url = this.baseApiUrl + apiRoutes.verifyEmail + '?invitationToken=' + token + '&userId=' + userId;\r\n\r\n return this.http.post(`${url}`, {});\r\n }\r\n\r\n public getUserDetailsByUserId(userId: string): Observable {\r\n return this.http.get(`${this.baseApiUrl + apiRoutes.getUserDetailsByUserId + '?userId=' + userId}`);\r\n }\r\n\r\n public verifyAccountAsync(userId: string, invitationToken: string): Promise {\r\n this.loader.open();\r\n\r\n return new Promise((res) => {\r\n let url = this.baseApiUrl + apiRoutes.verifyEmail + '?invitationToken=' + invitationToken + '&userId=' + userId;\r\n\r\n this.http.post(url, {}).subscribe({\r\n next: (data) => {\r\n this.loader.close();\r\n if (data && data != null) {\r\n let user = data as any;\r\n user.isEndUser = true;\r\n res(user);\r\n } else {\r\n res(null);\r\n }\r\n },\r\n error: (err) => {\r\n this.loader.close();\r\n res(null);\r\n },\r\n complete: () => {\r\n this.loader.close();\r\n }\r\n });\r\n });\r\n }\r\n public sendForgotMail(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.ForgetPassword + '?Email=' + userData.email}`, {});\r\n }\r\n public resetPassword(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.ResetPassword}`, userData);\r\n }\r\n\r\n // api to call to send otp\r\n public sendOtp(data: any) {\r\n let url = this.baseApiUrl + apiRoutes.ForgetPassword + '?MobileNumber=' + this.encodeValue(data);\r\n\r\n return this.http.post(`${url}`, {});\r\n }\r\n\r\n public resendOtp(data: any) {\r\n this.storedNumber = sessionStorage.getItem('key');\r\n let url = this.baseApiUrl + apiRoutes.ResendOtp + '?UserId=' + this.storedNumber;\r\n\r\n return this.http.post(`${url}`, {});\r\n }\r\n\r\n // api call to otp reset\r\n public otpReset(otpNumber: any, UserId: string) {\r\n let url = this.baseApiUrl + apiRoutes.VerifyOtp + '?OtpNumber=' + otpNumber + '&UserId=' + UserId;\r\n\r\n return this.http.post(`${url}`, {});\r\n }\r\n public getUserDetailById(userData: any) {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.getUserDetailsByUserId}`, userData);\r\n }\r\n\r\n public getUserById(userId: string) {\r\n return this.http.get(`${this.baseApiUrl + apiRoutes.getLoanOfficer + '?Id=' + userId}`);\r\n }\r\n\r\n public checkIfUriCorrect(uri: string) {\r\n return this.http.get(`${this.baseApiUrl + apiRoutes.checkIfUriCorrect + '?uri=' + uri}`);\r\n }\r\n\r\n public getArchiveProfit() {\r\n return this.http.get(`${this.baseApiUrl + apiRoutes.profitArchives}`);\r\n }\r\n\r\n public unArchiveUser(id: string) {\r\n return this.http.put(`${this.baseApiUrl + apiRoutes.unarchive + '?id=' + id}`, {});\r\n }\r\n\r\n encodeValue(value: string): string {\r\n value = value.trim();\r\n return encodeURIComponent(value);\r\n }\r\n\r\n preProfitSignUp(payload: any): Observable {\r\n return this.http.post(this.baseApiUrl + apiRoutes.preProfitSignUp, payload);\r\n }\r\n\r\n preProfitLogin(payload: any): Observable {\r\n return this.http.post(this.baseApiUrl + apiRoutes.preProfitLogin, payload);\r\n }\r\n\r\n preForgotPassword(email: string): Observable {\r\n return this.http.post(`${this.baseApiUrl + apiRoutes.preForgotPassword + '?email=' + email}`, {});\r\n }\r\n\r\n preChangePassword(payload: any): Observable {\r\n return this.http.put(`${this.baseApiUrl + apiRoutes.preChangePassword}`, payload);\r\n }\r\n\r\n public preGetUserById(userId: string) {\r\n return this.http.get(`${this.baseApiUrl + apiRoutes.preGetUserById + '?userId=' + userId}`);\r\n }\r\n\r\n public updateUserDetail(userData: any) {\r\n return this.http.put(`${this.baseApiUrl + apiRoutes.updateUserDetail}`, userData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nconst countrycitystatejson = require('countrycitystatejson');\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AddressServiceService {\r\n private countryData = countrycitystatejson;\r\n\r\n getCountries() {\r\n return this.countryData.getCountries();\r\n }\r\n\r\n getStatesByCountry(countryShotName: string) {\r\n return this.countryData.getStatesByShort(countryShotName);\r\n }\r\n\r\n getCitiesByState(country: string, state: string) {\r\n return this.countryData.getCities(country, state);\r\n }\r\n\r\n getCountryCodeByName(name: string) {\r\n let country = this.countryData.getCountries().find((x: any) => x.name == name);\r\n\r\n if(country != null){\r\n return country.shortName;\r\n }\r\n\r\n return name;\r\n }\r\n\r\n \r\n getCountryByShortName(shortName: string) {\r\n let country = this.countryData.getCountries().find((x: any) => x.shortName == shortName);\r\n\r\n if(country != null){\r\n return country.name;\r\n }\r\n\r\n return shortName;\r\n }\r\n}\r\n","\r\n\r\nexport class CommonFunction {\r\n\r\n public static removeSpecialCharacterFromString(str: string): string {\r\n\r\n if (!str || str == '') return '';\r\n\r\n str = str.trim();\r\n\r\n return str.replace(\r\n /[^a-zA-Z0-9S]/g,\r\n ''\r\n );\r\n }\r\n\r\n public static youtubeUrlToEmbedUrl(url: string): string {\r\n\r\n var regExp = /^.*(youtu\\.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\r\n var match = url.match(regExp);\r\n if (match && match[2].length == 11) {\r\n return \"https://www.youtube.com/embed/\" + match[2]\r\n } else if (url.indexOf(\"vimeo.com\") !== -1) {\r\n return url\r\n } else {\r\n return ''\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 'src/environments/environment';\r\nimport { apiRoutes } from '../Core/apiRoutes.enum';\r\nimport { IFAQ } from '../Models/faq.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FAQService {\r\n private baseApiUrl = environment.baseApiUrl;\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n public add(question: IFAQ) {\r\n return this.http.post(\r\n `${this.baseApiUrl + apiRoutes.FAQ}`,\r\n question\r\n );\r\n }\r\n\r\n public edit(question: IFAQ) {\r\n return this.http.put(\r\n `${this.baseApiUrl + apiRoutes.FAQ}`,\r\n question\r\n );\r\n }\r\n\r\n public delete(question: IFAQ) {\r\n return this.http.delete(`${this.baseApiUrl + apiRoutes.FAQ}`, {\r\n body: question,\r\n });\r\n }\r\n\r\n public getById(id: string) {\r\n return this.http.get(\r\n `${this.baseApiUrl + apiRoutes.FAQ + '/GetById?id='+ id}`\r\n );\r\n }\r\n\r\n public getAll() {\r\n return this.http.get(\r\n `${this.baseApiUrl + apiRoutes.FAQ}`\r\n );\r\n }\r\n\r\n}\r\n","import {HttpClient} from '@angular/common/http';\r\nimport {Injectable} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport {environment} from 'src/environments/environment';\r\nimport { apiRoutes } from '../Core/apiRoutes.enum';\r\nimport { Inquiry } from '../Models/Inquiry';\r\nimport { IUser } from '../Models/user.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InquiryService {\r\n private baseApiUrl = environment.baseApiUrl;\r\n\r\n constructor(private readonly http: HttpClient) {}\r\n\r\n\r\n public GetAll(profitAdviserId:string| null,search:string){\r\n let url = this.baseApiUrl + apiRoutes.getAllInquire+\"?search=\"+search;\r\n\r\n if(profitAdviserId){\r\n url += \"&ProfitAdvisorId=\"+profitAdviserId;\r\n }\r\n\r\n return this.http.get(url);\r\n }\r\n\r\n public add(inquiry:Inquiry){\r\n return this.http.post(this.baseApiUrl + apiRoutes.addInquiry,inquiry);\r\n }\r\n\r\n public getByEmail(email:string): Observable {\r\n let url = this.baseApiUrl + apiRoutes.GetByEmailId+\"?email=\"+email;\r\n \r\n return this.http.get(url);\r\n }\r\n\r\n \r\n public assignInquiry(inquiryChange:any): Observable {\r\n let url = this.baseApiUrl + apiRoutes.addInquiry+\"/Assign\";\r\n \r\n return this.http.put(url, inquiryChange);\r\n }\r\n\r\n public getProfitAdviserInquiry(search: string) {\r\n return this.http.get(\r\n `${this.baseApiUrl + apiRoutes.User + '/profit/inquiry?search=' + search ?? \"\"}`\r\n );\r\n }\r\n\r\n public verifyAdviser(id:string){\r\n return this.http.post(\r\n `${this.baseApiUrl + apiRoutes.User + '/verify/' + id ?? \"\"}`\r\n ,{}\r\n );\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Howl } from 'howler';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n pageSize: number = 10240;\r\n private coinSound: Howl;\r\n\r\n constructor() {\r\n this.coinSound = new Howl({\r\n src: ['/assets/sound/mixkit-score-casino-counter-1998.wav'], \r\n });\r\n }\r\n\r\n private delay(timeOut: number = 2000) {\r\n return new Promise((res) => {\r\n setTimeout(() => {\r\n res(true);\r\n }, timeOut);\r\n });\r\n }\r\n\r\n private async createToast(\r\n config: {\r\n title: string;\r\n message: string;\r\n timeout: number;\r\n },\r\n type: 'info' | 'warning' | 'success' | 'error'\r\n ) {\r\n let typeClass = '';\r\n switch (type) {\r\n case 'info':\r\n typeClass = 'toast-info';\r\n break;\r\n case 'error':\r\n typeClass = 'toast-error';\r\n break;\r\n case 'success':\r\n typeClass = 'toast-success';\r\n break;\r\n case 'warning':\r\n typeClass = 'toast-warning';\r\n break;\r\n }\r\n\r\n let toast = `\r\n
\r\n
\r\n
\r\n ${config.title}\r\n
\r\n\r\n
\r\n ${config.message}\r\n
\r\n
\r\n
\r\n `;\r\n\r\n let elm = document.createElement('div');\r\n elm.innerHTML = toast;\r\n\r\n let body = document.getElementsByTagName('body')[0];\r\n body.appendChild(elm);\r\n\r\n await this.delay(config.timeout);\r\n\r\n body.removeChild(elm);\r\n }\r\n\r\n private close() {}\r\n async info(config: {title: string; message: string; timeout: number}) {\r\n this.createToast(config, 'info');\r\n }\r\n\r\n async warning(config: {title: string; message: string; timeout: number}) {\r\n this.createToast(config, 'warning');\r\n }\r\n\r\n async error(config: {title: string; message: string; timeout: number}) {\r\n this.createToast(config, 'error');\r\n }\r\n\r\n async success(config: {title: string; message: string; timeout: number}) {\r\n this.createToast(config, 'success');\r\n } \r\n playCoinSound() {\r\n this.coinSound.play();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DefaultUrlSerializer, UrlTree } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LowerCaseUrlSerializer extends DefaultUrlSerializer {\r\n parse(url: string): UrlTree {\r\nif (url.toLowerCase().includes('event')) {\r\n return super.parse(url.toLowerCase().toLowerCase());\r\n} else if (url.includes('profit')) {\r\n if (url.includes('pages/assessment?profitAdviserId=')) {\r\n return super.parse(url);\r\n } \r\n return super.parse(url.toLowerCase());\r\n} else if (url.toLowerCase().includes('account')) {\r\n return super.parse(url.toLowerCase());\r\n} else if (url.toLowerCase().includes('signup')) {\r\n return super.parse(url.toLowerCase());\r\n}\r\n\r\n return super.parse(url);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DemoComponent } from 'src/app/pages/demo/demo.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CoinService {\r\n\r\n private modelRef: DemoComponent | null = null;\r\n\r\n constructor(private readonly modalService: NgbModal) {}\r\n\r\n open() {\r\n this.close();\r\n\r\n this.modelRef = DemoComponent.open(this.modalService);\r\n }\r\n\r\n close() {\r\n if (this.modelRef) {\r\n this.modelRef.close();\r\n\r\n this.modelRef = null;\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LoaderComponent } from '../loader/loader.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoaderService {\r\n private modelRef: LoaderComponent | null = null;\r\n\r\n constructor(private readonly modalService: NgbModal) {}\r\n\r\n open() {\r\n this.close();\r\n\r\n this.modelRef = LoaderComponent.open(this.modalService);\r\n }\r\n\r\n close() {\r\n if (this.modelRef) {\r\n this.modelRef.close();\r\n\r\n this.modelRef = null;\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 SideBarService {\r\n public isShowSidebar = new BehaviorSubject(false);\r\n constructor() {}\r\n\r\n open() {\r\n this.isShowSidebar.next(true);\r\n }\r\n\r\n close() {\r\n this.isShowSidebar.next(false);\r\n }\r\n}\r\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport Chart from 'chart.js/auto';\r\n\r\n@Component({\r\n selector: 'app-bar-chart',\r\n templateUrl: './bar-chart.component.html',\r\n styleUrls: ['./bar-chart.component.css']\r\n})\r\nexport class BarChartComponent implements OnInit {\r\n @ViewChild('canvasContainer', { static: false }) chartContainer: ElementRef = {} as ElementRef;\r\n\r\n @Input() chartType: 'Income1' | 'Income2' | 'Unit1' | 'Unit2' | 'hours1' | 'hours2' | 'Volume1' | 'Volume2' = 'Income1';\r\n\r\n @Input() set setTotalPerAndUnit(value: { totalPer: number; totalUnits: number }) {\r\n this.totalUnits = this.changeToNumber(value.totalUnits);\r\n this.totalPer = this.changeToNumber(value.totalPer);\r\n\r\n this.setUnitChart();\r\n\r\n this.setVolumeChart();\r\n\r\n this.setIncomeChart();\r\n this.setHoursChart();\r\n }\r\n\r\n @Input() set setCurrentIncome(income: number) {\r\n this.currentIncome = this.changeToNumber(income);\r\n this.setIncomeChart();\r\n }\r\n\r\n @Input() set setCurrentHours(hours: number) {\r\n this.currentHours = this.changeToNumber(hours);\r\n this.setHoursChart();\r\n // this.setIncomeChart();\r\n }\r\n @Input() set setCurrentHoursIncome(income: number) {\r\n this.currentHoursIncome = this.changeToNumber(income);\r\n this.setHoursChart();\r\n // this.setIncomeChart();\r\n }\r\n\r\n @Input() set setCurrentVolume(volume: number) {\r\n this.currentVolume = this.changeToNumber(volume);\r\n\r\n this.setVolumeChart();\r\n }\r\n\r\n @Input() set setNoOfLoan(loans: number) {\r\n this.numberOfLoan = this.changeToNumber(loans);\r\n\r\n this.setUnitChart();\r\n\r\n this.setIncomeChart();\r\n }\r\n\r\n @Input() set setAvgLoanSize(loanSize: number) {\r\n this.avgLoanSize = this.changeToNumber(loanSize);\r\n\r\n if (this.avgLoanSize > 0) this.commission = this.avgLoanSize / this.basicPoints;\r\n\r\n this.setVolumeChart();\r\n\r\n this.setIncomeChart();\r\n this.setHoursChart();\r\n }\r\n\r\n @Input() set setBasicPoints(points: number) {\r\n this.basicPoints = this.changeToNumber(points);\r\n\r\n if (this.avgLoanSize > 0) this.commission = this.avgLoanSize / this.basicPoints;\r\n\r\n this.setIncomeChart();\r\n this.setHoursChart();\r\n }\r\n\r\n private chart: any;\r\n\r\n public chartValue: number = 0;\r\n\r\n public chartTotalValue: number = 0;\r\n\r\n public chartCount: number = 2;\r\n\r\n public currentIncome: number = 0;\r\n\r\n public currentHours: number = 0;\r\n\r\n public commission: number = 0;\r\n\r\n public currentVolume: number = 0;\r\n\r\n public numberOfLoan: number = 0;\r\n\r\n public avgLoanSize: number = 0;\r\n\r\n public basicPoints: number = 0;\r\n\r\n public multiplicationFactor: number = 0.2;\r\n\r\n public totalPer: number = 0;\r\n\r\n public totalUnits: number = 0;\r\n public currentHoursIncome: number = 0;\r\n\r\n public startValue: number = 0;\r\n public endValue: number = 0;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit(): void {\r\n this.generateChart();\r\n }\r\n\r\n private setIncomeChart() {\r\n try {\r\n if (this.chartType == 'Income1') {\r\n var perIncome = this.currentIncome * this.totalPer == 0 ? 0 : (this.currentIncome * this.totalPer) / 100;\r\n let commission = 0;\r\n\r\n if (this.avgLoanSize > 0 && this.basicPoints > 0) {\r\n commission = this.avgLoanSize / this.basicPoints;\r\n }\r\n var unitIncome = commission * this.totalUnits;\r\n var totalIncome = this.currentIncome + perIncome + unitIncome;\r\n\r\n this.chartValue = totalIncome;\r\n if (this.chartValue > this.currentIncome * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor + this.chartValue - this.currentIncome;\r\n } else {\r\n this.chartTotalValue = this.currentIncome * this.chartCount - this.currentIncome;\r\n }\r\n\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.currentIncome;\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.currentIncome);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n\r\n this.endValue = roundedValue;\r\n this.chartValue = parseFloat(this.currentIncome.toFixed(2));\r\n this.generateChart();\r\n } else if (this.chartType == 'Income2') {\r\n var perIncome = this.currentIncome * this.totalPer == 0 ? 0 : (this.currentIncome * this.totalPer) / 100;\r\n let commission = 0;\r\n\r\n if (this.avgLoanSize > 0 && this.basicPoints > 0) {\r\n commission = this.avgLoanSize / this.basicPoints;\r\n }\r\n\r\n var unitIncome = commission * this.totalUnits;\r\n var totalIncome = this.currentIncome + perIncome + unitIncome;\r\n this.chartValue = totalIncome;\r\n if (this.chartValue > this.currentIncome * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = this.currentIncome * this.chartCount - this.chartValue;\r\n }\r\n\r\n this.startValue = 0;\r\n this.chartValue = parseFloat(this.chartValue.toFixed(2));\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.endValue = this.getRoundOfToThousand(totalValue);\r\n this.generateChart();\r\n }\r\n } catch (e) {\r\n }\r\n }\r\n\r\n private setVolumeChart() {\r\n try {\r\n if (this.chartType == 'Volume1') {\r\n this.chartValue = this.currentVolume + this.avgLoanSize * this.totalUnits;\r\n if (this.chartValue > this.currentVolume * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = this.currentVolume * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n this.endValue = roundedValue;\r\n this.chartValue = parseFloat(this.currentVolume.toFixed(2));\r\n this.chartTotalValue = this.endValue - this.chartValue;\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.generateChart();\r\n } else if (this.chartType == 'Volume2') {\r\n this.chartValue = parseFloat((this.currentVolume + this.avgLoanSize * this.totalUnits).toFixed(2));\r\n\r\n if (this.chartValue > this.currentVolume * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = this.currentVolume * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n this.chartValue = parseFloat(this.chartValue.toFixed(2));\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n this.endValue = roundedValue;\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.generateChart();\r\n }\r\n } catch (e) {\r\n }\r\n }\r\n\r\n private setUnitChart() {\r\n try {\r\n if (this.chartType == 'Unit1') {\r\n this.chartValue = this.numberOfLoan + this.totalUnits;\r\n if (this.chartValue > this.numberOfLoan * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = this.numberOfLoan * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n this.endValue = roundedValue;\r\n\r\n this.chartValue = parseFloat(this.numberOfLoan.toFixed(2));\r\n this.chartTotalValue = this.endValue - this.chartValue;\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n\r\n this.generateChart();\r\n } else if (this.chartType == 'Unit2') {\r\n this.chartValue = this.numberOfLoan + this.totalUnits;\r\n\r\n if (this.chartValue > this.numberOfLoan * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = this.numberOfLoan * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToThousand(totalValue);\r\n\r\n this.endValue = roundedValue;\r\n this.startValue = 0;\r\n\r\n this.chartValue = parseFloat(this.chartValue.toFixed(2));\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.generateChart();\r\n }\r\n } catch (e) {\r\n }\r\n }\r\n\r\n private setHoursChart() {\r\n // Formula \r\n // (currentIncome + perIncome + (avgLoanSize / basicPoints) * totalUnits) / hours\r\n\r\n try {\r\n if (this.chartType == 'hours1') {\r\n var perIncome = this.currentHoursIncome * this.totalPer == 0 ? 0 : (this.currentHoursIncome * this.totalPer) / 100;\r\n\r\n let commission = 0;\r\n if (this.avgLoanSize > 0 && this.basicPoints > 0) {\r\n commission = this.avgLoanSize / this.basicPoints;\r\n }\r\n\r\n var unitIncome = commission * this.totalUnits;\r\n var totalIncome = this.currentHoursIncome + perIncome + unitIncome;\r\n this.chartValue = totalIncome / this.currentHours;\r\n if (this.chartValue > (this.currentHoursIncome / this.currentHours) * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = (this.currentHoursIncome / this.currentHours) * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToHundred(totalValue);\r\n\r\n this.endValue = roundedValue;\r\n this.chartValue = this.currentHoursIncome / this.currentHours;\r\n this.chartTotalValue = this.endValue - this.chartValue;\r\n this.chartValue = parseFloat((this.currentHoursIncome / this.currentHours).toFixed(2));\r\n\r\n // if (this.chartValue > 1)\r\n // this.chartValue = parseInt(this.chartValue.toFixed(2));\r\n // if (this.chartTotalValue > 1)\r\n // this.chartTotalValue = parseInt(this.chartTotalValue.toFixed(2));\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.generateChart();\r\n } else if (this.chartType == 'hours2') {\r\n var perIncome = this.currentHoursIncome * this.totalPer == 0 ? 0 : (this.currentHoursIncome * this.totalPer) / 100;\r\n\r\n let commission = 0;\r\n\r\n if (this.avgLoanSize > 0 && this.basicPoints > 0) {\r\n commission = this.avgLoanSize / this.basicPoints;\r\n }\r\n\r\n var unitIncome = commission * this.totalUnits;\r\n var totalIncome = this.currentHoursIncome + perIncome + unitIncome;\r\n this.chartValue = totalIncome / this.currentHours;\r\n if (this.chartValue > (this.currentHoursIncome / this.currentHours) * this.chartCount) {\r\n this.chartTotalValue = this.chartValue * this.multiplicationFactor;\r\n } else {\r\n this.chartTotalValue = (this.currentHoursIncome / this.currentHours) * this.chartCount - this.chartValue;\r\n }\r\n this.startValue = 0;\r\n\r\n let totalValue = this.chartTotalValue + this.chartValue;\r\n\r\n let roundedValue = this.getRoundOfToHundred(totalValue);\r\n this.endValue = roundedValue;\r\n // this.chartValue = parseInt(this.chartValue.toFixed(2));\r\n // if (this.chartValue > 1)\r\n // if (this.chartTotalValue > 1)\r\n // this.chartTotalValue = parseInt(this.chartTotalValue.toFixed(2));\r\n this.chartValue = parseFloat(this.chartValue.toFixed(2));\r\n\r\n let val = roundedValue - (this.chartTotalValue + this.chartValue);\r\n this.chartTotalValue = val + this.chartTotalValue;\r\n this.generateChart();\r\n }\r\n } catch (e) {\r\n }\r\n }\r\n\r\n private generateChart() {\r\n if (!this.chartContainer) return;\r\n\r\n let chartContainer = this.chartContainer.nativeElement as HTMLElement;\r\n\r\n if (!chartContainer) return;\r\n\r\n chartContainer.innerHTML = '';\r\n\r\n var cvs = document.createElement('canvas');\r\n\r\n chartContainer.appendChild(cvs);\r\n\r\n if (!cvs) return;\r\n\r\n if (this.chart) this.chart.destroy();\r\n this.chart = new Chart(cvs, {\r\n type: 'doughnut',\r\n plugins: [\r\n {\r\n id: 'custom_canvas_background_color',\r\n beforeDraw: (chart, args, options) => {\r\n let needleValue: any = this.chartValue;\r\n let dataTotal: any = chart.config.data.datasets[0].data.reduce((a, b) => ((a as any) + b) as any, 0);\r\n let angle = Math.PI + (1 / dataTotal) * needleValue * Math.PI;\r\n let cw = chart.canvas.offsetWidth;\r\n let ch = chart.canvas.offsetHeight;\r\n let cx = cw / 2;\r\n let cy = ch - 6;\r\n const { ctx } = chart;\r\n ctx.translate(cx, cy);\r\n ctx.rotate(angle);\r\n ctx.beginPath();\r\n ctx.moveTo(0, -3);\r\n ctx.lineTo(ch - 20, 0);\r\n ctx.lineTo(0, 3);\r\n ctx.fillStyle = 'rgb(0, 0, 0)';\r\n ctx.fill();\r\n ctx.rotate(-angle);\r\n ctx.translate(-cx, -cy);\r\n ctx.beginPath();\r\n ctx.arc(cx, cy, 5, 0, Math.PI * 2);\r\n ctx.fill();\r\n }\r\n }\r\n ],\r\n data: {\r\n labels: [],\r\n\r\n datasets: [\r\n {\r\n data: [this.chartValue, this.chartTotalValue],\r\n\r\n backgroundColor: ['#73D12A', '#231F20', 'rgba(63, 191, 63, 0.2)']\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: false,\r\n aspectRatio: 2,\r\n\r\n layout: {\r\n padding: {\r\n bottom: 3\r\n }\r\n },\r\n needleValue: this.chartValue,\r\n rotation: -90,\r\n cutout: '50%',\r\n circumference: 180,\r\n legend: {\r\n display: false\r\n },\r\n // cutoutPercentage: 75,\r\n tooltips: {\r\n enabled: true\r\n },\r\n animation: {\r\n animateRotate: false,\r\n animateScale: true\r\n }\r\n }\r\n });\r\n }\r\n\r\n private getRoundOfToThousand(round: number) {\r\n let number = 0;\r\n var rest = round % 1000;\r\n if (rest == 0) return round;\r\n\r\n if (rest > 500) {\r\n number = round - rest + 1000;\r\n } else {\r\n number = round - rest + 500;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n private getRoundOfToHundred(round: number) {\r\n let number = 0;\r\n var rest = round % 100;\r\n\r\n if (rest == 0) return round;\r\n if (rest > 50) {\r\n number = round - rest + 100;\r\n } else {\r\n number = round - rest + 50;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n\r\n private changeToNumber(value: any): number {\r\n try {\r\n return Number(value);\r\n } catch (e) {\r\n return 0;\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n {{ chartValue | number }}\r\n

\r\n
\r\n

\r\n {{startValue}}\r\n

\r\n

\r\n {{ endValue | number: \"1.0-0\" }}\r\n

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

\r\n {{startValue}}\r\n

\r\n

\r\n {{ endValue | number: \"1.0-0\" }}\r\n

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

\r\n {{startValue}}\r\n

\r\n

\r\n {{ endValue | number: \"1.0-0\" }}\r\n

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

\r\n {{startValue}}\r\n

\r\n

\r\n {{ endValue | number: \"1.0-0\" }}\r\n

\r\n
","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport html2canvas from 'html2canvas';\r\nimport pdfMake from 'pdfmake/build/pdfmake';\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\r\nimport { AssessmentQuestionType } from 'src/app/Core/assessmentQuestionType.enum';\r\nimport { appRoute } from 'src/app/Core/routes.enum';\r\nimport { Storage } from 'src/app/Core/storage';\r\nimport { UserRoleEnum } from 'src/app/Core/userRole.enum';\r\nimport { IAssessmentQuestionCategory } from 'src/app/Models/IAssessmentQuestionCategory';\r\nimport { IAssessmentPdfProfitAdvisorDetail } from 'src/app/Models/IAssessmentUserInfo';\r\nimport { IAssessmentPdfDetail } from 'src/app/Models/assessment.interface';\r\nimport { AssessmentRevenueDetails } from 'src/app/Models/assessmentRevenueDetail.interface';\r\nimport { IAssessmentQuestion } from 'src/app/Models/question.interface';\r\nimport { IUser } from 'src/app/Models/user.interface';\r\nimport { environment } from 'src/environments/environment';\r\n@Component({\r\n selector: 'app-common-pdf-download',\r\n templateUrl: './common-pdf-download.component.html',\r\n styleUrls: ['./common-pdf-download.component.css']\r\n})\r\nexport class CommonPdfDownloadComponent implements OnInit {\r\n @Input() isShow: boolean = false;\r\n chartConfig = {} as AssessmentRevenueDetails;\r\n public remoteImageUrl: string = environment.remoteImageUrl;\r\n answeredQuestionPer: number = 0;\r\n totalPerAndUnit = {\r\n totalPer: 0,\r\n totalUnits: 0\r\n };\r\n isHidden = true;\r\n\r\n revenueDetail = {\r\n units: 0,\r\n hours: 0,\r\n currentVolume: 0,\r\n currentIncome: 0,\r\n averageCommission: 0,\r\n numberOfClient: 0,\r\n // hourWorked: 0,\r\n numberOfListings: 0,\r\n numberOfBuyers: 0,\r\n averageSalesPrice: 0,\r\n homeSold: 0\r\n } as AssessmentRevenueDetails;\r\n\r\n profitAdvisor: IAssessmentPdfProfitAdvisorDetail | null = null;\r\n\r\n AssessmentQuestionType = AssessmentQuestionType;\r\n assessmentQuestionList: any = [];\r\n\r\n pdfDetail: IAssessmentPdfDetail | null = null;\r\n userData: any = '';\r\n currentDate = new Date();\r\n baseUrl: string = environment.assessmentPdfImgBaseUrl;\r\n isAgent = false;\r\n isAgentOrProfit = false;\r\n isVisibleButton = false;\r\n arrOne: any = {\r\n numbers: [0, 0, 0, 0, 0],\r\n labels: ['Very Bad', 'Bad', 'Good', 'Very Good', 'Great', ''],\r\n colors: ['#FEE9DA', '#FDD4B9', '#FDC097', '#FCA265', '#FA7A23', '#FAFAFA']\r\n };\r\n doughnutCharts: any = [this.arrOne];\r\n @Input() set download(value: IAssessmentPdfDetail | null) {\r\n if (value) {\r\n this.isHidden = false;\r\n this.SetPdfDetail(value);\r\n setTimeout(() => {\r\n this.print();\r\n }, 1000);\r\n }\r\n }\r\n\r\n @Input() set populate(value: IAssessmentPdfDetail | null) {\r\n this.isHidden = false;\r\n document.getElementById('pdfPage')?.classList.remove('pdfPageClass');\r\n if (value) {\r\n this.SetPdfDetail(value);\r\n }\r\n }\r\n\r\n @ViewChild('pdfContent', {static: false}) pdfContentRef: ElementRef | any;\r\n @ViewChild('pdf-top-left', {static: false}) doughnutChartCanvas: ElementRef | any;\r\n @ViewChild('Income1', {static: false}) Income1: ElementRef | any;\r\n @ViewChild('Income2', {static: false}) Income2: ElementRef | any;\r\n @ViewChild('Unit1', {static: false}) Unit1: ElementRef | any;\r\n\r\n @ViewChild('Unit2', {static: false}) Unit2: ElementRef | any;\r\n @ViewChild('Volume1', {static: false}) Volume1: ElementRef | any;\r\n @ViewChild('Volume2', {static: false}) Volume2: ElementRef | any;\r\n\r\n constructor(private route: Router, private routes: ActivatedRoute) {\r\n if (environment.isAgent) {\r\n this.isAgent = true;\r\n }\r\n (window as any).pdfMake.vfs = pdfFonts.pdfMake.vfs;\r\n }\r\n\r\n async ngOnInit() {\r\n this.userData = (await Storage.getUserData()) ?? ({} as IUser);\r\n if (this.userData.role == UserRoleEnum.ProfitAdviser || this.userData.role == UserRoleEnum.Agent || environment.isAgent) {\r\n this.isAgentOrProfit = true;\r\n }\r\n this.routes.queryParams.subscribe((params) => {\r\n if (params['IsVisible']) {\r\n this.isVisibleButton = true;\r\n } else {\r\n this.isVisibleButton = false;\r\n }\r\n });\r\n }\r\n backClicked() {\r\n this.route.navigateByUrl(appRoute.pages + '/' + appRoute.assessment);\r\n }\r\n private async SetPdfDetail(value: IAssessmentPdfDetail) {\r\n this.isHidden = false;\r\n\r\n this.revenueDetail.units = value?.basePoints;\r\n this.revenueDetail.hours = value?.workingHours || 2000;\r\n this.revenueDetail.currentIncome = value?.currentIncome || 0;\r\n this.revenueDetail.currentVolume = value?.currentVolume || 0;\r\n this.revenueDetail.averageCommission = value?.averageCommission || 0;\r\n this.revenueDetail.averageSalesPrice = value?.averageSalesPrice || 0;\r\n this.revenueDetail.homeSold = value?.homeSold || 0;\r\n // this.revenueDetail.hourWorked = value.hourWorked || 0;\r\n this.revenueDetail.numberOfBuyers = value?.numberOfBuyers || 0;\r\n this.revenueDetail.numberOfClient = value?.numberOfClient || 0;\r\n this.revenueDetail.numberOfListings = value?.numberOfListings || 0;\r\n let answeredQuestionLength =\r\n value?.answeredQuestionsByCategory?.length &&\r\n value?.answeredQuestionsByCategory?.map((x) => x?.questions?.length).reduce((a: number, b: number) => a + b);\r\n var per = (answeredQuestionLength / value?.totalQuestions) * 100;\r\n this.answeredQuestionPer = per;\r\n this.assessmentQuestionList = value?.answeredQuestionsByCategory;\r\n this.pdfDetail = value;\r\n\r\n let allQuestions: IAssessmentQuestion[] = [];\r\n\r\n this.pdfDetail?.answeredQuestionsByCategory?.length &&\r\n this.pdfDetail?.answeredQuestionsByCategory?.forEach((x) => {\r\n allQuestions.push(...x.questions);\r\n });\r\n\r\n let perQuestion = allQuestions?.filter((x) => x?.isPercentage);\r\n let unitQuestion = allQuestions?.filter((x) => !x?.isPercentage);\r\n\r\n let totalPer = 0;\r\n let totalUnit = 0;\r\n\r\n this.profitAdvisor = value?.profitAdviser;\r\n\r\n if (perQuestion && perQuestion?.length > 0) {\r\n totalPer = perQuestion?.map((x) => x?.percentage)?.reduce((a, b) => a + b);\r\n }\r\n\r\n if (unitQuestion && unitQuestion?.length > 0) {\r\n totalUnit = unitQuestion?.map((x) => x?.unit)?.reduce((a, b) => a + b);\r\n }\r\n\r\n this.totalPerAndUnit = {\r\n totalPer: totalPer,\r\n totalUnits: totalUnit\r\n };\r\n this.revenueDetail.totalPer = this.totalPerAndUnit?.totalPer || 0;\r\n\r\n this.revenueDetail.totalUnits = this.totalPerAndUnit?.totalUnits || 0;\r\n\r\n this.chartConfig = JSON.parse(JSON.stringify(this?.revenueDetail));\r\n }\r\n getAssessmentCategoryText(item: IAssessmentQuestion) {\r\n if (item.assessmentQuestionTypeId == AssessmentQuestionType.Yes) {\r\n return 'Yes';\r\n } else if (item.assessmentQuestionTypeId == AssessmentQuestionType.No) {\r\n return 'No';\r\n } else {\r\n return 'Other';\r\n }\r\n }\r\n\r\n private getAnsweredQuestionCount(category: IAssessmentQuestionCategory[]) {\r\n var count = category.map((x) => x.questions.length).length;\r\n\r\n return count;\r\n }\r\n\r\n tableLayoutHeader = {\r\n hLineColor: function (i: any, node: any) {\r\n return 'black';\r\n\r\n // return i === 0 || i === node.table.body.length ? 'white' : 'white';\r\n },\r\n vLineColor: function (i: any, node: any) {\r\n return i === 0 || i === node.table.widths.length ? 'black' : 'white';\r\n },\r\n paddingLeft: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingRight: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingTop: function (i: any, node: any) {\r\n return 2;\r\n },\r\n paddingBottom: function (i: any, node: any) {\r\n return 2;\r\n }\r\n };\r\n\r\n tableLayoutQuestion = {\r\n hLineColor: function (i: any, node: any) {\r\n return 'gray';\r\n },\r\n vLineColor: function (i: any, node: any) {\r\n return i === 0 || i === node.table.widths.length ? 'black' : 'white';\r\n },\r\n paddingLeft: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingRight: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingTop: function (i: any, node: any) {\r\n return 2;\r\n },\r\n paddingBottom: function (i: any, node: any) {\r\n return 2;\r\n }\r\n };\r\n\r\n tableLayoutCat = {\r\n hLineColor: function (i: any, node: any) {\r\n return 'black';\r\n },\r\n vLineColor: function (i: any, node: any) {\r\n return i === 0 || i === node.table.widths.length ? 'black' : 'white';\r\n },\r\n paddingLeft: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingRight: function (i: any, node: any) {\r\n return 5;\r\n },\r\n paddingTop: function (i: any, node: any) {\r\n return 2;\r\n },\r\n paddingBottom: function (i: any, node: any) {\r\n return 2;\r\n }\r\n };\r\n\r\n //pdfContentRef\r\n capturedImage: any = '';\r\n docDefinition: any = () => {\r\n return {\r\n pageSize: 'A4',\r\n content: [\r\n {\r\n columns: [\r\n {\r\n margin: [0, 0, 50, 0],\r\n stack: [\r\n this.isAgentOrProfit\r\n ? {\r\n image: this.capturedImage,\r\n width: 500,\r\n height: 750,\r\n style: 'logo'\r\n }\r\n : {\r\n image: this.capturedImage,\r\n width: 500,\r\n style: 'logo'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n\r\n ...this.tableData(),\r\n '\\n'\r\n ],\r\n footer: {\r\n // text: [{text: 'Report by Mortgage Profit Plan', style: 'strong'}],\r\n // alignment: 'center'\r\n margin: [40, 0, 45, 0],\r\n fillColor: '#2c5c84',\r\n layout: 'noBorders',\r\n table: {\r\n widths: [520, 100, 100],\r\n body: [\r\n [\r\n {\r\n text: 'Report by Mortgage Profit Plan',\r\n alignment: 'center',\r\n color: 'white',\r\n bold: true,\r\n lineHeight: 1.2\r\n }\r\n ]\r\n ]\r\n }\r\n },\r\n styles: {\r\n header: {\r\n fontSize: 20,\r\n color: '#000',\r\n alignment: 'right'\r\n // margin: [0, 0, 0, 0],\r\n },\r\n subheader: {\r\n fontSize: 16,\r\n color: '#000'\r\n // margin: [0, 0, 0, 5],\r\n },\r\n strong: {\r\n bold: true,\r\n color: '#333'\r\n },\r\n logo: {\r\n margin: [0, 0, 0, 30]\r\n }\r\n },\r\n defaultStyle: {\r\n fontSize: 10,\r\n lineHeight: 1.5\r\n\r\n // color: '#676767',\r\n }\r\n };\r\n };\r\n\r\n tableData(): Array {\r\n let resultFormat: any[] = [];\r\n if (this.assessmentQuestionList.length > 0) {\r\n const headers = {\r\n layout: this.tableLayoutHeader, // optional\r\n table: {\r\n headerRows: 1,\r\n widths: [290, 100, 100],\r\n body: [\r\n [\r\n {\r\n text: 'Question',\r\n color: 'black',\r\n fontSize: 10,\r\n height: 5,\r\n marginTop: 6\r\n },\r\n {text: 'Answer', color: 'black', fontSize: 10, marginTop: 6},\r\n {\r\n text: 'Units',\r\n color: 'black',\r\n fontSize: 10,\r\n marginTop: 6\r\n }\r\n ]\r\n ]\r\n }\r\n };\r\n resultFormat.push(headers);\r\n this.assessmentQuestionList.forEach((data: any) => {\r\n const headersCat = {\r\n layout: this.tableLayoutCat, // optional\r\n table: {\r\n widths: [290, 100, 100],\r\n body: [\r\n [\r\n {\r\n text: data.name,\r\n fontSize: 12,\r\n Color: 'black',\r\n fontWeight: 'bold'\r\n },\r\n ' ',\r\n ' '\r\n ]\r\n ]\r\n }\r\n };\r\n\r\n resultFormat.push(headersCat);\r\n\r\n const headers = {\r\n layout: this.tableLayoutQuestion, // optional\r\n table: {\r\n widths: [290, 100, 100],\r\n body: [...this.SectionDataDisplay(data.questions)]\r\n }\r\n };\r\n resultFormat.push(headers);\r\n });\r\n return resultFormat;\r\n }\r\n return resultFormat;\r\n }\r\n\r\n SectionDataDisplay(questions: any): Array {\r\n let resultFormat: any[] = [];\r\n questions.forEach((data: IAssessmentQuestion) => {\r\n resultFormat.push([\r\n {\r\n text: `Q. ${data.question}` + '\\n' + `${data.answer ? `A. ${data.answer}` : ''}`\r\n },\r\n {\r\n text:\r\n data.assessmentQuestionTypeId == AssessmentQuestionType.Yes\r\n ? 'yes'\r\n : data.assessmentQuestionTypeId == AssessmentQuestionType.No\r\n ? 'no'\r\n : 'other',\r\n style:\r\n data.assessmentQuestionTypeId == AssessmentQuestionType.Yes\r\n ? {color: '#fa7a23'}\r\n : data.assessmentQuestionTypeId == AssessmentQuestionType.No\r\n ? {color: '#ff2222'}\r\n : {color: '#2c5c84'}\r\n },\r\n {text: data.isPercentage ? data.percentage + '%' : data.unit}\r\n ]);\r\n });\r\n return resultFormat;\r\n }\r\n\r\n async print() {\r\n var win = window.open('', '_blank');\r\n const portalDiv: any = document.querySelector('#capture');\r\n await html2canvas(portalDiv, {\r\n logging: true,\r\n useCORS: true,\r\n allowTaint: false\r\n }).then((canvas: any) => {\r\n this.capturedImage = canvas.toDataURL();\r\n canvas.toBlob(function (blob: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(blob);\r\n reader.onloadend = function () {\r\n let base64data = reader.result;\r\n };\r\n });\r\n });\r\n const pdfDocGenerator = await pdfMake.createPdf(this.docDefinition()).open({}, win);\r\n if (!this.isVisibleButton) this.isHidden = 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
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n Date:\r\n

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

Assessment Report

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

Revenue

\r\n
\r\n
\r\n
    \r\n
  • \r\n Previous Year Volume:\r\n
  • \r\n
  • \r\n Previous Year Income:$\r\n {{ pdfDetail.currentIncome | number : '1.0-0' }}\r\n \r\n
  • \r\n
    \r\n
  • \r\n Number of Loans:\r\n
  • \r\n
  • \r\n Avg Loan size:\r\n
  • \r\n
    \r\n
    \r\n
  • \r\n Average (GCI) Commission:\r\n
  • \r\n \r\n
  • \r\n Hours Worked:\r\n
  • \r\n
  • \r\n Number of Listing Previous Year:\r\n
  • \r\n
  • \r\n Number of buyer Previous Year:\r\n
  • \r\n
  • \r\n Average Sales Price:\r\n
  • \r\n
  • \r\n Total Home Sold Previous Year:\r\n
  • \r\n
    \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Profit Advisor

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

Assessment Completion Success

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

Income Gauge

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

Previous Year Income

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

Growth Plan Income

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

Units Gauge

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

Current Units

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

Growth Plan Units

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

Volume Gauge

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

Previous Year Volume

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

Growth Plan Volume

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

Hourly Rate of Pay Gauge

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

Current Rate

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

Growth Plan Rate

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n

    Questions

    \r\n
  • \r\n
  • \r\n

    Answers

    \r\n
  • \r\n
  • \r\n

    Unit

    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n

    {{ category.name }}

    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • {{ j + 1 }}. {{ question.question }}
  • \r\n \r\n {{ getAssessmentCategoryText(question) }}\r\n \r\n
  • \r\n {{ question.unit }}\r\n
  • \r\n
  • \r\n

    {{ question.answer }}

    \r\n
  • \r\n
\r\n
\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, EventEmitter, OnInit } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.css']\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n private modelRef: NgbModalRef = {} as NgbModalRef;\r\n\r\n config = {\r\n title: \"Delete\",\r\n message: \"Are you sure want to delete this record ?\"\r\n };\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public static open(modalService: NgbModal, config: {\r\n title: string,\r\n message: string\r\n }) {\r\n let ref = modalService.open(ConfirmDialogComponent);\r\n\r\n let component = ref.componentInstance as ConfirmDialogComponent;\r\n\r\n component.modelRef = ref;\r\n component.config = config;\r\n\r\n return ref;\r\n }\r\n\r\n close(check: boolean) {\r\n this.modelRef.close(check);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
{{ config.title }}
\r\n \r\n
\r\n
\r\n

{{ config.message }}

\r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-delete-confirmation',\r\n templateUrl: './delete-confirmation.component.html',\r\n styleUrls: ['./delete-confirmation.component.css']\r\n})\r\nexport class DeleteConfirmationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n\r\n private modelRef: NgbModalRef = {} as NgbModalRef;\r\n\r\n config = {\r\n title: \"Delete\",\r\n message: \"Are you sure want to delete this record ?\"\r\n };\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public static open(modalService: NgbModal, config: {\r\n title: string,\r\n message: string\r\n }) {\r\n let ref = modalService.open(DeleteConfirmationComponent);\r\n\r\n let component = ref.componentInstance as DeleteConfirmationComponent;\r\n\r\n component.modelRef = ref;\r\n component.config = config;\r\n\r\n return ref;\r\n }\r\n\r\n close(check: boolean) {\r\n this.modelRef.close(check);\r\n }\r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n

{{ config.title }}

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

{{ config.message }}

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNoDot]'\r\n})\r\nexport class NoDotDirective {\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n @HostListener('keydown', ['$event'])\r\n @HostListener('keyup', ['$event'])\r\n @HostListener('paste', ['$event'])\r\n\r\n onKeyDown(event: KeyboardEvent) {\r\n // Check if the dot key (190 for period/dot) is pressed\r\n let value = this.el.nativeElement.value;\r\n if (!this.el.nativeElement.value || this.el.nativeElement.value == null || this.el.nativeElement.value == undefined) {\r\n if (event.keyCode == 110) {\r\n event?.preventDefault();\r\n }\r\n }\r\n if (event.keyCode == 110 || event.keyCode == 190) {\r\n event?.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { CommonFunction } from 'src/app/services/commonFunctions';\r\n\r\n@Directive({\r\n selector: '[alphaNumeric]',\r\n})\r\nexport class AlphaNumericDirective {\r\n @Input() validationFieldsType: string | undefined;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener('keypress', ['$event']) onKeyDown(event: KeyboardEvent) {\r\n this.validateFields(event);\r\n }\r\n\r\n // @HostListener('keyup', ['$event']) onKeyup(event: KeyboardEvent) {\r\n // this.validateFields(event);\r\n // }\r\n\r\n @HostListener('paste', ['$event']) blockPaste(event: KeyboardEvent) {\r\n this.validateFields(event);\r\n }\r\n\r\n validateFields(event: KeyboardEvent) {\r\n setTimeout(() => {\r\n\r\n this.el.nativeElement.value = CommonFunction.removeSpecialCharacterFromString(this.el.nativeElement.value);\r\n\r\n event.preventDefault();\r\n }, 100);\r\n }\r\n}\r\n","import {Directive, ElementRef, HostListener, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[defaultNumber]'\r\n})\r\nexport class DefaultNumberDirective {\r\n regexStr = '^[a-zA-Z0-9_]*$';\r\n regexNum: RegExp = new RegExp('^[0-9]*$');\r\n\r\n @Input() default: Number = 0;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener('keydown.tab', ['$event']) onKeyPressAny(event: any) {\r\n this.setDefaultValue(event);\r\n }\r\n\r\n @HostListener('keypress', ['$event']) onKeyPress(event: any) {\r\n this.setDefaultValue(event);\r\n }\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event: any) {\r\n this.setDefaultValue(event);\r\n }\r\n\r\n @HostListener('paste', ['$event']) blockPaste(event: KeyboardEvent) {\r\n this.setDefaultValue(event);\r\n }\r\n\r\n setDefaultValue(event: any) {\r\n if (['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key)) {\r\n return;\r\n }\r\n\r\n if (\r\n !this.el.nativeElement.value ||\r\n this.el.nativeElement.value == null ||\r\n this.el.nativeElement.value == undefined ||\r\n this.el.nativeElement.value == ''\r\n ) {\r\n const initialValue: string = this.el.nativeElement.value.concat(event.key);\r\n // this.el.nativeElement.value = initialValue.replace(/[^0-9.]|\\.(?=.*\\.)/g, '');\r\n if (initialValue && !String(initialValue).match(this.regexNum)) {\r\n event.stopPropagation();\r\n }\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDigitOnly]'\r\n})\r\nexport class DigitonlyDirective implements OnChanges {\r\n private hasDecimalPoint = false;\r\n private hasNegativeSign = false;\r\n private navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste',\r\n ];\r\n\r\n @Input() decimal = false;\r\n @Input() decimalSeparator = '.';\r\n @Input() allowNegatives = false;\r\n @Input() allowPaste = true;\r\n @Input() negativeSign = '-';\r\n @Input() min = -Infinity;\r\n @Input() max = Infinity;\r\n @Input() pattern?: string | RegExp;\r\n private regex: RegExp | null = null;\r\n inputElement: HTMLInputElement;\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['pattern']) {\r\n this.regex = this.pattern ? RegExp(this.pattern) : null;\r\n }\r\n\r\n if (changes['min']) {\r\n const maybeMin = Number(this.min);\r\n this.min = isNaN(maybeMin) ? -Infinity : maybeMin;\r\n }\r\n\r\n if (changes['max']) {\r\n const maybeMax = Number(this.max);\r\n this.max = isNaN(maybeMax) ? Infinity : maybeMax;\r\n }\r\n }\r\n\r\n @HostListener('beforeinput', ['$event'])\r\n onBeforeInput(e: InputEvent): any {\r\n if (isNaN(Number(e.data))) {\r\n if (\r\n e.data === this.decimalSeparator ||\r\n (e.data === this.negativeSign && this.allowNegatives)\r\n ) {\r\n return; // go on\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent): any {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n ((e.key === 'a' || e.code === 'KeyA') && e.ctrlKey === true) || // Allow: Ctrl+A\r\n ((e.key === 'c' || e.code === 'KeyC') && e.ctrlKey === true) || // Allow: Ctrl+C\r\n ((e.key === 'v' || e.code === 'KeyV') && e.ctrlKey === true) || // Allow: Ctrl+V\r\n ((e.key === 'x' || e.code === 'KeyX') && e.ctrlKey === true) || // Allow: Ctrl+X\r\n ((e.key === 'a' || e.code === 'KeyA') && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n ((e.key === 'c' || e.code === 'KeyC') && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n ((e.key === 'v' || e.code === 'KeyV') && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n ((e.key === 'x' || e.code === 'KeyX') && e.metaKey === true) // Allow: Cmd+X (Mac)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n let newValue = '';\r\n\r\n if (this.decimal && e.key === this.decimalSeparator) {\r\n newValue = this.forecastValue(e.key);\r\n if (newValue.split(this.decimalSeparator).length > 2) {\r\n // has two or more decimal points\r\n e.preventDefault();\r\n return;\r\n } else {\r\n this.hasDecimalPoint = newValue.indexOf(this.decimalSeparator) > -1;\r\n return; // Allow: only one decimal point\r\n }\r\n }\r\n\r\n if (e.key === this.negativeSign && this.allowNegatives) {\r\n newValue = this.forecastValue(e.key);\r\n if (\r\n newValue.charAt(0) !== this.negativeSign ||\r\n newValue.split(this.negativeSign).length > 2\r\n ) {\r\n e.preventDefault();\r\n return;\r\n } else {\r\n this.hasNegativeSign = newValue.split(this.negativeSign).length > -1;\r\n return;\r\n }\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (e.key === ' ' || isNaN(Number(e.key))) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n newValue = newValue || this.forecastValue(e.key);\r\n // check the input pattern RegExp\r\n if (this.regex) {\r\n if (!this.regex.test(newValue)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n }\r\n\r\n const newNumber = Number(newValue);\r\n if (newNumber > this.max || newNumber < this.min) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: any): void {\r\n if (this.allowPaste === true) {\r\n let pastedInput: string = '';\r\n if ((window as { [key: string]: any })['clipboardData']) {\r\n // Browser is IE\r\n pastedInput = (window as { [key: string]: any })[\r\n 'clipboardData'\r\n ].getData('text');\r\n } else if (event.clipboardData && event.clipboardData.getData) {\r\n // Other browsers\r\n pastedInput = event.clipboardData.getData('text/plain');\r\n }\r\n\r\n this.pasteData(pastedInput);\r\n event.preventDefault();\r\n } else {\r\n // this prevents the paste\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent): void {\r\n const textData = event.dataTransfer?.getData('text') ?? '';\r\n this.inputElement.focus();\r\n this.pasteData(textData);\r\n event.preventDefault();\r\n }\r\n\r\n private pasteData(pastedContent: string): void {\r\n const sanitizedContent = this.sanitizeInput(pastedContent);\r\n if (\r\n sanitizedContent.includes(this.negativeSign) &&\r\n this.hasNegativeSign &&\r\n !this.getSelection().includes(this.negativeSign)\r\n ) {\r\n return;\r\n }\r\n const pasted = document.execCommand('insertText', false, sanitizedContent);\r\n if (!pasted) {\r\n if (this.inputElement.setRangeText) {\r\n const { selectionStart: start, selectionEnd: end } = this.inputElement;\r\n this.inputElement.setRangeText(\r\n sanitizedContent,\r\n start ?? 0,\r\n end ?? 0,\r\n 'end'\r\n );\r\n // Angular's Reactive Form relies on \"input\" event, but on Firefox, the setRangeText method doesn't trigger it\r\n // so we have to trigger it ourself.\r\n if (\r\n typeof (window as { [key: string]: any })['InstallTrigger'] !==\r\n 'undefined'\r\n ) {\r\n this.inputElement.dispatchEvent(\r\n new Event('input', { cancelable: true })\r\n );\r\n }\r\n } else {\r\n // Browser does not support setRangeText, e.g. IE\r\n this.insertAtCursor(this.inputElement, sanitizedContent);\r\n }\r\n }\r\n if (this.decimal) {\r\n this.hasDecimalPoint =\r\n this.inputElement.value.indexOf(this.decimalSeparator) > -1;\r\n }\r\n this.hasNegativeSign =\r\n this.inputElement.value.indexOf(this.negativeSign) > -1;\r\n }\r\n\r\n // The following 2 methods were added from the below article for browsers that do not support setRangeText\r\n // https://stackoverflow.com/questions/11076975/how-to-insert-text-into-the-textarea-at-the-current-cursor-position\r\n private insertAtCursor(myField: HTMLInputElement, myValue: string): void {\r\n const startPos = myField.selectionStart ?? 0;\r\n const endPos = myField.selectionEnd ?? 0;\r\n\r\n myField.value =\r\n myField.value.substring(0, startPos) +\r\n myValue +\r\n myField.value.substring(endPos, myField.value.length);\r\n\r\n const pos = startPos + myValue.length;\r\n myField.focus();\r\n myField.setSelectionRange(pos, pos);\r\n\r\n this.triggerEvent(myField, 'input');\r\n }\r\n\r\n private triggerEvent(el: HTMLInputElement, type: string): void {\r\n if ('createEvent' in document) {\r\n // modern browsers, IE9+\r\n const e = document.createEvent('HTMLEvents');\r\n e.initEvent(type, false, true);\r\n el.dispatchEvent(e);\r\n }\r\n }\r\n // end stack overflow code\r\n\r\n private sanitizeInput(input: string): string {\r\n let result = '';\r\n let regex;\r\n if (this.decimal && this.isValidDecimal(input)) {\r\n regex = new RegExp(\r\n `${this.getNegativeSignRegExp()}[^0-9${this.decimalSeparator}]`,\r\n 'g'\r\n );\r\n } else {\r\n regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9]`, 'g');\r\n }\r\n result = input.replace(regex, '');\r\n\r\n const maxLength = this.inputElement.maxLength;\r\n if (maxLength > 0) {\r\n // the input element has maxLength limit\r\n const allowedLength =\r\n maxLength -\r\n this.inputElement.value.length +\r\n (result.includes(`${this.negativeSign}`) ? 1 : 0);\r\n result = allowedLength > 0 ? result.substring(0, allowedLength) : '';\r\n }\r\n return result;\r\n }\r\n\r\n private getNegativeSignRegExp(): string {\r\n return this.allowNegatives &&\r\n (!this.hasNegativeSign || this.getSelection().includes(this.negativeSign))\r\n ? `(?!^${this.negativeSign})`\r\n : '';\r\n }\r\n\r\n private isValidDecimal(string: string): boolean {\r\n if (!this.hasDecimalPoint) {\r\n return string.split(this.decimalSeparator).length <= 2;\r\n } else {\r\n // the input element already has a decimal separator\r\n const selectedText = this.getSelection();\r\n if (selectedText && selectedText.indexOf(this.decimalSeparator) > -1) {\r\n return string.split(this.decimalSeparator).length <= 2;\r\n } else {\r\n return string.indexOf(this.decimalSeparator) < 0;\r\n }\r\n }\r\n }\r\n\r\n private getSelection(): string {\r\n return this.inputElement.value.substring(\r\n this.inputElement.selectionStart ?? 0,\r\n this.inputElement.selectionEnd ?? 0\r\n );\r\n }\r\n\r\n private forecastValue(key: string): string {\r\n const selectionStart = this.inputElement.selectionStart ?? 0;\r\n const selectionEnd = this.inputElement.selectionEnd ?? 0;\r\n const oldValue = this.inputElement.value;\r\n return (\r\n oldValue.substring(0, selectionStart) +\r\n key +\r\n oldValue.substring(selectionEnd)\r\n );\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { NgControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[inputWithComma]',\r\n providers: [DecimalPipe],\r\n})\r\nexport class NumberCommaDirective implements OnInit, OnDestroy {\r\n @Input() validationFieldsType: string | undefined;\r\n\r\n constructor(private el: ElementRef, private decimal: DecimalPipe) {}\r\n\r\n @HostListener('keypress', ['$event']) onKeyDown(event: KeyboardEvent) {\r\n this.validateFields(event);\r\n }\r\n\r\n // @HostListener('keyup', ['$event']) onKeyup(event: KeyboardEvent) {\r\n // this.validateFields(event);\r\n // }\r\n ngOnInit(): void {}\r\n ngOnDestroy(): void {}\r\n\r\n @HostListener('paste', ['$event']) blockPaste(event: KeyboardEvent) {\r\n this.validateFields(event);\r\n }\r\n\r\n validateFields(event: KeyboardEvent) {\r\n setTimeout(() => {\r\n const parts = this.el.nativeElement.value.toString().split('.');\r\n parts[0] = this.decimal.transform(parts[0].replace(/,/g, ''));\r\n this.el.nativeElement.value = parts.join('.');\r\n // this.el.nativeElement.value =\r\n // CommonFunction.removeSpecialCharacterFromString(\r\n // this.el.nativeElement.value\r\n // );\r\n\r\n event.preventDefault();\r\n }, 100);\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { SubSink } from 'src/app/Core/SubSink';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\n\r\n@Directive({\r\n selector: '[numberDir]'\r\n})\r\nexport class NumberDirective {\r\n ngOnDestroy() {\r\n this.subSink.unSubscribe();\r\n }\r\n\r\n private subSink = new SubSink();\r\n\r\n @Input() default: any = 0;\r\n\r\n @Input() doSetDefault: boolean = false;\r\n\r\n @Input() MaxNumber: number = Infinity;\r\n\r\n @Input() MinNumber: number = -Infinity;\r\n\r\n @Input() setDefaultMaxNumber: boolean = false;\r\n\r\n @Input() MaxLength: number = 14;\r\n\r\n constructor(private control: NgControl, private el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.subSink.sink = this.control.control?.valueChanges.subscribe((event: any) => {\r\n this.onInputChange(event);\r\n });\r\n }\r\n\r\n // @HostListener('keydown.tab', ['$event']) onKeyPressAny(event: any) {\r\n // this.setValue(event);\r\n // }\r\n\r\n // @HostListener('paste', ['$event']) blockPaste(event: KeyboardEvent) {\r\n\r\n // }\r\n\r\n @HostListener('keydown', ['$event'])\r\n @debounce(100)\r\n keydown(event: KeyboardEvent) {\r\n let value = this.el.nativeElement.value;\r\n\r\n if (value && value.length <= 0) {\r\n return;\r\n }\r\n\r\n if (value.length > this.MaxLength) {\r\n return;\r\n }\r\n\r\n if (value == 0) {\r\n if (this.control && this.control.control) {\r\n let control = this.control;\r\n setTimeout(() => {\r\n control?.control?.setValue(event.key);\r\n }, 1);\r\n\r\n }\r\n }\r\n }\r\n\r\n // @HostListener('keyup', ['$event']) keyup(event: KeyboardEvent) {\r\n // this.setValue(event);\r\n // }\r\n\r\n // @HostListener('change', ['$event']) change(event: KeyboardEvent) {\r\n // this.setValue(event);\r\n // }\r\n\r\n setValue(event: any) {\r\n let value = 0;\r\n\r\n if (['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'].includes(event.key)) {\r\n if (this.el.nativeElement.value) {\r\n value = this.convertToNumber(this.el.nativeElement.value);\r\n }\r\n\r\n if (this.checkValidations(value, event.key)) {\r\n return;\r\n }\r\n }\r\n\r\n if (!this.el.nativeElement.value || this.el.nativeElement.value == null || this.el.nativeElement.value == undefined) {\r\n if (this.doSetDefault) {\r\n this.el.nativeElement.value = this.default;\r\n } else {\r\n this.el.nativeElement.value = '';\r\n }\r\n }\r\n\r\n this.el.nativeElement.value = this.el?.nativeElement?.value?.replace(/[^0-9.]/g, '');\r\n\r\n if (this.control && this.control.control && this.control.control.value) {\r\n this.control.control.setValue(this.el.nativeElement.value);\r\n }\r\n return;\r\n\r\n // if (\r\n // !this.el.nativeElement.value ||\r\n // this.el.nativeElement.value == null ||\r\n // this.el.nativeElement.value == undefined ||\r\n // this.el.nativeElement.value == ''\r\n // ) {\r\n // if (this.doSetDefault) {\r\n // this.el.nativeElement.value = this.default;\r\n // } else {\r\n // this.el.nativeElement.value = '';\r\n // }\r\n // } else {\r\n // if (this.checkValidations(value, event.key)) {\r\n // return;\r\n // }\r\n // }\r\n }\r\n\r\n private checkValidations(value: number, key: string) {\r\n if (value > this.MaxNumber && this.setDefaultMaxNumber) {\r\n this.el.nativeElement.value = this.MaxNumber;\r\n\r\n if (this.control && this.control.control && this.control.control.value) {\r\n this.control.control.setValue(this.MaxNumber);\r\n }\r\n } else if (value < this.MinNumber) {\r\n this.el.nativeElement.value = this.MinNumber;\r\n\r\n if (this.control && this.control.control && this.control.control.value) {\r\n this.control.control.setValue(this.MinNumber);\r\n }\r\n } else if (value == 0) {\r\n if (this.control && this.control.control) {\r\n this.control.control.setValue(key);\r\n }\r\n } else if (value.toString().length > this.MaxLength) {\r\n value = this.convertToNumber(value.toString().substring(0, this.MaxLength));\r\n this.el.nativeElement.value = value;\r\n if (this.control && this.control.control && this.control.control.value) {\r\n this.control.control.setValue(value);\r\n }\r\n } else {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private convertToNumber(value: any): number {\r\n try {\r\n let data = value.toString() as string;\r\n\r\n data = data?.replace(/,/g, '');\r\n let numRes = Number(data);\r\n\r\n if (isNaN(numRes)) {\r\n return 0;\r\n }\r\n\r\n return numRes;\r\n } catch (e) {\r\n return 0;\r\n }\r\n }\r\n\r\n @HostListener('keydown.tab', ['$event'])\r\n @HostListener('paste', ['$event'])\r\n // @HostListener('keydown', ['$event'])\r\n @HostListener('keyup', ['$event'])\r\n //@HostListener('change', ['$event'])\r\n onInputChange(event: KeyboardEvent | ClipboardEvent | Event) {\r\n setTimeout(() => {\r\n this.updateValue(event);\r\n }, 10);\r\n }\r\n\r\n private updateValue(event: KeyboardEvent | ClipboardEvent | Event) {\r\n const input = this.el.nativeElement as HTMLInputElement;\r\n let value = input?.value?.replace(/[^0-9.]|\\.(?=.*\\.)/g, ''); // only allow numbers and a single dot\r\n\r\n if (!value || value == '') {\r\n value = this?.control?.value?.replace(/[^0-9.]|\\.(?=.*\\.)/g, '');\r\n }\r\n\r\n // if(!value || value == ''){\r\n // return;\r\n // }\r\n\r\n input.value = value;\r\n if (value) {\r\n if (value[value.length - 1] == '.') {\r\n return;\r\n }\r\n }\r\n\r\n let parsed = parseFloat(value);\r\n\r\n if (this.MaxLength && value?.length > this.MaxLength) {\r\n value = value.slice(0, this.MaxLength);\r\n input.value = value;\r\n parsed = parseFloat(value);\r\n }\r\n\r\n if (this.doSetDefault && value === '') {\r\n value = this.default.toString();\r\n input.value = value;\r\n }\r\n\r\n if (this.setDefaultMaxNumber && !isNaN(parsed)) {\r\n value = Math.min(parsed, this.MaxNumber).toString();\r\n input.value = value;\r\n }\r\n\r\n if (!isNaN(parsed)) {\r\n if (parsed > this.MaxNumber) {\r\n value = this.MaxNumber.toString();\r\n input.value = value;\r\n } else if (parsed < this.MinNumber) {\r\n value = this.MinNumber.toString();\r\n input.value = value;\r\n }\r\n }\r\n\r\n if (value !== input?.value) {\r\n event?.preventDefault();\r\n input.dispatchEvent(new Event('input'));\r\n }\r\n\r\n if (this.control && this.control.control) {\r\n this.control.control.setValue(this.el.nativeElement.value, { emitEvent: false });\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appString]'\r\n})\r\nexport class StringDirective {\r\n @Input('stringLength') maxLength: number = 9999999999;\r\n @Input() minLength: number = 0;\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n private checkLength(value: string) {\r\n if (value.length < this.minLength) {\r\n this.el.nativeElement.setCustomValidity(`Minimum length is ${this.minLength}`);\r\n } else if (value.length > this.maxLength) {\r\n this.el.nativeElement.setCustomValidity(`Maximum length is ${this.maxLength}`);\r\n } else {\r\n this.el.nativeElement.setCustomValidity('');\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event']) onPaste(event: ClipboardEvent) {\r\n const input = this.el.nativeElement as HTMLInputElement;\r\n\r\n if(!input) return;\r\n\r\n const maxLength = this.maxLength;\r\n const pastedText = event.clipboardData?.getData('text');\r\n const value = input.value;\r\n const selectionStart = input.selectionStart || 0;\r\n const selectionEnd = input.selectionEnd || 0;\r\n\r\n setTimeout(() => {\r\n const pastedValue = pastedText?.substring(0, maxLength - value.length + selectionEnd - selectionStart);\r\n const newValue = value.substring(0, selectionStart) + pastedValue + value.substring(selectionEnd);\r\n input.value = newValue;\r\n this.checkLength(newValue);\r\n }, 0);\r\n }\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event: KeyboardEvent) {\r\n const input = this.el.nativeElement as HTMLInputElement;\r\n const value = input.value;\r\n const keyCode = event.which || event.keyCode;\r\n if (keyCode === 8 || keyCode === 46 || keyCode === 37 || keyCode === 39) {\r\n return;\r\n }\r\n if (value.length >= this.maxLength) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('input', ['$event']) onInput(event: Event) {\r\n const input = this.el.nativeElement as HTMLInputElement;\r\n const value = input.value;\r\n this.checkLength(value);\r\n if (value.length > this.maxLength) {\r\n input.value = value.substr(0, this.maxLength);\r\n this.checkLength(input.value);\r\n }\r\n }\r\n\r\n @HostListener('blur', ['$event']) onBlur(event: Event) {\r\n const input = this.el.nativeElement as HTMLInputElement;\r\n const value = input.value;\r\n this.checkLength(value);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { debounce } from 'typescript-debounce-decorator';\r\n\r\n@Directive({\r\n selector: '[appTrimInput]'\r\n})\r\nexport class TrimInputDirective {\r\n @Input() appInput: boolean | '' = true;\r\n constructor(private readonly control: NgControl) {}\r\n @HostListener('change', ['$event.target'])\r\n @HostListener('blur', ['$event.target'])\r\n // @HostListener('mouseOut', ['$event'])\r\n @HostListener('mouseout', ['$event.target'])\r\n // @HostListener('keyup', ['$event.target'])\r\n @debounce(100)\r\n onInput(input: HTMLInputElement): void {\r\n let value = input?.value?.trim();\r\n if (this.appInput || this.appInput === '') this.control?.control?.setValue(value);\r\n }\r\n}\r\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { Chart } from 'chart.js';\r\n\r\n@Component({\r\n selector: 'doughnut-chart',\r\n templateUrl: './doughnut-chart.component.html',\r\n styleUrls: ['./doughnut-chart.component.css'],\r\n})\r\nexport class DoughnutChartComponent {\r\n chart: any;\r\n @ViewChild('dChart', { static: false }) dChart: ElementRef = {} as ElementRef;\r\n\r\n @Input() cutOut: number = 81;\r\n\r\n @Input() set OnPerChange(value: number) {\r\n this.answerPer = parseFloat(value.toFixed(0));\r\n this.chartLogic(this.answerPer);\r\n }\r\n\r\n private answerPer: number = 0;\r\n\r\n arrOne: any = {\r\n numbers: [0, 0, 0, 0, 0],\r\n labels: ['Very Bad', 'Bad', 'Good', 'Very Good', 'Great', ''],\r\n colors: ['#FEE9DA', '#FDD4B9', '#FDC097', '#FCA265', '#FA7A23', '#FAFAFA'],\r\n };\r\n doughnutCharts: any = [this.arrOne];\r\n private chartLogic(perquestionVerenatge: number) {\r\n if (perquestionVerenatge >= 0 && perquestionVerenatge <= 20) {\r\n this.arrOne.numbers = [\r\n perquestionVerenatge,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 100 - perquestionVerenatge,\r\n ];\r\n } else if (perquestionVerenatge >= 21 && perquestionVerenatge <= 40) {\r\n this.arrOne.numbers = [\r\n 0,\r\n perquestionVerenatge,\r\n 0,\r\n 0,\r\n 0,\r\n 100 - perquestionVerenatge,\r\n ];\r\n } else if (perquestionVerenatge >= 41 && perquestionVerenatge <= 60) {\r\n this.arrOne.numbers = [\r\n 0,\r\n 0,\r\n perquestionVerenatge,\r\n 0,\r\n 0,\r\n 100 - perquestionVerenatge,\r\n ];\r\n } else if (perquestionVerenatge >= 61 && perquestionVerenatge <= 80) {\r\n this.arrOne.numbers = [\r\n 0,\r\n 0,\r\n 0,\r\n perquestionVerenatge,\r\n 0,\r\n 100 - perquestionVerenatge,\r\n ];\r\n } else if (perquestionVerenatge >= 81 && perquestionVerenatge <= 100) {\r\n this.arrOne.numbers = [\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n perquestionVerenatge,\r\n 100 - perquestionVerenatge,\r\n ];\r\n } else {\r\n this.arrOne.numbers = [\r\n perquestionVerenatge,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n ];\r\n }\r\n this.doughnutCharts = [this.arrOne];\r\n\r\n\r\n window.setTimeout(() => {\r\n this.generateChart();\r\n }, 100);\r\n }\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.generateChart();\r\n }\r\n\r\n private generateChart() {\r\n\r\n if (!this.dChart) return;\r\n\r\n let cvs = this.dChart.nativeElement || undefined;\r\n\r\n if (!cvs) return;\r\n\r\n if (this.chart) this.chart.destroy();\r\n\r\n this.chart = new Chart(cvs, {\r\n type: 'doughnut',\r\n plugins: [\r\n {\r\n id: 'custom_canvas_background_color',\r\n beforeDraw: (chart, args, options) => {\r\n var height = this.chart.height;\r\n var fontSize = (height / 114).toFixed(2);\r\n this.chart.ctx.font = fontSize + 'em Verdana';\r\n this.chart.ctx.textBaseline = 'middle';\r\n\r\n var text = this.answerPer + '%';\r\n var textY = height / 2;\r\n this.chart.ctx.fillText(text, 70, textY);\r\n },\r\n },\r\n ],\r\n data: {\r\n labels: this.arrOne.labels,\r\n datasets: [\r\n {\r\n data: this.arrOne.numbers,\r\n backgroundColor: this.arrOne.colors,\r\n fill: false,\r\n borderWidth: 0,\r\n },\r\n ],\r\n },\r\n options: {\r\n plugins: {\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n onClick: (e: any, i: { index: string | number }) => {\r\n // get index from LegendItem\r\n e.preventDefault();\r\n },\r\n },\r\n },\r\n aspectRatio: 1.8,\r\n responsive: false,\r\n cutoutPercentage: this.cutOut,\r\n tooltips: {\r\n enabled: true,\r\n },\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n },\r\n },\r\n },\r\n });\r\n }\r\n}\r\n","\r\n
\r\n

{{ dChart.category }}

\r\n
\r\n
\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, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport Chart from 'chart.js/auto';\r\nimport { AssessmentRevenueDetails } from 'src/app/Models/assessmentRevenueDetail.interface';\r\n\r\n@Component({\r\n selector: 'app-gauge-chart',\r\n templateUrl: './gauge-chart.component.html',\r\n styleUrls: ['./gauge-chart.component.css']\r\n})\r\nexport class GaugeChartComponent implements OnInit {\r\n @ViewChild('canvasContainer', { static: false }) chartContainer: ElementRef = {} as ElementRef;\r\n\r\n private chart: any;\r\n\r\n private chartRevenueDetail = {} as AssessmentRevenueDetails;\r\n\r\n private multiplicationFactor = 2;\r\n\r\n gaugeChartData = {\r\n gaugeFirstPart: 25,\r\n gaugeSecondPart: 50,\r\n gaugeName: 'income',\r\n gaugeStartValue: 0,\r\n gaugeEndValue: 0\r\n } as any;\r\n\r\n @Input() chartType: 'Income1' | 'Income2' | 'Unit1' | 'Unit2' | 'hours1' | 'hours2' | 'Volume1' | 'Volume2' = 'Income1';\r\n\r\n private changeToNumber(value: any): number {\r\n try {\r\n return Number(value);\r\n } catch (e) {\r\n return 0;\r\n }\r\n }\r\n\r\n @Input() set setRevenueDetail(data: AssessmentRevenueDetails) {\r\n data.averageCommission = this.changeToNumber(data.averageCommission);\r\n data.units = this.changeToNumber(data.units);\r\n data.hours = this.changeToNumber(data.hours);\r\n data.currentVolume = this.changeToNumber(data.currentVolume);\r\n data.currentIncome = this.changeToNumber(data.currentIncome);\r\n data.numberOfClient = this.changeToNumber(data.numberOfClient);\r\n data.numberOfListings = this.changeToNumber(data.numberOfListings);\r\n data.numberOfBuyers = this.changeToNumber(data.numberOfBuyers);\r\n data.averageSalesPrice = this.changeToNumber(data.averageSalesPrice);\r\n data.homeSold = this.changeToNumber(data.homeSold);\r\n data.totalPer = this.changeToNumber(data.totalPer);\r\n data.totalUnits = this.changeToNumber(data.totalUnits);\r\n\r\n this.chartRevenueDetail = data;\r\n\r\n this.generateChart();\r\n }\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit(): void {\r\n this.renderChart();\r\n }\r\n\r\n private renderChart() {\r\n if (!this.chartContainer) return;\r\n\r\n let chartContainer = this.chartContainer.nativeElement as HTMLElement;\r\n\r\n if (!chartContainer) return;\r\n\r\n chartContainer.innerHTML = '';\r\n\r\n var cvs = document.createElement('canvas');\r\n\r\n chartContainer.appendChild(cvs);\r\n\r\n if (!cvs) return;\r\n\r\n if (this.chart) this.chart.destroy();\r\n this.chart = new Chart(cvs, {\r\n type: 'doughnut',\r\n plugins: [\r\n {\r\n id: 'custom_canvas_background_color',\r\n beforeDraw: (chart, args, options) => {\r\n let needleValue: any = this.gaugeChartData.gaugeFirstPart;\r\n let dataTotal: any = chart.config.data.datasets[0].data.reduce((a, b) => ((a as any) + b) as any, 0);\r\n let angle = Math.PI + (1 / dataTotal) * needleValue * Math.PI;\r\n let cw = chart.canvas.offsetWidth;\r\n let ch = chart.canvas.offsetHeight;\r\n let cx = cw / 2;\r\n let cy = ch - 6;\r\n const { ctx } = chart;\r\n ctx.translate(cx, cy);\r\n ctx.rotate(angle);\r\n ctx.beginPath();\r\n ctx.moveTo(0, -3);\r\n ctx.lineTo(ch - 20, 0);\r\n ctx.lineTo(0, 3);\r\n ctx.fillStyle = 'rgb(0, 0, 0)';\r\n ctx.fill();\r\n ctx.rotate(-angle);\r\n ctx.translate(-cx, -cy);\r\n ctx.beginPath();\r\n ctx.arc(cx, cy, 5, 0, Math.PI * 2);\r\n ctx.fill();\r\n }\r\n }\r\n ],\r\n data: {\r\n labels: [],\r\n\r\n datasets: [\r\n {\r\n data: [this.gaugeChartData.gaugeFirstPart, this.gaugeChartData.gaugeSecondPart],\r\n\r\n backgroundColor: ['#73D12A', '#231F20', 'rgba(63, 191, 63, 0.2)']\r\n }\r\n ]\r\n },\r\n options: {\r\n responsive: false,\r\n aspectRatio: 2,\r\n\r\n layout: {\r\n padding: {\r\n bottom: 3\r\n }\r\n },\r\n needleValue: this.gaugeChartData.gaugeFirstPart,\r\n rotation: -90,\r\n cutout: '50%',\r\n circumference: 180,\r\n legend: {\r\n display: false\r\n },\r\n // cutoutPercentage: 75,\r\n tooltips: {\r\n enabled: true\r\n },\r\n animation: {\r\n animateRotate: false,\r\n animateScale: true\r\n }\r\n }\r\n });\r\n }\r\n\r\n private generateChart() {\r\n switch (this.chartType) {\r\n case 'Income1':\r\n case 'Income2':\r\n this.updateIncomeChart();\r\n break;\r\n case 'Unit1':\r\n case 'Unit2':\r\n this.updateUnitChart();\r\n break;\r\n case 'Volume1':\r\n case 'Volume2':\r\n this.updateVolumeChart();\r\n break;\r\n case 'hours1':\r\n case 'hours2':\r\n this.updateHourChart();\r\n break;\r\n }\r\n\r\n this.renderChart();\r\n }\r\n\r\n private updateIncomeChart() {\r\n //Formula\r\n // Previous Year Income + ( ((Avg Sales Price * Avg Commission ) / 100 ) * Total Units)\r\n\r\n let salesPrice = this.chartRevenueDetail.averageSalesPrice;\r\n let commission = this.chartRevenueDetail.averageCommission;\r\n let units = this.chartRevenueDetail.totalUnits;\r\n\r\n let formulaValue = this.chartRevenueDetail.currentIncome + ((salesPrice * commission) / 100) * units;\r\n\r\n this.UpdateGaugeChart(formulaValue, this.chartRevenueDetail.currentIncome);\r\n }\r\n\r\n private updateVolumeChart() {\r\n // Formula\r\n // Previous Year Volume+ (Avg Sales Price * Total Units)\r\n\r\n let formulaValue = this.chartRevenueDetail.currentVolume + this.chartRevenueDetail.averageSalesPrice * this.chartRevenueDetail.totalUnits;\r\n\r\n this.UpdateGaugeChart(formulaValue, this.chartRevenueDetail.currentVolume);\r\n }\r\n\r\n private updateUnitChart() {\r\n //formula\r\n // No of Units (Sales) + Total Units (Sales)\r\n\r\n let formulaValue = this.chartRevenueDetail.homeSold + this.chartRevenueDetail.totalUnits;\r\n\r\n this.UpdateGaugeChart(formulaValue, this.chartRevenueDetail.homeSold);\r\n }\r\n\r\n private updateHourChart() {\r\n //Formula\r\n // (currentIncome + ( ((avg sales price * avg commission) / 100 ) * totalUnits ) ) / hours\r\n\r\n let commission = (this.chartRevenueDetail.averageSalesPrice * this.chartRevenueDetail.averageCommission) / 100;\r\n\r\n let formula1 = this.chartRevenueDetail.currentIncome + (commission * this.chartRevenueDetail.totalUnits);\r\n\r\n let formulaValue = formula1 == 0 ? 0 : formula1 / this.chartRevenueDetail.hours;\r\n\r\n let initialValue = this.chartRevenueDetail.currentIncome / this.chartRevenueDetail.hours;\r\n\r\n this.UpdateGaugeChart(formulaValue, initialValue);\r\n }\r\n\r\n private UpdateGaugeChart(formulaValue: number, initialValue: number) {\r\n let initialEndValue = initialValue * this.multiplicationFactor;\r\n\r\n let finalEndValue = initialEndValue;\r\n\r\n if (formulaValue > initialEndValue) {\r\n finalEndValue = formulaValue + formulaValue * 0.2;\r\n }\r\n\r\n finalEndValue = this.roundTo100Or1000(finalEndValue);\r\n\r\n if (['hours1', 'Unit1', 'Volume1', 'Income1'].includes(this.chartType)) {\r\n this.gaugeChartData.gaugeFirstPart = initialValue;\r\n } else if (['hours2', 'Unit2', 'Volume2', 'Income2'].includes(this.chartType)) {\r\n this.gaugeChartData.gaugeFirstPart = formulaValue;\r\n }\r\n\r\n this.gaugeChartData.gaugeSecondPart = finalEndValue - this.gaugeChartData.gaugeFirstPart;\r\n this.gaugeChartData.gaugeEndValue = finalEndValue;\r\n this.gaugeChartData.gaugeStartValue = 0;\r\n }\r\n\r\n private getRoundOfToThousand(round: number) {\r\n let number = 0;\r\n var rest = round % 1000;\r\n if (rest == 0) return round;\r\n\r\n if (rest > 500) {\r\n number = round - rest + 1000;\r\n } else {\r\n number = round - rest + 500;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n private getRoundOfToHundred(round: number) {\r\n let number = 0;\r\n var rest = round % 100;\r\n\r\n if (rest == 0) return round;\r\n if (rest > 50) {\r\n number = round - rest + 100;\r\n } else {\r\n number = round - rest + 50;\r\n }\r\n\r\n return number;\r\n }\r\n\r\n private roundTo100Or1000(round: number) {\r\n if (round > 1000) {\r\n return this.getRoundOfToThousand(round);\r\n }\r\n\r\n return this.getRoundOfToHundred(round);\r\n }\r\n}\r\n","
\r\n

\r\n {{ gaugeChartData.gaugeFirstPart | number }}\r\n

\r\n
\r\n

\r\n {{ gaugeChartData.gaugeStartValue }}\r\n

\r\n

\r\n {{ gaugeChartData.gaugeEndValue | number : '1.0-0' }}\r\n

\r\n
\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree} from '@angular/router';\r\nimport {Observable} from 'rxjs';\r\nimport {accountRoutes} from 'src/app/Core/routes.enum';\r\nimport { Storage } from 'src/app/Core/storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuardGuard implements CanActivate {\r\n\r\n /**\r\n *\r\n */\r\n constructor(private router: Router) {\r\n\r\n\r\n }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n\r\n let user = Storage.getUserData();\r\n if (user == null) {\r\n this.router.navigateByUrl(accountRoutes.account + \"/\" + accountRoutes.login);\r\n return false;\r\n }\r\n\r\n let token = Storage.getToken();\r\n\r\n if (!token || token == null || token.length == 0) {\r\n this.router.navigateByUrl(accountRoutes.account + \"/\" + accountRoutes.login);\r\n return false;\r\n }\r\n let roles = route.data.roles as Array;\r\n if (roles && route.data.roles[0] !== user.role) {\r\n this.router.navigateByUrl('/pages/assessment');\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { accountRoutes } from 'src/app/Core/routes.enum';\r\nimport { Storage } from 'src/app/Core/storage';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ScheduleEventGuard implements CanActivate {\r\n\r\n /**\r\n *\r\n */\r\n constructor(private router: Router) {\r\n }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n\r\n let user = Storage.getUserData() as any;\r\n if (user == null) {\r\n this.router.navigateByUrl(accountRoutes.account + \"/\" + accountRoutes.signup);\r\n return false;\r\n }\r\n\r\n user = user as any;\r\n\r\n if (!user?.isEndUser) {\r\n this.router.navigate([accountRoutes.account + \"/\" + accountRoutes.signup]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders,\r\n HttpErrorResponse,\r\n} from '@angular/common/http';\r\nimport { Observable, tap } from 'rxjs';\r\nimport { Storage } from 'src/app/Core/storage';\r\nimport { accountRoutes } from 'src/app/Core/routes.enum';\r\nimport {Router} from '@angular/router';\r\n\r\n@Injectable()\r\nexport class HeadersInterceptor implements HttpInterceptor {\r\n constructor(private route: Router) {}\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n let headers = new HttpHeaders();\r\n\r\n headers = request.headers.set('Content-Type', 'application/json');\r\n\r\n let authToken = Storage.getToken() ?? '';\r\n headers = request.headers.set('Authorization', '');\r\n if (authToken != '') {\r\n headers = request.headers.set('Authorization', 'bearer ' + authToken);\r\n }\r\n\r\n const authReq = request.clone({ headers });\r\n\r\n return next.handle(authReq).pipe(\r\n tap(\r\n () => {},\r\n (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status == 401) {\r\n this.route.navigateByUrl(\r\n accountRoutes.account + '/' + accountRoutes.login\r\n );\r\n Storage.removeUserData();\r\n }\r\n //this.router.navigate(['login']);\r\n }\r\n }\r\n )\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n modalRef: NgbModalRef | null = null;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public static open(modalService: NgbModal) {\r\n let ref = modalService.open(LoaderComponent, {\r\n modalDialogClass: 'LoaderModel'\r\n });\r\n\r\n let component = ref.componentInstance as LoaderComponent;\r\n\r\n component.modalRef = ref;\r\n\r\n return component;\r\n }\r\n\r\n close() {\r\n if (this.modalRef) {\r\n this.modalRef.close();\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-message-dialog',\r\n templateUrl: './message-dialog.component.html',\r\n styleUrls: ['./message-dialog.component.css']\r\n})\r\nexport class MessageDialogComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n private modelRef: NgbModalRef = {} as NgbModalRef;\r\n\r\n config = {\r\n message: \"\"\r\n };\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public static open(modalService: NgbModal, message: string) {\r\n let ref = modalService.open(MessageDialogComponent);\r\n\r\n let component = ref.componentInstance as MessageDialogComponent;\r\n\r\n component.modelRef = ref;\r\n component.config.message = message;\r\n\r\n return ref;\r\n }\r\n\r\n close(check: boolean) {\r\n this.modelRef.close(check);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n

{{ config.message }}

\r\n
\r\n \r\n
","import { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgbModalModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { LoaderService } from 'src/app/shared/Services/loader.service';\r\nimport { SideBarService } from 'src/app/shared/Services/sideBar.service';\r\nimport { BarChartComponent } from 'src/app/shared/bar-chart/bar-chart.component';\r\nimport { CommonPdfDownloadComponent } from 'src/app/shared/common-pdf-download/common-pdf-download.component';\r\nimport { ConfirmDialogComponent } from 'src/app/shared/confirm-dialog/confirm-dialog.component';\r\nimport { AlphaNumericDirective } from 'src/app/shared/directives/alpha-numeric.directive';\r\nimport { DefaultNumberDirective } from 'src/app/shared/directives/default-number.directive';\r\nimport { NumberCommaDirective } from 'src/app/shared/directives/number-comma.directive.directive';\r\nimport { DoughnutChartComponent } from 'src/app/shared/doughnut-chart/doughnut-chart.component';\r\nimport { LoaderComponent } from 'src/app/shared/loader/loader.component';\r\nimport { MessageDialogComponent } from 'src/app/shared/message-dialog/message-dialog.component';\r\nimport { ToastService } from '../services/toast.service';\r\nimport { CoinService } from './Services/coin.service';\r\nimport { DeleteConfirmationComponent } from './delete-confirmation/delete-confirmation.component';\r\nimport { NoDotDirective } from './directives/NoDot.directive';\r\nimport { DigitonlyDirective } from './directives/digitonly.directive';\r\nimport { NumberDirective } from './directives/numberDirective.directive';\r\nimport { StringDirective } from './directives/string.directive';\r\nimport { TrimInputDirective } from './directives/trim-input.directive';\r\nimport { GaugeChartComponent } from './gauge-chart/gauge-chart.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n LoaderComponent,\r\n ConfirmDialogComponent,\r\n MessageDialogComponent,\r\n BarChartComponent,\r\n DoughnutChartComponent,\r\n CommonPdfDownloadComponent,\r\n DefaultNumberDirective,\r\n AlphaNumericDirective,\r\n NumberCommaDirective,\r\n NumberDirective,\r\n NoDotDirective,\r\n GaugeChartComponent,\r\n StringDirective,\r\n // OtpInputComponent,\r\n DigitonlyDirective,\r\n TrimInputDirective,\r\n DeleteConfirmationComponent\r\n ],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, NgbModalModule, NgbTooltipModule, HttpClientModule],\r\n exports: [\r\n LoaderComponent,\r\n ConfirmDialogComponent,\r\n MessageDialogComponent,\r\n CommonPdfDownloadComponent,\r\n BarChartComponent,\r\n DoughnutChartComponent,\r\n DefaultNumberDirective,\r\n AlphaNumericDirective,\r\n NumberCommaDirective,\r\n NumberDirective,\r\n NoDotDirective,\r\n GaugeChartComponent,\r\n StringDirective,\r\n DigitonlyDirective,\r\n NgbTooltipModule,\r\n TrimInputDirective,\r\n DeleteConfirmationComponent\r\n ],\r\n providers: [\r\n {\r\n provide: LoaderService,\r\n useClass: LoaderService\r\n },\r\n {\r\n provide: ToastService,\r\n useClass: ToastService\r\n },\r\n {\r\n provide: SideBarService,\r\n useClass: SideBarService\r\n },\r\n {\r\n provide: NumberCommaDirective,\r\n useClass: NumberCommaDirective\r\n },\r\n {\r\n provide: CoinService,\r\n useClass: CoinService\r\n }\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\r\nimport { accountRoutes, appRoute } from 'src/app/Core/routes.enum';\r\nimport { Storage } from 'src/app/Core/storage';\r\nimport { SideBarService } from 'src/app/shared/Services/sideBar.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css'],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n logoPath = '/assets/images/menu-logo-mortgage.svg';\r\n constructor(private router: Router, private sideBarService: SideBarService) {\r\n if (environment.isAgent) {\r\n this.logoPath =\r\n '/assets/images/Mortagage_Agent_Logo_Black_mobile.svg';\r\n }\r\n }\r\n\r\n autoClose: NgbDropdown['autoClose'] = true;\r\n\r\n public userData: any = null;\r\n public baseApiUrl: string = environment.baseUrl;\r\n public remoteImageUrl: string = environment.remoteImageUrl;\r\n isShowSidebar: boolean = false;\r\n\r\n ngOnInit(): void {\r\n this.setUserDetails();\r\n this.sideBarService.isShowSidebar.subscribe({\r\n next: (data) => {\r\n this.isShowSidebar = data;\r\n },\r\n error: (error) => { },\r\n });\r\n }\r\n\r\n private setUserDetails(): void {\r\n Storage.userDataEvent.subscribe((x) => {\r\n this.userData = x;\r\n });\r\n }\r\n\r\n HeaderSidebarOpen() {\r\n if (!this.isShowSidebar) {\r\n this.sideBarService.open();\r\n } else {\r\n this.sideBarService.close();\r\n }\r\n }\r\n\r\n userHeaderClick(type: string) {\r\n if (type == 'profile') {\r\n this.router.navigateByUrl(appRoute.pages + '/' + appRoute.userprofile);\r\n } else if (type == 'password') {\r\n this.router.navigateByUrl(appRoute.pages + '/' + appRoute.changepassword);\r\n } else {\r\n Storage.removeUserData();\r\n this.router.navigateByUrl(\r\n accountRoutes.account + '/' + accountRoutes.login\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
","import {Component, OnInit} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {accountRoutes, appRoute} from 'src/app/Core/routes.enum';\r\nimport {Storage} from 'src/app/Core/storage';\r\nimport {UserRoleEnum} from 'src/app/Core/userRole.enum';\r\nimport {IUser} from 'src/app/Models/user.interface';\r\nimport {SideBarService} from 'src/app/shared/Services/sideBar.service';\r\nimport {environment} from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-side-bar',\r\n templateUrl: './side-bar.component.html',\r\n styleUrls: ['./side-bar.component.css']\r\n})\r\nexport class SideBarComponent implements OnInit {\r\n sideBarList: any[] = [];\r\n public userData: IUser = {} as IUser;\r\n logoPath = '/assets/images/navigation-logo.svg';\r\n\r\n constructor(private sideBarService: SideBarService, private router: Router) {\r\n if (environment.isAgent) {\r\n this.logoPath = '/assets/images/Mortagage_Agent_Logo_Black.svg';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.userData = (await Storage.getUserData()) ?? ({} as IUser);\r\n if (this.userData.role === UserRoleEnum.ProfitAdviser) {\r\n this.sideBarList.push(\r\n {\r\n title: 'Assessment',\r\n link: '/' + appRoute.pages + '/' + appRoute.assessment,\r\n imgPath: '/assets/images/assessment-icon.svg'\r\n },\r\n {\r\n title: 'Inquiry',\r\n link: '/' + appRoute.pages + '/' + appRoute.inquiry,\r\n imgPath: '/assets/images/question-answer-fill.svg'\r\n },\r\n {\r\n title: 'Agent Profit Plan Classes',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitPlan,\r\n imgPath: '/assets/images/agentprofitplan.svg'\r\n },\r\n {\r\n title: 'Scripts and Calls',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitScript,\r\n imgPath: '/assets/images/phone-fill (1).svg'\r\n },\r\n {\r\n title: 'How to Use the Agent Profit Plan',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitUses,\r\n imgPath: '/assets/images/question-fill.svg'\r\n },\r\n {\r\n title: 'Weekly Plan Success',\r\n link: '/' + appRoute.pages + '/' + appRoute.weeklyPlans,\r\n imgPath: '/assets/images/calendar-fill.svg'\r\n }\r\n );\r\n } else if (this.userData.role == UserRoleEnum.Admin) {\r\n if (!environment.isAgent) {\r\n this.sideBarList.push(\r\n {\r\n title: 'Assessment',\r\n link: '/' + appRoute.pages + '/' + appRoute.assessment,\r\n imgPath: '/assets/images/assessment-icon.svg'\r\n },\r\n {\r\n title: 'Question Config',\r\n link: '/' + appRoute.pages + '/' + appRoute.questionConfig,\r\n imgPath: '/assets/images/menu-que-icon.svg'\r\n }\r\n );\r\n } else {\r\n this.sideBarList.push(\r\n {\r\n title: 'Profit Adviser',\r\n link: '/' + appRoute.pages + '/' + appRoute.profitofficer,\r\n imgPath: '/assets/images/officer.svg'\r\n },\r\n {\r\n title: 'Inquiry',\r\n link: '/' + appRoute.pages + '/' + appRoute.inquiry,\r\n imgPath: '/assets/images/question-answer-fill.svg'\r\n },\r\n // {\r\n // title: 'PO Inquiry',\r\n // link: '/' + appRoute.pages + '/' + appRoute.poInquiry,\r\n // imgPath: '/assets/images/assessment-icon.svg'\r\n // },\r\n {\r\n title: 'Question Config',\r\n link: '/' + appRoute.pages + '/' + appRoute.questionConfig,\r\n imgPath: '/assets/images/menu-que-icon.svg'\r\n },\r\n {\r\n title: 'Agents',\r\n link: '/' + appRoute.pages + '/' + appRoute.agents,\r\n imgPath: '/assets/images/officer.svg'\r\n },\r\n {\r\n title: 'FAQ',\r\n link: '/' + appRoute.pages + '/' + appRoute.faq,\r\n imgPath: '/assets/images/faq.svg'\r\n },\r\n {\r\n title: 'Archive',\r\n link: '/' + appRoute.pages + '/' + appRoute.unarchive,\r\n imgPath: '/assets/images/archive.svg'\r\n },\r\n {\r\n title: 'Agent Profit Plan Classes',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitPlan,\r\n imgPath: '/assets/images/agentprofitplan.svg'\r\n },\r\n {\r\n title: 'Scripts and Calls',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitScript,\r\n imgPath: '/assets/images/phone-fill (1).svg'\r\n },\r\n {\r\n title: 'How to Use the Agent Profit Plan',\r\n link: '/' + appRoute.pages + '/' + appRoute.agentProfitUses,\r\n imgPath: '/assets/images/question-fill.svg'\r\n },\r\n {\r\n title: 'Weekly Plan Success',\r\n link: '/' + appRoute.pages + '/' + appRoute.weeklyPlans,\r\n imgPath: '/assets/images/calendar-fill.svg'\r\n }\r\n );\r\n }\r\n } else {\r\n this.sideBarList.push({\r\n title: 'Assessment',\r\n link: '/' + appRoute.pages + '/' + appRoute.assessment,\r\n imgPath: '/assets/images/assessment-icon.svg'\r\n });\r\n }\r\n }\r\n onLogoClick() {\r\n if (environment.isAgent) {\r\n this.router.navigateByUrl(appRoute.pages + '/' + appRoute.profitofficer);\r\n } else {\r\n this.router.navigateByUrl(appRoute.pages + '/' + appRoute.assessment);\r\n }\r\n }\r\n HeaderSidebarClose() {\r\n this.sideBarService.close();\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ThemeRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ThemeRoutingModule } from './theme-routing.module';\r\nimport { SideBarComponent } from './side-bar/side-bar.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [SideBarComponent, HeaderComponent],\r\n imports: [CommonModule, ThemeRoutingModule, NgbModule],\r\n exports: [SideBarComponent, HeaderComponent],\r\n})\r\nexport class ThemeModule {}\r\n","//staging\r\nexport const environment = {\r\n production: true,\r\n baseApiUrl: 'https://themortgageprofitplan.com/api/',\r\n baseUrl: 'https://themortgageprofitplan.com/',\r\n assessmentPdfImgBaseUrl: 'https://themortgageprofitplan.com/',\r\n remoteImageUrl: 'https://themortgageprofitplan.com/',\r\n ProfitPlanImageUrl: 'https://theagentprofitplan.com//',\r\n courseimages: 'https://theagentprofitplan.com//',\r\n locationApi: 'https://api.ipregistry.co/?key=d58a1ngrtca7xv8e',\r\n mobileNoPattern: '000 000 0000',\r\n mobileNoPrefix: '+1 ',\r\n calandlyEvent: 'https://calendly.com/vishal-d1/30min',\r\n isAgent: false,\r\n adminUri: 'thetimdavis'\r\n};\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { 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\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":["Howl","ToastService","constructor","coinSound","src","delay","timeOut","Promise","res","setTimeout","createToast","config","type","typeClass","toast","title","message","elm","document","createElement","innerHTML","body","getElementsByTagName","appendChild","timeout","removeChild","close","info","warning","error","success","playCoinSound","play","factory","providedIn","ElementRef","html2canvas","pdfMake","pdfFonts","AssessmentQuestionType","appRoute","Storage","UserRoleEnum","environment","i0","ctx_r13","ctx_r14","ctx_r16","ctx_r17","ctx_r19","ctx_r20","ctx_r22","ctx_r23","ctx_r25","ctx_r26","ctx_r28","ctx_r29","ctx_r31","ctx_r32","ctx_r34","ctx_r35","CommonPdfDownloadComponent","route","routes","remoteImageUrl","totalPer","totalUnits","units","hours","currentVolume","currentIncome","averageCommission","numberOfClient","numberOfListings","numberOfBuyers","averageSalesPrice","homeSold","Date","assessmentPdfImgBaseUrl","numbers","labels","colors","arrOne","hLineColor","i","node","vLineColor","table","widths","length","paddingLeft","paddingRight","paddingTop","paddingBottom","pageSize","content","columns","margin","stack","isAgentOrProfit","image","capturedImage","width","height","style","tableData","footer","fillColor","layout","text","alignment","color","bold","lineHeight","styles","header","fontSize","subheader","strong","logo","defaultStyle","isAgent","window","vfs","download","value","isHidden","SetPdfDetail","print","populate","getElementById","_a","classList","remove","ngOnInit","userData","getUserData","role","ProfitAdviser","Agent","queryParams","subscribe","params","isVisibleButton","backClicked","navigateByUrl","pages","assessment","revenueDetail","basePoints","workingHours","answeredQuestionLength","answeredQuestionsByCategory","_b","map","x","questions","reduce","a","b","per","totalQuestions","answeredQuestionPer","assessmentQuestionList","pdfDetail","allQuestions","_c","_d","_e","_f","forEach","push","perQuestion","filter","isPercentage","unitQuestion","totalUnit","profitAdvisor","profitAdviser","percentage","_g","unit","_h","totalPerAndUnit","_j","_k","chartConfig","JSON","parse","stringify","getAssessmentCategoryText","item","assessmentQuestionTypeId","Yes","No","getAnsweredQuestionCount","category","count","resultFormat","headers","tableLayoutHeader","headerRows","marginTop","data","headersCat","tableLayoutCat","name","Color","fontWeight","tableLayoutQuestion","SectionDataDisplay","question","answer","win","open","portalDiv","querySelector","logging","useCORS","allowTaint","then","canvas","toDataURL","toBlob","blob","reader","FileReader","readAsDataURL","onloadend","base64data","result","pdfDocGenerator","createPdf","docDefinition","selectors","viewQuery","ctx","SideBarComponent","sideBarService","router","logoPath","sideBarList","link","imgPath","inquiry","agentProfitPlan","agentProfitScript","agentProfitUses","weeklyPlans","Admin","questionConfig","profitofficer","agents","faq","unarchive","onLogoClick","HeaderSidebarClose","decls","vars","consts","template"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}