{"version":3,"file":"641.ecb05eb86d9adaf6.js","mappings":"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","names":["ErrorStateMatcherOnSubmit","isErrorState","control","form","invalid","submitted","i0","PHONE_COL","IMAGE_BASE64","LoginClientComponent","constructor","biometricService","authenticationHttp","loginS","router","route","agentHttp","adminHttp","this","logo","LoaderMode","phoneRegex","BehaviorSubject","isMobile","isCordova","localStorage","BiometricLoginService","clientId","phone","RecaptchaService","ngOnInit","removeToken","getParams","insertDataFromLocalStorage","saveLoginOptions","ngOnDestroy","formCtrlReady","complete","LOCAL_STORAGE_LOGIN_OPTIONS_KEY","key","loginOptions","JSON","parse","params","Object","snapshot","queryParams","authenticated","idClient","agentDbId","agentName","getAgentDetails","permission","Permission","subscribe","ready","PermissionType","formCtrl","controls","setValue","ngDoCheck","value","next","submit","valid","submitting","URLSearchParams","location","search","fbId","get","campaign","subCampaign","smsAuthenticationPost","then","saveLoginDetails","assign","navigate","finally","LSKey","entries","_a","find","val","_b","push","stringify","unsavedInfo","agentDetails","title","Title","logoSrc","Id","getUnsavedInfo","AgencyID","adminDetails","_angular_core__WEBPACK_IMPORTED_MODULE_7__","selectors","routes","path","component","LoginClientRoutingModule","RouterModule","LoginClientModule","CommonModule","BiometricLoginModule","FormsModule","MatFormFieldModule","MatInputModule","MatButtonModule","ValidIdIsraelModule","MessageValidationModule","PositiveNumbersOnlyModule","LoaderModule","MatIconModule","ChameleonUIModule"],"sourceRoot":"webpack:///","sources":["./src/app/pages/login/error-state-matcher-on-submit.ts","./src/app/pages/login/login-client/login-client.component.html","./src/app/pages/login/login-client/login-client.component.ts","./src/app/pages/login/login-client/login-client-routing.module.ts","./src/app/pages/login/login-client/login-client.module.ts","./src/app/public/directives/message-validation/message-validation.module.ts","./src/app/public/directives/valid-id-israel/valid-id-israel.module.ts","./src/app/public/modules/positive-numbers-only/positive-numbers-only.module.ts"],"sourcesContent":["import { ErrorStateMatcher } from '@angular/material/core';\r\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\r\n\r\n\r\nexport class ErrorStateMatcherOnSubmit implements ErrorStateMatcher {\r\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n const isSubmitted = form && form.submitted;\r\n return !!(control && control.invalid && isSubmitted);\r\n }\r\n}","
\r\n
\r\n \r\n
\r\n\r\n

כניסת לקוח

\r\n

{{title}}

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\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 { NgForm } from '@angular/forms';\r\nimport { LoaderMode } from 'app/public/components/loader/metadata';\r\nimport { LoginService } from 'app/services/login/login.service';\r\nimport { LoginOptions } from './types';\r\nimport { PermissionType } from 'app/public/data/enums';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AdminHttpService } from 'app/public/services/http/admin-http/admin-http.service';\r\nimport { AgentHttpService } from 'app/public/services/http/agent-http/agent-http.service';\r\nimport { RecaptchaService } from 'app/public/services/recaptcha/recaptcha.service';\r\nimport { BiometricLoginService } from '../biometric-login/biometric-login.service';\r\nimport { AuthenticationHttpService } from 'app/public/services/http/authentication-http/authentication-http.service';\r\nimport { ErrorStateMatcherOnSubmit } from '../error-state-matcher-on-submit';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { isCordova, isMobile, logo, phoneRegex } from 'app/public/data/config';\r\n\r\nconst PHONE_COL = 'phone';\r\nconst IMAGE_BASE64 = 'data:image/png;base64,';\r\n\r\n@Component({\r\n selector: 'app-login-client',\r\n templateUrl: './login-client.component.html',\r\n styleUrls: ['./login-client.component.scss']\r\n})\r\nexport class LoginClientComponent implements OnInit {\r\n @ViewChild('formCtrl', { static: false }) formCtrl: NgForm;\r\n\r\n public static readonly LOCAL_STORAGE_LOGIN_OPTIONS_KEY = 'loginOptions';\r\n logoSrc: string = logo.whiteBlack;\r\n loaderMode = LoaderMode.delete;\r\n phoneRegex = phoneRegex.source;\r\n formCtrlReady: BehaviorSubject = new BehaviorSubject(false);\r\n title: string;\r\n agentDbId: number;\r\n isMobile = isMobile;\r\n isCordova = isCordova;\r\n isBioRegistered = isMobile && isCordova && localStorage[BiometricLoginService.LOCAL_STORAGE_REGISTER_KEY];\r\n matcher = new ErrorStateMatcherOnSubmit();\r\n\r\n submitting = false;\r\n\r\n loginOptions: LoginOptions = {\r\n clientId: [],\r\n phone: []\r\n }\r\n\r\n public RCS = RecaptchaService;\r\n\r\n constructor(\r\n public biometricService: BiometricLoginService,\r\n private authenticationHttp: AuthenticationHttpService,\r\n private loginS: LoginService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private agentHttp: AgentHttpService,\r\n private adminHttp: AdminHttpService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loginS.removeToken();\r\n this.getParams();\r\n this.insertDataFromLocalStorage();\r\n this.saveLoginOptions();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.formCtrlReady.complete();\r\n }\r\n\r\n saveLoginOptions() {\r\n const { LOCAL_STORAGE_LOGIN_OPTIONS_KEY: key } = LoginClientComponent;\r\n this.loginOptions = JSON.parse(localStorage[key]||'null') || this.loginOptions;\r\n }\r\n\r\n getParams() {\r\n let params: Params = { ...this.route.snapshot.queryParams, ...this.route.snapshot.params };\r\n\r\n if (params.phone)\r\n this.authenticated(params.phone, params.idClient);\r\n\r\n if (params.agentDbId || params.agentName)\r\n this.getAgentDetails(params);\r\n }\r\n\r\n insertDataFromLocalStorage() {\r\n let permission: PermissionType = localStorage['Permission'];\r\n if (!permission || !isCordova) return;\r\n\r\n this.formCtrlReady.subscribe((ready) => {\r\n if (ready && permission == PermissionType.client)\r\n this.formCtrl.controls[PHONE_COL].setValue(localStorage[PHONE_COL]);\r\n });\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (!this.formCtrlReady.value && this.formCtrl)\r\n this.formCtrlReady.next(true);\r\n }\r\n\r\n submit(formCtrl: NgForm) {\r\n if (formCtrl.valid && !this.submitting)\r\n this.authenticated(formCtrl.value.phone, formCtrl.value.clientId);\r\n }\r\n\r\n authenticated(phone: string, clientId: string) {\r\n this.submitting = true;\r\n const queryParams = new URLSearchParams(location.search);\r\n const fbId = queryParams.get('fbclid'),\r\n campaign = queryParams.get('utm_campaign'),\r\n subCampaign = queryParams.get('utm_content');\r\n this.authenticationHttp.smsAuthenticationPost(phone, clientId, this.agentDbId, fbId, campaign, subCampaign).then(() => {\r\n let params = { phone: phone, clientId: clientId };\r\n this.saveLoginDetails(phone, clientId);\r\n if (this.agentDbId)\r\n Object.assign(params, { agentDbId: this.agentDbId });\r\n this.router.navigate(['login/sms', params]);\r\n })\r\n .finally(() => this.submitting = false);\r\n }\r\n\r\n saveLoginDetails(phone: string, clientId: string) {\r\n const { LOCAL_STORAGE_LOGIN_OPTIONS_KEY: LSKey } = LoginClientComponent;\r\n for(const [key, value] of Object.entries({ phone, clientId }))\r\n if(!this.loginOptions[key]?.find(({ value: val }) => val == value))\r\n this.loginOptions[key]?.push({value});\r\n localStorage[LSKey] = JSON.stringify(this.loginOptions);\r\n }\r\n\r\n getAgentDetails(params: Params) {\r\n const { agentDbId = -1, agentName } = params;\r\n\r\n this.agentHttp.unsavedInfo(agentDbId, agentName).subscribe(agentDetails => {\r\n this.title = agentDetails.Title;\r\n if (agentDetails.logo) {\r\n this.logoSrc = IMAGE_BASE64 + agentDetails.logo;\r\n this.agentDbId = agentDetails.Id;\r\n } else\r\n this.adminHttp.getUnsavedInfo(agentDetails.AgencyID).subscribe(adminDetails => {\r\n if (adminDetails.Id != 1)\r\n this.logoSrc = IMAGE_BASE64 + adminDetails.logo;\r\n })\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginClientComponent } from './login-client.component';\r\n\r\nconst routes: Routes = [\r\n { path: ':agentName', component: LoginClientComponent },\r\n { path: '', component: LoginClientComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class LoginClientRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoaderModule } from 'app/public/components/loader/loader.module';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { ChameleonUIModule } from 'app/public/modules/chameleon-ui/chameleon-ui.module';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { ValidIdIsraelModule } from 'app/public/directives/valid-id-israel/valid-id-israel.module';\r\nimport { LoginClientComponent } from './login-client.component';\r\nimport { BiometricLoginModule } from '../biometric-login/biometric-login.module';\r\nimport { MessageValidationModule } from 'app/public/directives/message-validation/message-validation.module';\r\nimport { LoginClientRoutingModule } from './login-client-routing.module';\r\nimport { PositiveNumbersOnlyModule } from 'app/public/modules/positive-numbers-only/positive-numbers-only.module';\r\n\r\n@NgModule({\r\n declarations: [LoginClientComponent],\r\n imports: [\r\n CommonModule,\r\n LoginClientRoutingModule,\r\n BiometricLoginModule,\r\n FormsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n ValidIdIsraelModule,\r\n MessageValidationModule,\r\n PositiveNumbersOnlyModule,\r\n LoaderModule,\r\n MatIconModule,\r\n ChameleonUIModule\r\n ],\r\n providers: [],\r\n})\r\nexport class LoginClientModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MessageValidationComponent } from './message-validation.component';\r\nimport { MessageValidationDirective } from './message-validation.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n MessageValidationDirective,\r\n MessageValidationComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n// entryComponents: [\r\n// MessageValidationComponent,\r\n// ],\r\n exports: [\r\n MessageValidationDirective,\r\n MessageValidationComponent,\r\n ]\r\n})\r\nexport class MessageValidationModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ValidIdIsraelDirective } from './valid-id-israel.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [ValidIdIsraelDirective],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [ValidIdIsraelDirective],\r\n})\r\nexport class ValidIdIsraelModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PositiveNumbersOnlyDirective } from './positive-numbers-only.directive';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [PositiveNumbersOnlyDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PositiveNumbersOnlyDirective]\r\n})\r\nexport class PositiveNumbersOnlyModule { }\r\n"],"x_google_ignoreList":[]}