{"version":3,"file":"134.153a86a2dac2b97c.js","mappings":"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","names":["LoginBySessionStatus","i0","ctx_r3","oxw","ctx_r4","ctx_r5","LoginBySessionComponent","constructor","activateRoute","router","localizationService","messagesService","authService","cd","this","ngOnInit","params","subscribe","sessionId","login","verificationCode","status","errorAndExit","verificationOk","onVerificationCodeCancel","verificationCodeDetails","verificationCodeSend","navigate","sendAgainVerificationCode","loginModel","loginBySession","response","errorMessage","exit","Status","LoginStatus","Company","CompanyCode","Translate","encryptedNumMailOrPhone","EncryptedNumMailOrPhone","verificationType","VerificationType","detectChanges","e","selectors","userMailOrPhone","password","captchaToken","NewSiteAddComponent","LoginPanelComponent","formValidationsService","EventEmitter","model","JSON","stringify","_loginModel","initForm","loginModelChange","emit","loginForm","FormGroup","FormControl","Validators","OwnValidators","onMailVerficationClicked","mailVerficationClicked","submitForm","valid","submit","markFormGroupTouched","setModel","Object","assign","value","validMailOrTel","control","get","markAsDirty","markAsTouched","ctx","NewUserComponent","formService","_appAuthService","route","messageService","recaptchaV3Service","initFormControls","queryParams","token","loginByToken","getNewUserMailByToken","res","newUserForm","controls","Mail","patchValue","entity","disable","startRegistration","signupParams","getFormValues","execute","signup","succeeded","verificationCodeSent","mail","FirstName","LastName","Phone","Password","PasswordConfirm","confirmPasswordMatch","bind","o","n","passwordMismatch","onPasswordChanged","updateValueAndValidity","ChangePasswordComponent","_localizationService","changePassword","changePasswordForm","changePassModel","clientVersion","environment","successMessage","ctx_r7","ctx_r9","ctx_r11","ctx_r13","ctx_r15","LoginButtonsComponent","LoginMode","onKeydownHandler","event","click","getVerificationLabel","getLabel","mode","showCancel","clicked","cancelClick","cancelClicked","changeView","loginMode","changeViewRequest","sendRecoverPasswordVerification","recoverPassword","mailOrPhoneSendAgainClicked","sendAgainClicked","ctx_r12","ctx_r17","ctx_r18","ctx_r21","ctx_r23","LoginComponent","_cdr","commonService","LoginModel","window","innerWidth","ngAfterViewInit","setTimeout","captchaElement","document","querySelector","style","visibility","templates","Login","loginTemplate","New","newUserTemplate","Forgot","verficationTemplate","Verify","Change","changePasswordTemplate","disableLoginButton","loginProcess","loginClicked","form","markForCheck","onVerificationCodeChange","verifyRecoverPasswordCode","loginFromNewPassword","error","captchVersion","CaptchVersion","companyCode","company","isClientVersionNotUpdated","loginBlocked","verificationRequired","getTemplate","i","back","clear","handleClick","loginPanel","codeVerify","okClicked","changePasswordPanel","newUser","indexOf","clearScreen","returnUrl","snapshot","updateNewVersion","openGmailChat","open","onRecaptchaV2Resolved","LoginRoutingModule","RouterModule","path","component","CodeVerificationComponent","LoginModule","CommonModule","FormsModule","SharedModule","VendorsModule","ConcatUsModule"],"sourceRoot":"webpack:///","sources":["./projects/kesher-site/src/app/login/model/loginBySession.model.ts","./projects/kesher-site/src/app/login/components/login-by-session/login-by-session.component.html","./projects/kesher-site/src/app/login/components/login-by-session/login-by-session.component.ts","./projects/kesher-site/src/app/login/model/login.model.ts","./projects/kesher-site/src/app/login/components/login/new-site-add/new-site-add.component.ts","./projects/kesher-site/src/app/login/components/login/new-site-add/new-site-add.component.html","./projects/kesher-site/src/app/login/components/login-panel/login-panel.component.html","./projects/kesher-site/src/app/login/components/login-panel/login-panel.component.ts","./projects/kesher-site/src/app/login/components/new-user/new-user.component.ts","./projects/kesher-site/src/app/login/components/new-user/new-user.component.html","./projects/kesher-site/src/app/login/components/change-password/change-password.component.ts","./projects/kesher-site/src/app/login/components/change-password/change-password.component.html","./projects/kesher-site/src/app/login/components/login-buttons/login-buttons.component.html","./projects/kesher-site/src/app/login/components/login-buttons/login-buttons.component.ts","./projects/kesher-site/src/app/login/components/login/login.component.html","./projects/kesher-site/src/app/login/components/login/login.component.ts","./projects/kesher-site/src/app/login/login-routing.module.ts","./projects/kesher-site/src/app/login/login.module.ts"],"sourcesContent":["export class LoginBySessionModel{\r\n sessionId: string;\r\n verificationCode: string;\r\n status: LoginBySessionStatus;\r\n}\r\n\r\nexport enum LoginBySessionStatus{\r\n SendVerification = 1,\r\n CheckVerification = 2\r\n}","
\n
\n
\n \n

{{'LOGIN.VERIFICATIN_TITEL' |translate}}

\n
\n
\n \n \n
\n
\n
","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AdvMessageService, LocalizationService, LoginStatus, verificationCodeModel, VerificationType } from 'projects/shared/src/public-api';\nimport { AppAuthService } from '../../../kesher-shared/services/app-auth.service';\nimport { LoginBySessionModel, LoginBySessionStatus } from '../../model/loginBySession.model';\n\n@Component({\n selector: 'app-login-by-session',\n templateUrl: './login-by-session.component.html',\n styleUrls: ['./login-by-session.component.scss']\n})\nexport class LoginBySessionComponent implements OnInit {\n sessionId: string;\n message: string;\n verificationCodeDetails: verificationCodeModel;\n verificationCode;\n\n constructor(private activateRoute: ActivatedRoute, private router: Router, private localizationService: LocalizationService,\n private messagesService: AdvMessageService, private authService: AppAuthService, private cd: ChangeDetectorRef) { }\n\n ngOnInit(): void {\n this.activateRoute.params.subscribe(params => {\n this.sessionId = params[\"sessionId\"];\n if (!this.sessionId) {\n this.errorAndExit();\n return;\n }\n this.login({ sessionId: this.sessionId, verificationCode: null, status: LoginBySessionStatus.SendVerification });\n });\n }\n\n verificationOk() {\n this.login({ sessionId: this.sessionId, verificationCode: this.verificationCode, status: LoginBySessionStatus.CheckVerification });\n }\n\n onVerificationCodeCancel() {\n this.verificationCodeDetails.verificationCodeSend = false;\n this.router.navigate([\"/login\"]);\n }\n\n sendAgainVerificationCode() {\n this.login({ sessionId: this.sessionId, verificationCode: null, status: LoginBySessionStatus.SendVerification });\n }\n\n login(loginModel: LoginBySessionModel) {\n if (!loginModel || !loginModel.sessionId)\n this.errorAndExit();\n\n\n this.authService.loginBySession(loginModel).subscribe(response => {\n let errorMessage = null;\n let exit = true;\n switch (response.Status) {\n case LoginStatus.Succeeded:\n let companyCode = response.Company.CompanyCode;\n this.router.navigate([`kesher/${companyCode}/home`]);\n break;\n case LoginStatus.InvalidVerificationCode:\n errorMessage = this.localizationService.Translate(\"LOGIN.MESSAGES.INVALID_VERIFICATION_CODE\");\n exit = false;\n break;\n case LoginStatus.InvalidLogin:\n errorMessage = this.localizationService.Translate(\"LOGIN.MESSAGES.INVALID_LOGIN_BY_SESSION\");\n break;\n case LoginStatus.BlockedSystem:\n errorMessage = this.localizationService.Translate(\"LOGIN.MESSAGES.BLOCKED_SYSTEM\");\n break;\n case LoginStatus.VerificationCodeSent:\n this.verificationCodeDetails = {\n verificationCodeSend: true,\n encryptedNumMailOrPhone: response.EncryptedNumMailOrPhone,\n verificationType: VerificationType.Phone\n };\n break;\n default:\n errorMessage = this.localizationService.Translate(\"ERROR_MESSAGES.UNKNOWN_ERROR\");\n break;\n }\n this.cd.detectChanges();\n\n if (errorMessage) {\n this.errorAndExit(errorMessage, exit);\n }\n\n });\n }\n\n errorAndExit(errorMessage = null, exit = true) {\n if (!errorMessage)\n errorMessage = this.localizationService.Translate(\"LOGIN.MESSAGES.GENERAL_ERROR\");;\n this.messagesService.errorMessage(errorMessage, 2000);\n if (exit)\n this.router.navigate([\"/login\"]);\n }\n\n}\n","import { VerificationType } from \"projects/shared/src/public-api\";\r\n\r\nexport class User {\r\n userId: string;\r\n verificationType: VerificationType\r\n\r\n constructor(userId?: string, verificationType?: VerificationType) {\r\n this.userId = userId;\r\n this.verificationType = verificationType;\r\n }\r\n}\r\nexport class LoginModel {\r\n userMailOrPhone: string;\r\n password: string;\r\n captchaToken: string;\r\n verificationCode: string;\r\n verificationType: VerificationType;\r\n\r\n constructor(userMailOrPhone?: string, password?: string, captchaToken?: string, verificationCode?: string, verificationType?: VerificationType) {\r\n this.userMailOrPhone = userMailOrPhone;\r\n this.password = password;\r\n this.captchaToken = captchaToken;\r\n this.verificationCode = verificationCode;\r\n this.verificationType = verificationType;\r\n }\r\n\r\n}\r\n\r\nexport class verificationCodeModel {\r\n verificationCodeSend: boolean;\r\n encryptedNumMailOrPhone: string;\r\n verificationType: VerificationType;\r\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'new-site-add',\n templateUrl: './new-site-add.component.html',\n styleUrls: ['./new-site-add.component.scss']\n})\nexport class NewSiteAddComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
עולם של פתרונות סליקה
\n
\n יותר מ-20 שנה אנחנו מובילים את מערך הגביה לאלפי ארגונים ועסקים בישראל\n
\n
\n
\n
!אתר הניהול שלכם- הכל מתחיל כאן
\n\n
\n
\n \n מעקב אונליין אחר ביצוע עסקאות סטטוס ודוחות ליצוא\n
\n
\n \n מגוון אופציות לגביה באשראי, בביט ובהו\"ק בנקאיות \n
\n\n
\n \n ניהול מכירות ברשת \n הקמת קמפיין לגיוס המונים\n
\n
\n \n עריכת פרויקטים דפי תשלום וטפסים דיגטליים\n
\n
\n
\n
","\n\n \n
\n\n \n\n
\n \n \n \n \n
\n\n \n\n \n\n \n
\n\n \n \n
\n
\n
\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { LoginModel } from '../../model/login.model';\nimport { FormValidationsService, OwnValidators } from 'shared/src/public-api';\n\n@Component({\n selector: 'login-panel',\n templateUrl: './login-panel.component.html',\n styleUrls: ['./login-panel.component.scss'],\n})\nexport class LoginPanelComponent implements OnInit {\n\n constructor(private formValidationsService: FormValidationsService) { }\n\n loginForm: FormGroup;\n @ViewChild(\"mailOrPhone\") mailOrPhone: ElementRef;\n @Input() loginBlocked: boolean = false;\n @Input() verificationRequired: boolean = false;\n private _loginModel: LoginModel;\n @Input() set loginModel(model: any) {\n if (JSON.stringify(model) != JSON.stringify(this.loginModel)) {\n this._loginModel = model;\n this.initForm();\n this.loginModelChange.emit(model);\n }\n };\n get loginModel() { return this._loginModel; }\n\n @Output() mailVerficationClicked: EventEmitter = new EventEmitter();\n @Output() loginModelChange: EventEmitter = new EventEmitter();\n @Output() submit: EventEmitter = new EventEmitter();\n\n\n ngOnInit(): void {\n }\n\n initForm() {\n this.loginForm = new FormGroup({\n userMailOrPhone: new FormControl(this._loginModel.userMailOrPhone, [Validators.required, OwnValidators.validateTelOrMail]),\n password: new FormControl(this._loginModel.password, [Validators.required, Validators.maxLength(40), OwnValidators.correctPassword])\n });\n }\n\n\n onMailVerficationClicked() {\n this.mailVerficationClicked.emit()\n }\n\n submitForm() {\n if (this.loginForm.valid) {\n this.submit.emit();\n }\n else {\n this.formValidationsService.markFormGroupTouched(this.loginForm);\n }\n }\n\n setModel() {\n this.loginModel = Object.assign(this.loginModel, this.loginForm.value);\n }\n\n validMailOrTel() {\n var control = this.loginForm.get(\"userMailOrPhone\");\n if (control.valid) return true;\n else {\n control.markAsDirty();\n control.markAsTouched();\n return false;\n }\n }\n\n\n}\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AdvMessageService, FormValidationsService, LoginStatus, OwnValidators } from 'projects/shared/src/public-api';\nimport { AppAuthService } from '../../../kesher-shared/services/app-auth.service';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormService, LocalizationService } from 'projects/shared/src/public-api';\nimport { ReCaptchaV3Service } from 'ng-recaptcha';\n\n@Component({\n selector: 'new-user',\n templateUrl: './new-user.component.html',\n styleUrls: ['./new-user.component.scss']\n})\nexport class NewUserComponent implements OnInit {\n\n //when user just complete register (update details, not *new* user - happens when manager register him to his company and send him email to complete register)\n //user get mail with link to complete register, the link contains token that save in DB all user details\n loginByToken = false;\n token: string = null;\n newUserForm: FormGroup;\n\n @Output() verificationCodeSent: EventEmitter = new EventEmitter();\n\n constructor(private formService: FormService, private _appAuthService: AppAuthService, \n private route: ActivatedRoute, private messageService: AdvMessageService,\n private formValidationsService: FormValidationsService,\n private localizationService : LocalizationService, private recaptchaV3Service: ReCaptchaV3Service) { }\n\n // #region angular lyfecycle events\n ngOnInit(): void {\n this.initFormControls();\n this.route.queryParams.subscribe(params => {\n if (params.token) {\n this.loginByToken = true;\n this._appAuthService.getNewUserMailByToken(params.token).subscribe(res => {\n this.newUserForm.controls.Mail.patchValue(res.entity);\n this.newUserForm.controls['Mail'].disable();\n this.token = params.token;\n })\n }\n else\n this.loginByToken = false;\n })\n }\n // #endregion\n\n // #region public methods\n startRegistration() {\n if (this.newUserForm.valid) {\n let signupParams = this.formService.getFormValues(this.newUserForm);\n if (this.loginByToken)\n signupParams.token = this.token;\n\n this.recaptchaV3Service.execute('startRegistration')\n .subscribe((token: string) => {\n signupParams.captchaToken = token;\n this._appAuthService.signup(signupParams).subscribe(res => {\n if (!res.succeeded) {\n if (res.status == LoginStatus.UserMailExists)\n this.messageService.errorMessage(\"לא ניתן להרשם עם כתובת מייל זו\")\n if (res.status == LoginStatus.UserPhoneExists)\n this.messageService.errorMessage(\"לא ניתן להרשם עם מספר טלפון זה\")\n if (res.status == LoginStatus.RequiredVerification)\n this.messageService.errorMessage(this.localizationService.Translate('ERROR_MESSAGES.UNKNOWN_ERROR'))\n }\n else {\n if (res.status == LoginStatus.VerificationCodeSent) {\n this.verificationCodeSent.emit({ ...res, password: this.newUserForm.get(\"Password\").value, mail: this.newUserForm.get(\"Mail\").value });\n }\n }\n });\n });\n }\n else {\n this.formValidationsService.markFormGroupTouched(this.newUserForm);\n }\n }\n // #endregion\n\n\n // #region private methods\n private initFormControls() {\n this.newUserForm = new FormGroup({\n FirstName: new FormControl(''),\n LastName: new FormControl(''),\n Phone: new FormControl('', [Validators.required, Validators.minLength(7), Validators.maxLength(10), OwnValidators.validPhone]),\n Mail: new FormControl('', [Validators.required, Validators.email]),\n Password: new FormControl('', [Validators.required, Validators.maxLength(40), OwnValidators.correctPassword]),\n PasswordConfirm: new FormControl('', [Validators.required, Validators.maxLength(40), this.confirmPasswordMatch.bind(this)])\n });\n }\n\n private confirmPasswordMatch(control: FormControl) {\n if (this.newUserForm)\n return control.value == this.newUserForm?.get(\"Password\")?.value ? null : { passwordMismatch: true };\n return null;\n }\n // #endregion\n\n onPasswordChanged() {\n this.newUserForm.controls.PasswordConfirm.updateValueAndValidity();\n }\n}\n","
\n \n \n\n
\n \n
\n\n \n \n
\n \n
\n\n \n\n
\n \n
\n\n \n \n
\n \n
\n\n \n\n \n\n \n\n \n\n
\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { environment } from 'projects/kesher-site/src/environments/environment';\nimport { AppAuthService } from '../../../kesher-shared/services/app-auth.service';\nimport { AdvMessageService, FormValidationsService, LocalizationService, OwnValidators } from 'shared/src/public-api';\n\n@Component({\n selector: 'change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n constructor(private _appAuthService: AppAuthService, private formValidationsService: FormValidationsService,\n private messagesService: AdvMessageService, private _localizationService: LocalizationService) { }\n\n changePasswordForm: FormGroup;\n\n @Output() login: EventEmitter = new EventEmitter();\n\n ngOnInit(): void {\n this.initForm();\n }\n\n changePassword() {\n if (this.changePasswordForm.valid) {\n let changePassModel = this.changePasswordForm.value;\n if (changePassModel)\n changePassModel.clientVersion = environment.version;\n this._appAuthService.changePassword(this.changePasswordForm.value).subscribe((res: any) => {\n if (res.succeeded) {\n this.messagesService.successMessage(this._localizationService.Translate(\"LOGIN.MESSAGES.CHANGE_PASSWORD_SUCCEEDED\"));\n this.login.emit(this.changePasswordForm.get(\"Password\").value);\n }\n });\n }\n else {\n this.formValidationsService.markFormGroupTouched(this.changePasswordForm);\n }\n }\n\n private initForm() {\n this.changePasswordForm = new FormGroup({\n Password: new FormControl('', [Validators.required, OwnValidators.correctPassword]),\n PasswordConfirm: new FormControl('', [Validators.required, this.confirmPasswordMatch.bind(this)])\n });\n }\n\n private confirmPasswordMatch(control: FormControl) {\n return control.value == this.changePasswordForm?.get(\"Password\")?.value ? null : { passwordMismatch: true };\n }\n\n onPasswordChanged() {\n this.changePasswordForm.controls.PasswordConfirm.updateValueAndValidity();\n }\n\n}\n","

\n {{ 'LOGIN.ENTER_NEW_PASSWORD' | translate }}\n

\n\n
\n\n \n\n \n\n \n\n
\n \n
\n\n\n
","
\n
שכחת סיסמה?
\n
משתמש\n חדש? הרשם >
\n
\n
\n בכניסתי לאתר אני מאשר את\n תקנון האתר\n וקבלת דיוור\n
\n
\n

{{\n 'VERIFICATION.SEND_AGAIN'|translate }}

\n

{{ getVerificationLabel() | translate }}

\n\n \n\n \n\n \n\n \n \n\n
","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\nimport { LoginMode, VerificationType } from 'projects/shared/src/public-api';\n\n@Component({\n selector: 'login-buttons',\n templateUrl: './login-buttons.component.html',\n styleUrls: ['./login-buttons.component.scss']\n})\nexport class LoginButtonsComponent implements OnInit {\n\n constructor() { }\n\n @Input() mode: LoginMode;\n @Input() verificationType: VerificationType;\n\n @Output() clicked: EventEmitter = new EventEmitter();\n @Output() cancelClicked: EventEmitter = new EventEmitter();\n @Output() sendAgainVerificationCode: EventEmitter = new EventEmitter();\n @Output() changeViewRequest: EventEmitter = new EventEmitter();\n @Output() recoverPassword: EventEmitter = new EventEmitter();\n\n @HostListener('document:keyup.enter', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n this.click();\n }\n\n loginMode = LoginMode\n\n ngOnInit(): void {\n }\n\n getVerificationLabel(): string {\n switch (this.verificationType) {\n case VerificationType.Mail:\n return 'VERIFICATION.SEND_PHONE';\n\n case VerificationType.Phone:\n return 'VERIFICATION.SEND_MAIL'\n\n default:\n return ''\n }\n }\n\n getLabel() {\n switch (this.mode) {\n case LoginMode.Login:\n return 'LOGIN.LOGIN';\n\n case LoginMode.New:\n return 'LOGIN.REGISTER';\n\n case LoginMode.Forgot:\n return 'GENERAL.OK';\n\n case LoginMode.Verify:\n return 'LOGIN.VERIFICATIN_TITEL';\n\n case LoginMode.Change:\n return 'LOGIN.CHANGE_PASSWORD';\n\n default:\n return '';\n }\n }\n\n showCancel(): boolean {\n switch (this.mode) {\n case LoginMode.Login:\n return false;\n\n case LoginMode.New:\n return true;\n\n case LoginMode.Forgot:\n return true;\n\n case LoginMode.Verify:\n return true;\n\n case LoginMode.Change:\n return true;\n }\n }\n\n click() {\n this.clicked.emit(this.mode);\n }\n\n cancelClick() {\n this.cancelClicked.emit();\n }\n\n changeView(loginMode: LoginMode) {\n this.changeViewRequest.emit(loginMode);\n }\n\n sendRecoverPasswordVerification() {\n this.recoverPassword.emit();\n }\n\n mailOrPhoneSendAgainClicked() {\n let verificationType = this.verificationType == VerificationType.Phone ? VerificationType.Mail : VerificationType.Phone;\n this.sendAgainVerificationCode.emit(verificationType);\n }\n\n sendAgainClicked() {\n this.sendAgainVerificationCode.emit(this.verificationType);\n }\n\n}\n","
\n\n
\n \n
\n\n
\n \n\n
\n
\n\n

{{ getLabel() | translate }}

\n\n
\n\n \n\n \n \n\n \n \n\n \n\n \n\n \n \n
\n
\n\n\n\n\n
\n
\n \n
\n
{{version}}
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ReCaptchaV3Service } from 'ng-recaptcha';\nimport { environment } from 'projects/kesher-site/src/environments/environment';\nimport { AdvMessageService, CaptchVersion, CommonService, LocalizationService, LoginMode, LoginStatus, verificationCodeModel, VerificationType } from 'projects/shared/src/public-api';\nimport { AppAuthService } from '../../../kesher-shared/services/app-auth.service';\nimport { LoginModel } from '../../model/login.model';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n //encapsulation: ViewEncapsulation.None\n})\nexport class LoginComponent implements OnInit {\n siteKeyV2: string = '6LePTxoaAAAAAD8T2Bdm7g-DSphQrzS2whX43adC';\n\n constructor(\n private _localizationService: LocalizationService,\n private _appAuthService: AppAuthService,\n private messagesService: AdvMessageService,\n private router: Router,\n private route: ActivatedRoute,\n private _cdr: ChangeDetectorRef,\n private recaptchaV3Service: ReCaptchaV3Service,\n private commonService: CommonService) {\n\n }\n //#region Private Members\n private pageName: string = \"LoginComponent\";\n //#endregion\n\n //#region Public Members\n @ViewChild(\"form\") form: NgForm;\n @ViewChild(\"loginDetails\") loginDetails: ElementRef;\n @ViewChild(\"loginTemplate\") loginTemplate: any;\n @ViewChild(\"newUserTemplate\") newUserTemplate: any;\n @ViewChild(\"verficationTemplate\") verficationTemplate: any;\n @ViewChild(\"changePasswordTemplate\") changePasswordTemplate: any;\n @ViewChild(\"newUser\") newUser: any;\n @ViewChild(\"loginPanel\") loginPanel: any;\n @ViewChild(\"codeVerify\") codeVerify: any;\n @ViewChild(\"changePasswordPanel\") changePasswordPanel: any;\n\n loginModel: any = new LoginModel();\n mode: LoginMode = LoginMode.Login;\n loginMode = LoginMode;\n disableLoginButton: boolean;\n showPass: boolean;\n error: string;\n verificationCodeDetails: verificationCodeModel;\n verificationRequired: boolean;\n loginBlocked: boolean = false;\n templates: any;\n LoginMode = LoginMode;\n version: string = environment.version;\n isMobile: boolean = window.innerWidth > 1280 ? false : true;\n\n //#endregion\n\n //#region Angular lifecycle Methods\n ngOnInit(): void {\n\n this.loginModel.userMailOrPhone = this._appAuthService.userMailOrPhone;\n this.loginModel.clientVersion = environment.version;\n this.route.queryParams.subscribe(params => {\n if (params.token)\n this.mode = LoginMode.New;\n })\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n var captchaElement: any = document.querySelector('.grecaptcha-badge');\n if (captchaElement)\n captchaElement.style.visibility = 'visible';\n }, 100);\n\n this.templates = {\n Login: this.loginTemplate,\n New: this.newUserTemplate,\n Forgot: this.verficationTemplate,\n Verify: this.verficationTemplate,\n Change: this.changePasswordTemplate\n }\n }\n //#endregion\n\n //#region Event Methods\n // onVerificationCodeCancel() {\n // this.verificationCodeDetails.verificationCodeSend = false;\n // this.back();\n // }\n\n onMailVerficationClicked() {\n this.loginModel.verificationType = VerificationType.Mail;\n this.disableLoginButton = false;\n this.loginProcess();\n }\n loginClicked() {\n if (!this.form.valid) {\n return;\n }\n this.loginProcess()\n }\n\n changeView(mode: LoginMode) {\n this.mode = mode;\n this._cdr.markForCheck();\n }\n\n sendAgainVerificationCode(verificationType: VerificationType) {\n this.loginModel.verificationType = verificationType;\n this.loginModel.verificationCode = null;\n if (this.mode == LoginMode.Verify)\n this.loginProcess();\n else if (this.mode == LoginMode.Forgot) // TODO check what about Change mode\n this.sendRecoverPasswordVerification();\n\n }\n\n verificationCodeSent(event) {\n this.loginModel.password = event.password;\n this.loginModel.userMailOrPhone = event.mail;\n this.loginModel.verificationType = VerificationType.Mail;\n this.verificationCodeDetails = {\n verificationCodeSend: true,\n encryptedNumMailOrPhone: event.encryptedNumMailOrPhone,\n verificationType: this.loginModel.verificationType\n };\n this.changeView(LoginMode.Verify);\n }\n\n onVerificationCodeChange(event) {\n this.loginModel.verificationCode = event;\n if (this.mode == LoginMode.Forgot)\n this.verifyRecoverPasswordCode();\n else\n this.loginProcess();\n }\n\n loginFromNewPassword(event: any) {\n this.loginModel.verificationCode = null;\n this.loginModel.verificationType = null;\n this.loginModel.password = event;\n this.loginProcess();\n }\n\n loginProcess() {\n this.error = null;\n this.recaptchaV3Service.execute('login')\n .subscribe((token: string) => {\n this.loginModel.captchaToken = token;\n this.loginModel.captchVersion = CaptchVersion.V3;\n this.login();\n this._cdr.markForCheck();\n });\n\n }\n\n login() {\n this._appAuthService.login(this.loginModel).subscribe(response => {\n let errorMessage = null;\n switch (response.status) {\n case LoginStatus.Succeeded:\n this.navigate(response.companyCode || this._appAuthService.company?.companyCode, response.isClientVersionNotUpdated);\n break;\n case LoginStatus.InvalidLogin:\n errorMessage = this._localizationService.Translate(\"LOGIN.MESSAGES.INVALID_USER_OR_PASSWORD\");\n break;\n case LoginStatus.BlockedSystem:\n errorMessage = this._localizationService.Translate(\"LOGIN.MESSAGES.BLOCKED_SYSTEM\");\n this.loginBlocked = true;\n break;\n case LoginStatus.RequiredVerification:\n if (this.loginModel.captchVersion == CaptchVersion.V3) {\n this.verificationRequired = true;\n errorMessage = this._localizationService.Translate(\"LOGIN.MESSAGES.VERIFICATION_CODE_REQUIRED\");\n this._cdr.markForCheck();\n }\n else {\n errorMessage = \"אימות נכשל\";\n }\n this.disableLoginButton = true;\n break;\n case LoginStatus.VerificationCodeSent:\n this.loginModel.verificationType = this.loginModel.verificationType ? this.loginModel.verificationType : VerificationType.Phone\n this.verificationCodeDetails = {\n verificationCodeSend: true,\n encryptedNumMailOrPhone: response.encryptedNumMailOrPhone,\n verificationType: this.loginModel.verificationType\n };\n this.changeView(LoginMode.Verify);\n break;\n case LoginStatus.InvalidVerificationCode:\n errorMessage = this._localizationService.Translate(\"LOGIN.MESSAGES.INVALID_VERIFICATION_CODE\");\n break;\n\n default:\n errorMessage = this._localizationService.Translate(\"ERROR_MESSAGES.UNKNOWN_ERROR\");\n break;\n }\n if (errorMessage) {\n this.messagesService.errorMessage(errorMessage, 2000);\n }\n })\n }\n getTemplate() {\n return this.templates?.[this.loginMode[this.mode]];\n }\n back() {\n this.clear();\n this.changeView(LoginMode.Login);\n }\n\n handleClick(event: LoginMode) {\n switch (event) {\n case LoginMode.Login:\n this.loginPanel.submitForm();\n break;\n\n case LoginMode.New:\n this.startRegistration();\n break;\n\n case LoginMode.Verify:\n this.codeVerify.okClicked();\n break;\n\n case LoginMode.Forgot:\n //this.verifyRecoverPasswordCode();\n this.codeVerify.okClicked();\n break;\n\n case LoginMode.Change:\n this.changePasswordPanel.changePassword();\n break;\n }\n }\n\n startRegistration() {\n this.newUser.startRegistration();\n }\n\n sendRecoverPasswordVerification() {\n //if its first time of forot password - check if mail or tel are valid, \n //but if its \"send again\" method, dont check again the phone (in this case, login panel is undefined)\n if (!this.loginPanel || this.loginPanel.validMailOrTel()) {\n\n this.recaptchaV3Service.execute('sendRecoverPasswordVerification')\n .subscribe((token: string) => {\n this.loginModel.captchaToken = token;\n this._appAuthService.sendRecoverPasswordVerification(this.loginModel).subscribe(res => {\n if (res.status == LoginStatus.VerificationCodeSent) {\n this.loginModel.verificationType = this.loginModel.userMailOrPhone?.indexOf('@') > 1 ? VerificationType.Mail : VerificationType.Phone;\n this.verificationCodeDetails = {\n verificationCodeSend: true,\n encryptedNumMailOrPhone: res.encryptedNumMailOrPhone,\n verificationType: this.loginModel.verificationType\n };\n this.changeView(LoginMode.Forgot);\n }\n else {\n if (res.status == LoginStatus.BlockedSystem) {\n this.messagesService.errorMessage(\"המערכת ננעלה למספר רגעים, נסה שנית מאוחר יותר\");\n }\n if (res.status == LoginStatus.UserNotExists) {\n this.messagesService.errorMessage(\"משתמש לא קיים\");\n }\n }\n });\n });\n }\n }\n\n verifyRecoverPasswordCode() {\n this._appAuthService.verifyRecoverPasswordCode(this.loginModel).subscribe(res => {\n if (res.status == LoginStatus.Succeeded) {\n this.changeView(LoginMode.Change);\n }\n else {\n this.messagesService.errorMessage(\"קוד האימות אינו תקין\");\n }\n })\n }\n //#endregion\n\n //#region Private Methods\n private clear() {\n this.verificationCodeDetails = null;\n if (this.loginMode) {\n this.loginModel.verificationCode = null;\n this.loginModel.verificationType = null;\n }\n this.error = null;\n this.clearScreen();\n }\n private clearScreen() {\n this.loginModel.userMailOrPhone = null;\n this.loginModel.password = null;\n }\n private navigate(companyCode: string, isClientVersionNotUpdated: boolean) {\n const returnUrl = this.route.snapshot.queryParams.returnUrl;\n if (returnUrl) {\n this.router.navigate([returnUrl]);\n } else if (companyCode) {\n this.router.navigate([`kesher/${companyCode}/home`]);\n } else {\n this.router.navigate([`personal`]);\n }\n\n setTimeout(() => {\n //the client version is not updated, ask if want to refresh\n if (isClientVersionNotUpdated) {\n this.commonService.updateNewVersion();\n\n // this.messagesService.showConfirmation(this._localizationService.Translate(\"LOGIN.UPDATE_VERSION_TITLE\"),\n // this._localizationService.Translate(\"LOGIN.UPDATE_VERSION_MESSAGE\"),\n // () => {\n // let c = window.location; \n // (c as any).reload(true);\n // //window.location.reload();\n // }, () => { }, \"המשך\", null, false);\n }\n }, 300);\n\n\n }\n getLabel() {\n switch (this.mode) {\n case LoginMode.Login:\n return 'LOGIN.LOGIN_TITLE';\n\n case LoginMode.New:\n return 'LOGIN.NEW_USER';\n\n case LoginMode.Forgot:\n return 'LOGIN.FORGOT_PASSWORD';\n\n case LoginMode.Verify:\n return 'LOGIN.VERIFICATIN_TITEL';\n\n case LoginMode.Change:\n return 'LOGIN.CHANGE_PASSWORD';\n\n default:\n return '';\n }\n }\n\n openGmailChat() {\n const email = 'kesherhk@gmail.com'; // כתובת האימייל שאליה רוצים לשלוח הודעה\n const chatUrl = `https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=1&to=${email}`;\n window.open(chatUrl, '_blank');\n }\n //#endregion\n\n onRecaptchaV2Resolved(token: string) {\n this.loginModel.captchaToken = token;\n this.loginModel.captchVersion = CaptchVersion.V2;\n this.login();\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LoginBySessionComponent } from './components/login-by-session/login-by-session.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { CodeVerificationComponent } from 'shared/src/public-api';\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild([\r\n { path: '', component: LoginComponent, },\r\n { path: 'token/:token', component: LoginComponent, },\r\n { path: ':sessionId', component: LoginBySessionComponent },\r\n {\r\n path: 'loginVerfication', component: CodeVerificationComponent,\r\n //data: { certificateType: CertificateType.ShippingCertificate }\r\n }\r\n ])\r\n ],\r\n exports: [RouterModule]\r\n})\r\nexport class LoginRoutingModule { }\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginComponent } from './components/login/login.component';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from 'projects/shared/src/lib/shared.module';\nimport { LoginRoutingModule } from './login-routing.module';\nimport { PassKehilotComponent } from './components/pass-kehilot/pass-kehilot.component';\nimport { LoginFooterComponent } from './components/login-footer/login-footer.component';\nimport { LoginBySessionComponent } from './components/login-by-session/login-by-session.component';\nimport { NewUserComponent } from './components/new-user/new-user.component';\nimport { LoginButtonsComponent } from './components/login-buttons/login-buttons.component';\nimport { LoginIconsComponent } from './components/login-icons/login-icons.component';\nimport { LoginPanelComponent } from './components/login-panel/login-panel.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { VendorsModule } from 'vendors';\nimport { NewSiteAddComponent } from './components/login/new-site-add/new-site-add.component';\nimport { ConcatUsModule } from '../concat-us/contact-us.module';\n\n@NgModule({\n imports: [\n CommonModule, FormsModule, LoginRoutingModule, SharedModule.forRootOrChild(), VendorsModule.forRootOrChild(),ConcatUsModule\n ],\n declarations: [LoginComponent, PassKehilotComponent, LoginFooterComponent, LoginBySessionComponent, NewUserComponent, LoginButtonsComponent, LoginIconsComponent, LoginPanelComponent, ChangePasswordComponent, NewSiteAddComponent],\n})\nexport class LoginModule { }\n\n"]}