{"version":3,"file":"headerLoginReact.js","mappings":"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","sources":["webpack://recentlyviewed/../SharedContent/Login/CustomerFormType.ts","webpack://recentlyviewed/../SharedContent/Login/LoginValidationService.ts","webpack://recentlyviewed/../SharedContent/Login/SignInModel.ts","webpack://recentlyviewed/../SharedContent/Login/ValidationMessages.ts","webpack://recentlyviewed/../SharedContent/Observer.ts","webpack://recentlyviewed/../SharedContent/ResponseCode.ts","webpack://recentlyviewed/../SharedContent/ServiceClass.ts","webpack://recentlyviewed/./headerLogin/components/LoginMainComponent.tsx","webpack://recentlyviewed/./headerLogin/components/RegisterComponent.tsx","webpack://recentlyviewed/external var \"React\"","webpack://recentlyviewed/external var \"ReactDOM\"","webpack://recentlyviewed/webpack/bootstrap","webpack://recentlyviewed/./headerLogin/mainLogin.ts"],"sourcesContent":["export enum CustomerFormType {\r\n REGISTRATION = 1,\r\n EDIT_PROFILE = 2,\r\n GUEST = 3,\r\n LOGIN = 4,\r\n MY_ACCOUNT_EDIT = 5,\r\n CHANGE_PASSWORD = 6,\r\n EMAIL_PASS_ONLY_REGISTRATION = 7,\r\n EMAIL_ONLY = 8\r\n}","import { ValidationMessages } from \"./ValidationMessages\";\r\nimport { SfCustomerModel } from \"./SfCustomerModel\";\r\nimport { BirthdateModel } from \"./BirthdateModel\";\r\nimport { FieldValidatorModel } from \"./FieldValidatorModel\";\r\nimport { SfCustomerAndFieldsModel } from \".//SfCustomerAndFieldsModel\";\r\nimport { SfCustomerFieldModel } from \"./SfCustomerFieldModel\";\r\nimport { CustomerFormType } from \"./CustomerFormType\";\r\n\r\nexport class LoginValidationService {\r\n private static readonly TITLE_DDL = \"titleddl\";\r\n private static readonly BIRTHDATE_PICKER = \"birthdatepicker\";\r\n private static readonly PASSWORD_BOX = \"passwordbox\";\r\n private static readonly CONFIRM_PASSWORD_BOX = \"confirmpasswordbox\";\r\n private static readonly REGISTRATION = 0;\r\n private static readonly EDIT_PROFILE = 1;\r\n private static readonly MIN_PASSWORD_LENGTH = 1;\r\n private static readonly MAX_PASSWORD_LENGTH = 20;\r\n private static readonly ILLEGAL_PASSWORD_CHARACTER_LIST = [' '];\r\n private static readonly VALID_GENDER_VALUES = ['M', 'F', '', null];\r\n\r\n static validateDataSource(dataSourceName: string, dataSoureceObject, objectToValidate, sfCustomer, objectToApplyOn) {\r\n switch (dataSourceName) {\r\n case LoginValidationService.BIRTHDATE_PICKER:\r\n return this.validateBirthDate(objectToValidate, objectToApplyOn);\r\n case LoginValidationService.PASSWORD_BOX:\r\n return this.validatePassword(objectToValidate, objectToApplyOn);\r\n case LoginValidationService.CONFIRM_PASSWORD_BOX:\r\n return this.validateConfirmPassword(objectToValidate, sfCustomer, objectToApplyOn);\r\n default:\r\n return [];\r\n }\r\n }\r\n static validatePassword(password: string, objectToApplyOn: any) {\r\n var passwordErrorList = [];\r\n if (password == null) {\r\n return [];\r\n }\r\n if (password.length <= LoginValidationService.MIN_PASSWORD_LENGTH) {\r\n passwordErrorList.push({\r\n ValidationMessage: ValidationMessages.passwordTooShort,\r\n ObjectToApplyOn: objectToApplyOn\r\n })\r\n } else if (password.length >= LoginValidationService.MAX_PASSWORD_LENGTH) {\r\n passwordErrorList.push({\r\n ValidationMessage: ValidationMessages.passwordTooLong,\r\n ObjectToApplyOn: objectToApplyOn\r\n })\r\n }\r\n for (var i = 0; i < LoginValidationService.ILLEGAL_PASSWORD_CHARACTER_LIST.length; i++) {\r\n if (password.indexOf(LoginValidationService.ILLEGAL_PASSWORD_CHARACTER_LIST[i]) != -1) {\r\n passwordErrorList.push({\r\n ValidationMessage: ValidationMessages.illegalCharacter,\r\n ObjectToApplyOn: objectToApplyOn\r\n });\r\n return passwordErrorList;\r\n }\r\n }\r\n return passwordErrorList;\r\n }\r\n static validateConfirmPassword(confirmPassword: string, customer: SfCustomerModel, objectToApplyOn: any) {\r\n if (confirmPassword !== customer.PASSWORD_TO_BE_SENT) {\r\n return [\r\n {\r\n ValidationMessage: ValidationMessages.passwordMismatch,\r\n ObjectToApplyOn: objectToApplyOn\r\n }\r\n ]\r\n } else {\r\n return [];\r\n }\r\n }\r\n static validateGender(gender: string) {\r\n for (var i = 0; i < LoginValidationService.VALID_GENDER_VALUES.length; i++) {\r\n if (gender == LoginValidationService.VALID_GENDER_VALUES[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n static validateBirthDate(birthdate: BirthdateModel, objectToApplyOn: any) {\r\n if (birthdate == null ||\r\n birthdate.day == null && birthdate.month == null && birthdate.year == null ||\r\n birthdate.day != null && birthdate.month != null && birthdate.year != null) {\r\n return [];\r\n }\r\n return [{\r\n ValidationMessage: ValidationMessages.invalid,\r\n ObjectToApplyOn: objectToApplyOn\r\n }];\r\n\r\n }\r\n static validateDDL(value: string, list: { [key: string]: string }) {\r\n if (list == null || value == null || value === \"\") {\r\n return false;\r\n }\r\n if (list[value]) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n static validateTitleDDL(title: string, titleList: { [key: string]: string }) {\r\n return this.validateDDL(title, titleList);\r\n }\r\n static customerNgIf(sfCustomerField: SfCustomerFieldModel, sfCustomerForm: SfCustomerAndFieldsModel) {\r\n return sfCustomerField != null &&\r\n (sfCustomerForm.sfCustomerFormType === CustomerFormType.REGISTRATION && sfCustomerField.SHOW_ON_REGISTRATION ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.EDIT_PROFILE && sfCustomerField.SHOW_ON_EDIT_PROFILE ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.GUEST && sfCustomerField.SHOW_FOR_GUEST ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.LOGIN &&\r\n (sfCustomerField.SF_CUSTOMER_FIELD_VALUE === \"PASSWORD_TO_BE_SENT\" || sfCustomerField.SF_CUSTOMER_FIELD_VALUE === \"EMAIL\")\r\n );\r\n }\r\n static validate(sfCustomerAndFields: SfCustomerAndFieldsModel, skipDataSources: boolean): FieldValidatorModel[] {\r\n try {\r\n var validationErrorList = [], sfCustomerField;\r\n for (sfCustomerField in sfCustomerAndFields.sfCustomerFields) {\r\n if (!this.customerNgIf(sfCustomerAndFields.sfCustomerFields[sfCustomerField], sfCustomerAndFields)) {\r\n continue;\r\n }\r\n if (sfCustomerAndFields.sfCustomerFields[sfCustomerField].IS_REQUIRED && (sfCustomerAndFields.sfCustomer[sfCustomerField] == null || sfCustomerAndFields.sfCustomer[sfCustomerField] === \"\")) {\r\n validationErrorList.push({\r\n ValidationMessage: \"required\",\r\n ObjectToApplyOn: sfCustomerAndFields.sfCustomerFields[sfCustomerField].SF_CUSTOMER_FIELD_VALUE\r\n });\r\n } else if (!skipDataSources) {\r\n validationErrorList = validationErrorList.concat(this.validateDataSource(sfCustomerAndFields\r\n .sfCustomerFields[sfCustomerField].DATA_SOURCE_NAME,\r\n sfCustomerAndFields.sfCustomerFields[sfCustomerField].DATA_SOURCE_OBJECT,\r\n sfCustomerAndFields.sfCustomer[sfCustomerField],\r\n sfCustomerAndFields.sfCustomer,\r\n sfCustomerAndFields.sfCustomerFields[sfCustomerField].SF_CUSTOMER_FIELD_VALUE));\r\n }\r\n }\r\n if (validationErrorList.length > 0) {\r\n try {\r\n //TODO: Log\r\n //this.LoggerService.Information(\"Client-side Customer validation failed with Customer:\" +\r\n // JSON.stringify(sfCustomerAndFields.sfCustomer) +\r\n // \"; and errors:\" +\r\n // JSON.stringify(validationErrorList));\r\n } catch (exception) {\r\n //TODO: Log\r\n //this.LoggerService.Information(\"Customer validation failed but there was an exception logging validation errors: \");\r\n }\r\n }\r\n return validationErrorList;\r\n }\r\n catch (exception) {\r\n //TODO: LOg\r\n //this.LoggerService.Error(\"Client-side error when validating SF Customer:\" + exception.stack.toString())\r\n return [];\r\n }\r\n }\r\n}","export class SignInModel{\r\n EMAIL:SignInProperty = new SignInProperty(\"EMAIL\",true);\r\n PASSWORD:SignInProperty = new SignInProperty(\"PASSWORD\", true);\r\n KeepMeSignedIn:SignInProperty = new SignInProperty(\"KeepMeSignedIn\", false, true);\r\n loginError:boolean = false;\r\n}\r\nexport class SignInProperty{\r\n constructor(name:string, isRequired:boolean=true, suppliedValue:any=undefined){\r\n this.NAME =name;\r\n this.IsRequired = isRequired;\r\n this.value = suppliedValue;\r\n }\r\n NAME:string;\r\n HasError:boolean= false;\r\n ErrorMessage:string;\r\n value:any;\r\n IsRequired:boolean;\r\n}\r\n\r\nexport class ForgotPassModel{\r\n EMAIL:SignInProperty = new SignInProperty(\"EMAIL\",true);\r\n loginError:boolean = false;\r\n responseMessage:string=undefined;\r\n requestSubmitted:boolean= false;\r\n}","var ValidationMessages = {\r\n required: \"required\",\r\n invalid: \"invalid\",\r\n alreadyRegistered: \"alreadyRegistered\",\r\n postalMismatch: \"postalMismatch\",\r\n selectState: \"selectState\",\r\n passwordTooShort: \"passwordTooShort\",\r\n passwordTooLong: \"passwordTooLong\",\r\n not18YearsOld: \"not18YearsOld\",\r\n illegalCharacter: \"illegalCharacter\",\r\n passwordMismatch: \"passwordMismatch\",\r\n noPostalCode: \"noPostalCode\"\r\n};\r\n\r\nexport { ValidationMessages }","import { IObserver } from \"./IObserver\";\r\n\r\nexport class Observer implements IObserver{\r\n id: number; \r\n context: any;\r\n name:string;\r\n public update(suppliedContext) {\r\n this.context = suppliedContext;\r\n }\r\n\r\n\r\n}","export enum ResponseCode {\r\n None = 0,\r\n Success = 1,\r\n Error = 2,\r\n Exception= 3,\r\n ValidationError= 4,\r\n AlreadyRegistered= 5,\r\n NotLoggedIn= 6,\r\n BadData= 7,\r\n Confirm= 8,\r\n OrderStatusNot1= 9,\r\n ResponseCode = 10,\r\n SessionAlreadyRegistered = 11,\r\n CaptchaError = 12\r\n}","export class SfConfigModel {\r\n\r\n\r\n _baseURL = undefined;\r\n GetBaseUrl() {\r\n\r\n if (this._baseURL == undefined) {\r\n this._baseURL = (window as any).GetBaseUrlFromDocumentMiddleware()\r\n }\r\n return this._baseURL;\r\n }\r\n\r\n _storeFrontId = undefined;\r\n get_StoreFrontId() {\r\n\r\n if (!this._storeFrontId) {\r\n if ((window as any).$sfConfigModel) {\r\n this._storeFrontId = (window as any).$sfConfigModel.STORE_FRONT_ID;\r\n }\r\n else if (document.getElementById('hidSfid')) {\r\n this._storeFrontId = (document.getElementById('hidSfid') as any).value;\r\n }\r\n\r\n }\r\n return this._storeFrontId;\r\n }\r\n\r\n\r\n _isRestrictedSite = undefined;\r\n get_IsRestrictedSite() {\r\n\r\n if (!this._isRestrictedSite) {\r\n if ((window as any).$sfConfigModel) {\r\n this._isRestrictedSite = (window as any).$sfConfigModel.IsRestrictedSite;\r\n }\r\n else if (document.getElementById('hidIsRestricted')) {\r\n this._isRestrictedSite = (document.getElementById('hidIsRestricted') as any).value;\r\n }\r\n\r\n }\r\n return this._isRestrictedSite;\r\n }\r\n\r\n\r\n}\r\n\r\nexport class ServiceModel{\r\n postDataPromise(data: any, url:string) {\r\n if(data ===undefined || data === null){\r\n data = {};\r\n }\r\n return fetch(url, {\r\n method: \"POST\", // *GET, POST, PUT, DELETE, etc.\r\n mode: \"same-origin\", // no-cors, cors, *same-origin\r\n cache: \"no-cache\", // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: \"same-origin\", // include, *same-origin, omit\r\n headers: {\r\n \"Content-Type\": \"application/json\", // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => {\r\n return response\r\n })\r\n // .then((result) => {\r\n // return result;\r\n // })\r\n .catch((error) => {\r\n console.error(error);\r\n return error;\r\n });\r\n\r\n }\r\n\r\n postJSONDataPromise(data: any, url:string) {\r\n return fetch(url, {\r\n method: \"POST\", // *GET, POST, PUT, DELETE, etc.\r\n mode: \"same-origin\", // no-cors, cors, *same-origin\r\n cache: \"no-cache\", // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: \"same-origin\", // include, *same-origin, omit\r\n headers: {\r\n \"Content-Type\": \"application/json\", // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((result) => {\r\n return result;\r\n })\r\n .catch((error) => {\r\n console.error(error);\r\n return error;\r\n });\r\n\r\n }\r\n}","import * as React from 'react';\r\nimport { SfCustomerModel } from '../../../SharedContent/SfCustomerModel'\r\nimport { Observer } from '../../../SharedContent/Observer'\r\nimport { SignInModel, SignInProperty, ForgotPassModel } from '../../../SharedContent/Login/SignInModel';\r\nimport { RegisterComponent } from \"./RegisterComponent\";\r\n\r\ndeclare global {\r\n interface Window {\r\n $SfCustomerSubject: any;\r\n $ClientMiddleware: any;\r\n }\r\n}\r\n\r\nexport class LoginMainComponent extends React.Component<any, any>{\r\n _signInModel: SignInModel;\r\n _forgotPassModel: ForgotPassModel;\r\n private static readonly LoginURL = \"Login/SignIn\";\r\n private static readonly ForgotPasswordURL = \"Login/ForgotPasswordApi\";\r\n private observer: any;\r\n constructor(props: any) {\r\n super(props);\r\n this._signInModel = new SignInModel();\r\n this._forgotPassModel = new ForgotPassModel();\r\n this.state = {\r\n value: null,\r\n isLoggedIn: false,\r\n renderValues: false,\r\n stateObserver: undefined,\r\n signInModel: this._signInModel,\r\n forgotPassModel: this._forgotPassModel\r\n };\r\n this.submitLogin_CLICK = this.submitLogin_CLICK.bind(this);\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n this.updateInputValue = this.updateInputValue.bind(this);\r\n this.revealForgotPassword = this.revealForgotPassword.bind(this);\r\n this.updateForgotPassInputValue = this.updateForgotPassInputValue.bind(this);\r\n this.submitForgotPassword_CLICK = this.submitForgotPassword_CLICK.bind(this);\r\n this.revealRegistration_CLICK = this.revealRegistration_CLICK.bind(this);\r\n this.cancel = this.cancel.bind(this);\r\n this.close = this.close.bind(this);\r\n this.observer = {\r\n id: \"login\" + Math.trunc(Math.random() * 1000000),\r\n update: (result) => {\r\n if (result.LoggedIn) this.close();\r\n }\r\n };\r\n window.$SfCustomerSubject.addObserver(this.observer);\r\n //this.forgotPasswordCheck();\r\n }\r\n\r\n componentDidMount() {\r\n this.initObserverAndSubscribeToSfCustomerSubject();\r\n this.forgotPasswordCheck();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.$SfCustomerSubject.removeObserver(this.observer);\r\n }\r\n check_KEYUP(evt: any) {\r\n if (evt.code == 13 || evt.keyCode == 13) {\r\n this.submitLogin_CLICK(evt);\r\n }\r\n\r\n }\r\n\r\n\r\n submitLogin_CLICK(evt: any) {\r\n var hasValidationErrors = false;\r\n Object.keys(this._signInModel).forEach(key => {\r\n if(this._signInModel[key] instanceof SignInProperty){\r\n let signInProp = this._signInModel[key] as SignInProperty;\r\n if (signInProp.IsRequired && signInProp.value === undefined || signInProp.value === \"\") {\r\n signInProp.HasError = true;\r\n hasValidationErrors = true;\r\n } else if (signInProp.HasError) {\r\n signInProp.HasError = false;\r\n }\r\n }\r\n });\r\n this.setState({\r\n signInModel: this._signInModel\r\n });\r\n var cresponse = \"\";\r\n if ((window as any).captchaEnabled) {\r\n cresponse = (window as any).grecaptcha.getResponse();\r\n if (cresponse == \"\") {\r\n hasValidationErrors = true;\r\n this.captchaError = true;\r\n }\r\n }\r\n\r\n if (!hasValidationErrors) {\r\n var sendModel = {\r\n Username: this._signInModel.EMAIL.value,\r\n Password: this._signInModel.PASSWORD.value,\r\n KeepMeSignedIn: this._signInModel.KeepMeSignedIn.value,\r\n CaptchaResponse: cresponse\r\n };\r\n this.loginPostDataPromise(sendModel, this.GetBaseUrl() + LoginMainComponent.LoginURL)\r\n .then(result => {\r\n if (result != null && result.ResponseCode == 12 /*captchaError */) {\r\n this.captchaError = true;\r\n return;\r\n } else {\r\n this.captchaError = false;\r\n }\r\n if ((window as any).captchaEnabled) {\r\n (window as any).grecaptcha.reset();\r\n }\r\n if (result !== undefined) {\r\n this._signInModel.loginError = false;\r\n if (result.LoggedIn) {\r\n this.setState({\r\n revealLogin: false\r\n });\r\n window.$ClientMiddleware.CheckLoginMiddleware();\r\n\r\n } else {\r\n this.signInError();\r\n }\r\n } else {\r\n this.signInError();\r\n }\r\n }).catch(error => {\r\n if ((window as any).captchaEnabled) {\r\n (window as any).grecaptcha.reset();\r\n }\r\n this.signInError();\r\n })\r\n }\r\n return false;\r\n }\r\n\r\n revealForgotPassword() {\r\n this._forgotPassModel = new ForgotPassModel();\r\n if (this._signInModel.EMAIL !== undefined && this._signInModel.EMAIL.value !== undefined) {\r\n this._forgotPassModel.EMAIL.value = this._signInModel.EMAIL.value;\r\n }\r\n this.setState({\r\n revealRegistration: false,\r\n revealForgotPass: true,\r\n forgotPassModel: this._forgotPassModel\r\n });\r\n }\r\n\r\n cancel() {\r\n this.setState({\r\n revealForgotPass: false,\r\n revealRegistration: false,\r\n _signInModel: new SignInModel()\r\n });\r\n }\r\n\r\n close() {\r\n console.log(this.props.close);\r\n this.cancel();\r\n this.props.close();\r\n }\r\n\r\n revealRegistration_CLICK() {\r\n this.setState({\r\n revealForgotPass: false,\r\n revealRegistration: true\r\n });\r\n }\r\n\r\n submitForgotPassword_CLICK(evt: any) {\r\n var hasValidationErrors = false;\r\n Object.keys(this._forgotPassModel).forEach(key => {\r\n if(this._forgotPassModel[key] instanceof SignInProperty){\r\n let signInProp = this._forgotPassModel[key] as SignInProperty;\r\n if (signInProp.IsRequired && signInProp.value === undefined || signInProp.value === \"\") {\r\n signInProp.HasError = true;\r\n hasValidationErrors = true;\r\n } else {\r\n if (signInProp.HasError) {\r\n signInProp.HasError = false;\r\n }\r\n }\r\n }\r\n });\r\n this.setState({\r\n forgotPassModel: this._forgotPassModel\r\n });\r\n if(!hasValidationErrors){\r\n var sendModel = {\r\n email: this._forgotPassModel.EMAIL.value,\r\n };\r\n this.postDataPromise(sendModel, this.GetBaseUrl() + LoginMainComponent.ForgotPasswordURL)\r\n .then(response =>{\r\n\r\n response.json()\r\n .then((result) => {\r\n //console.log(JSON.stringify(result));\r\n });\r\n if(response !== undefined && response.status=== 200){\r\n this._forgotPassModel.loginError = false;\r\n this._forgotPassModel.requestSubmitted = true;\r\n this._forgotPassModel.responseMessage = (window as any).stringResourcesSignIn.PasswordSent;\r\n }else{\r\n this._forgotPassModel.loginError = true;\r\n this._forgotPassModel.requestSubmitted = false;\r\n this._forgotPassModel.responseMessage = undefined;\r\n }\r\n this.setState({forgotPassModel: this._forgotPassModel})\r\n }).catch(error =>{\r\n this._forgotPassModel.loginError = true;\r\n this._forgotPassModel.requestSubmitted = false;\r\n this._forgotPassModel.responseMessage = undefined;\r\n this.setState({forgotPassModel: this._forgotPassModel})\r\n })\r\n }\r\n return false;\r\n }\r\n\r\n signInError() {\r\n this._signInModel.loginError = true;\r\n this.setState({\r\n signInModel: this._signInModel\r\n });\r\n }\r\n\r\n handleInputChange(event) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n this._signInModel[name] = value;\r\n this.setState({\r\n signInModel: this._signInModel\r\n });\r\n }\r\n\r\n updateInputValue(evt) {\r\n var name = evt.target.name;\r\n var value = evt.target.value;\r\n this._signInModel[name].value = value;\r\n var signInProp = this._signInModel[name] as SignInProperty;\r\n if (signInProp.IsRequired && (signInProp.value === undefined || signInProp.value === \"\")) {\r\n signInProp.HasError = true;\r\n } else {\r\n if (signInProp.HasError) {\r\n signInProp.HasError = false;\r\n }\r\n }\r\n this.setState({\r\n signInModel: this._signInModel\r\n });\r\n }\r\n\r\n updateForgotPassInputValue(evt) {\r\n var name = evt.target.name;\r\n var value = evt.target.value;\r\n this._forgotPassModel[name].value = value;\r\n var signInProp = this._forgotPassModel[name] as SignInProperty;\r\n if (signInProp.IsRequired && (signInProp.value === undefined || signInProp.value === \"\")) {\r\n signInProp.HasError = true;\r\n } else {\r\n if (signInProp.HasError) {\r\n signInProp.HasError = false;\r\n }\r\n }\r\n this.setState({\r\n forgotPassModel: this._forgotPassModel\r\n });\r\n }\r\n\r\n localObserver: Observer;\r\n initObserverAndSubscribeToSfCustomerSubject() {\r\n this.localObserver = new Observer();\r\n this.localObserver.id = 17;\r\n this.localObserver.name = \"LoginComponentReact\"\r\n this.localObserver.update = (suppliedContext) => this.receiveNotification_SfCustomer_LoginReact(suppliedContext)\r\n this.setState({\r\n stateObserver: this.localObserver\r\n });\r\n try {\r\n setTimeout(function (refObserver) {\r\n if ((window as any).$SfCustomerSubject !== undefined) {\r\n var customSubj = (window as any).$SfCustomerSubject\r\n customSubj.addObserver(refObserver);\r\n }\r\n }, 50, this.localObserver);\r\n } catch (exception) {\r\n console.log(exception);\r\n }\r\n }\r\n\r\n receiveNotification_SfCustomer_LoginReact(context: SfCustomerModel | any) {\r\n var self = this;\r\n setTimeout(function () {\r\n if (context !== undefined && context.LoggedIn && context.CustomerID !== undefined && context.CustomerID > 0) {\r\n if (self.state.sfCustomer == null ||\r\n (!self.state.sfCustomer.LoggedIn || self.state.sfCustomer.CustomerID !== context.CustomerID)) {\r\n self.setState({\r\n isLoggedIn: true,\r\n sfCustomer: context\r\n });\r\n }\r\n } else {\r\n self.setState({\r\n isLoggedIn: false,\r\n sfCustomer: context\r\n });\r\n }\r\n }, 100);\r\n }\r\n\r\n loginPostDataPromise(data: any, url:string) {\r\n return fetch(url, {\r\n method: \"POST\", // *GET, POST, PUT, DELETE, etc.\r\n mode: \"same-origin\", // no-cors, cors, *same-origin\r\n cache: \"no-cache\", // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: \"same-origin\", // include, *same-origin, omit\r\n headers: {\r\n \"Content-Type\": \"application/json\", // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n body: JSON.stringify(data),\r\n }).then((response) => response.json())\r\n .then((result) => {\r\n return result;\r\n }).catch((error) => {\r\n console.error(error);\r\n return error;\r\n });\r\n }\r\n\r\n postDataPromise(data: any, url:string) {\r\n return fetch(url, {\r\n method: \"POST\", // *GET, POST, PUT, DELETE, etc.\r\n mode: \"same-origin\", // no-cors, cors, *same-origin\r\n cache: \"no-cache\", // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: \"same-origin\", // include, *same-origin, omit\r\n headers: {\r\n \"Content-Type\": \"application/json\", // \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n body: JSON.stringify(data),\r\n }).then((response) => {\r\n return response;\r\n }).catch((error) => {\r\n console.error(error);\r\n return error;\r\n });\r\n }\r\n\r\n //Component UI rendering related\r\n\r\n render() {\r\n return this.getSignInContent();\r\n }\r\n\r\n getSignInContent() {\r\n var greeting;\r\n if (this.state.revealForgotPass) greeting = (window as any).stringResourcesSignIn.ForgotPasswordHeading;\r\n else if (this.state.revealRegistration) greeting = (window as any).stringResourcesSignIn.Register;\r\n else greeting = (window as any).stringResourcesSignIn.SignIn;\r\n return <div className=\"sign-in\">\r\n <div className=\"sign-in__header\">\r\n {this.props.hasCloseButton && <a className=\"sign-in__close\" onClick={() => this.close()}>×</a>}\r\n <h1 className={'sign-in__heading'} >{greeting}</h1>\r\n </div>\r\n {this.getSignInForm()}\r\n </div>\r\n }\r\n\r\n getOKButtonContent(){\r\n return <div>\r\n {this.state.forgotPassModel.responseMessage}\r\n {/*<button className=\"button button--grey button--expand\" onClick={() => this.close()} type=\"button\" >OK</button>*/}<br /><br />\r\n {this.forgotPassRedirect()}\r\n </div>\r\n }\r\n\r\n getForgotPasswordFieldContent() {\r\n var loginFields = [];\r\n loginFields.push(\r\n <div>\r\n <div >\r\n <label className=\"sign-in__label\"> {(window as any).stringResourcesSignIn.Email}\r\n </label>\r\n <input type=\"text\"\r\n name=\"EMAIL\"\r\n id=\"txtFogotPassEmail\"\r\n value={this.state.forgotPassModel.EMAIL.value !== undefined ? this.state.forgotPassModel.EMAIL.value : ''}\r\n onChange={evt => this.updateForgotPassInputValue(evt)}\r\n className={this.state.forgotPassModel[\"EMAIL\"].HasError ? 'sfcustomer-input has-error' : 'sfcustomer-input'}>\r\n </input>\r\n\r\n {this.state.forgotPassModel[\"EMAIL\"].HasError &&\r\n <div className=\"sfCustomer-error\"> {(window as any).stringResourcesSignIn.RequiredField} </div>\r\n }\r\n </div>\r\n </div>\r\n );\r\n loginFields.push(\r\n <div>\r\n <div className=\"sign-in__button-group\">\r\n <button className=\"sign-in__button button button--green button--expand\"\r\n type=\"button\"\r\n onClick={evt => this.submitForgotPassword_CLICK(evt)} >\r\n {(window as any).stringResourcesSignIn.Submit}\r\n </button>\r\n <button className=\"button button--grey button--expand\"\r\n onClick={() => this.cancel()}\r\n type=\"button\">\r\n {(window as any).stringResourcesSignIn.Cancel}\r\n </button>\r\n </div>\r\n </div>\r\n );\r\n return loginFields;\r\n }\r\n\r\n getSignInForm() {\r\n var contenForm = [];\r\n if (this.state.revealRegistration) {\r\n return <RegisterComponent\r\n cancel={() => this.cancel()}\r\n forgotPassword={() => this.revealForgotPassword()}>\r\n </ RegisterComponent>\r\n } if (this.state.revealForgotPass) {\r\n if (this.state.forgotPassModel.requestSubmitted) {\r\n contenForm.push(this.getOKButtonContent());\r\n } else {\r\n contenForm.push(this.getForgotPasswordFieldContent());\r\n }\r\n } else {\r\n contenForm.push(this.getLoginFieldContent());\r\n contenForm.push(this.getForgotPasswordButonContent());\r\n contenForm.push(this.getSignInCreateAccountField())\r\n }\r\n return <form className=\"login-form\" name=\"loginForm\" >\r\n {(this.state.signInModel.loginError &&\r\n <p className=\"sign-in__callout sign-in__callout--with-icon\" >\r\n <span><img src=\"webcontent/icons/baseline-error-24px--cc4b37.svg\" alt=\"\" /></span>\r\n <span>\r\n {(window as any).$StringResource__ValidationMessages_txtPasswordDontMatchUser}\r\n </span>\r\n </p>\r\n )}\r\n {contenForm}\r\n </form>\r\n }\r\n\r\n getLoginFieldContent() {\r\n var loginFields = [];\r\n loginFields.push(\r\n <div>\r\n <div>\r\n <label className=\"sign-in__label\"> {(window as any).stringResourcesSignIn.Email}\r\n </label>\r\n <input type=\"text\"\r\n name=\"EMAIL\"\r\n id=\"txtLoginEmail\"\r\n onChange={evt => this.updateInputValue(evt)}\r\n onKeyUp={evt => this.check_KEYUP(evt)}\r\n className={this.state.signInModel[\"EMAIL\"].HasError ? 'sfcustomer-input has-error' : 'sfcustomer-input'}>\r\n </input>\r\n {this.state.signInModel[\"EMAIL\"].HasError &&\r\n <div className=\"sfCustomer-error\"> {(window as any).stringResourcesSignIn.RequiredField} </div>\r\n }\r\n </div>\r\n </div>\r\n );\r\n loginFields.push(\r\n <div >\r\n <div >\r\n <label className=\"sign-in__label\">\r\n {(window as any).stringResourcesSignIn.Password}\r\n </label>\r\n <input type=\"password\"\r\n name=\"PASSWORD\"\r\n onChange={evt => this.updateInputValue(evt)}\r\n onKeyUp={evt => this.check_KEYUP(evt)}\r\n className={this.state.signInModel[\"PASSWORD\"].HasError ? 'sfcustomer-input has-error' : 'sfcustomer-input'}>\r\n </input>\r\n {this.state.signInModel[\"PASSWORD\"].HasError &&\r\n <div className=\"sfCustomer-error\"> {(window as any).stringResourcesSignIn.RequiredField} </div>\r\n }\r\n\r\n </div>\r\n </div>\r\n );\r\n loginFields.push(this.getCaptcha());\r\n loginFields.push(\r\n <div className=\"sign-in__button-group\">\r\n <div className=\"faux-checkbox\">\r\n <input type=\"checkbox\"\r\n id=\"keepMeSignedIn\"\r\n checked={this.state.signInModel[\"KeepMeSignedIn\"].value}\r\n onChange={this.handleInputChange}\r\n name=\"KeepMeSignedIn\">\r\n </input>\r\n <label htmlFor=\"keepMeSignedIn\">\r\n <span className=\"faux-checkbox__button\"></span>\r\n <span className=\"faux-checkbox__label\">{(window as any).stringResourcesSignIn.KeepMe}</span>\r\n </label>\r\n </div>\r\n <input className=\"sign-in__button button button--green button--expand\"\r\n type=\"button\"\r\n value={(window as any).stringResourcesSignIn.LogIn}\r\n onClick={evt => this.submitLogin_CLICK(evt)} onKeyUp={evt => this.check_KEYUP(evt)} ></input>\r\n </div>\r\n );\r\n return loginFields;\r\n }\r\n\r\n loadCaptcha() {\r\n let siteKey: string;\r\n if (!(window as any).captchaEnabled) return;\r\n if (window.location.href.indexOf(\"biovea.website\") > -1) {\r\n siteKey = \"6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\";\r\n } else {\r\n siteKey = \"6LdxN1EcAAAAAPhz-fztJ1CCMucCDFzsJblrkUyl\";\r\n }\r\n var logCaptcha = document.getElementById(\"login_captcha\");\r\n if (logCaptcha == null || logCaptcha.children.length > 0) return;\r\n\r\n try {\r\n (window as any).grecaptcha.render('login_captcha', {\r\n 'sitekey': siteKey,\r\n 'callback': () => {\r\n this.captchaError = false;\r\n this.forceUpdate();\r\n }\r\n });\r\n } catch (e){ \r\n setTimeout(() => {\r\n this.loadCaptcha();\r\n }, 1000);\r\n }\r\n }\r\n\r\n private captchaError = false;\r\n\r\n getCaptcha() {\r\n setTimeout(() => {\r\n this.loadCaptcha();\r\n }, 1000);\r\n return <>\r\n <div id=\"login_captcha\" ></div>\r\n {\r\n this.captchaError &&\r\n <div className=\"sfCustomer-error\"> <br />Captcha {(window as any).stringResourcesSignIn.Required} </div>\r\n }\r\n </>\r\n }\r\n\r\n getForgotPasswordSubmitButton(){\r\n return <div className=\"sign-in__forgot-password\">\r\n <a href=\"javascript:void(0)\"\r\n onClick={evt => this.submitForgotPassword_CLICK(evt)}\r\n id=\"A1\" target=\"_self\">\r\n {(window as any).stringResourcesSignIn.Submit}\r\n </a>\r\n </div>\r\n }\r\n\r\n getForgotPasswordButonContent() {\r\n return <div className=\"sign-in__forgot-password\">\r\n <a href=\"javascript:void(0)\"\r\n onClick={() => this.revealForgotPassword()}\r\n id=\"A1\" target=\"_self\">\r\n {(window as any).stringResourcesSignIn.ForgotYourPasswordQuestion}\r\n </a>\r\n </div>\r\n }\r\n\r\n getSignInCreateAccountField() {\r\n return <div className=\"sign-in__create-account\">\r\n <div className=\"sign-in__account-divider\">\r\n <span>{(window as any).stringResourcesSignIn.Or}</span>\r\n </div>\r\n <a className=\"button button--grey button--expand\"\r\n onClick={() => this.revealRegistration_CLICK()}>\r\n {(window as any).stringResourcesSignIn.CreateAnAccount}\r\n </a>\r\n </div>\r\n }\r\n\r\n private _baseURL = null;\r\n private GetBaseUrl() {\r\n if (this._baseURL == null) this._baseURL = document.getElementsByTagName('base')[0].href;\r\n return this._baseURL;\r\n }\r\n\r\n forgotPasswordCheck() {\r\n if (window.location.href.indexOf(\"/m/forgotpassword\") > -1) {\r\n this.setState({ revealForgotPass: true });\r\n\r\n }\r\n else if (window.location.href.indexOf(\"fp\") > -1) {\r\n this.setState({ revealForgotPass: true });\r\n //this.showForgotPass();\r\n }\r\n }\r\n\r\n forgotPassRedirect() {\r\n if (window.location.href.indexOf(\"CheckoutSignIn\") > -1) {\r\n //User came from CheckoutSign in:\r\n return <button className=\"button button--grey button--expand\" onClick={() => location.href = 'login/CheckoutSignInPage'} type=\"button\">OK</button>\r\n } else if (window.location.href.indexOf(\"m/login\") > -1) {\r\n //User came from or is on My Account:\r\n return <button className=\"button button--grey button--expand\" onClick={() => location.href = 'm/login?returnUrl=m/profile'} type=\"button\">OK</button>\r\n } else {\r\n return <button className=\"button button--grey button--expand\" onClick={() => this.close()} type=\"button\">OK</button>\r\n }\r\n }\r\n\r\n}","import * as React from 'react';\r\nimport { SfConfigModel, ServiceModel } from \"../../../SharedContent/ServiceClass\"\r\nimport { SfCustomerFieldModel, SfCustomerFields } from \"../../../SharedContent/Login/SfCustomerFieldModel\"\r\nimport { SfCustomerModel } from \"../../../SharedContent/Login/SfCustomerModel\";\r\nimport { CustomerFormType } from \"../../../SharedContent/Login/CustomerFormType\";\r\nimport { SfCustomerAndFieldsModel } from \"../../../SharedContent/Login/SfCustomerAndFieldsModel\";\r\nimport { LoginValidationService } from \"../../../SharedContent/Login/LoginValidationService\";\r\nimport { ResponseModel } from \"../../../SharedContent/ResponseModel\";\r\nimport { ValidationMessages } from '../../../SharedContent/Login/ValidationMessages';\r\nimport { ValidationModel } from '../../../SharedContent/Login/ValidationModel';\r\nimport { FieldValidatorModel } from '../../../SharedContent/Login/FieldValidatorModel';\r\nimport { BirthdateModel } from \"../../../SharedContent/Login/BirthdateModel\";\r\nimport { ResponseCode } from '../../../SharedContent/ResponseCode';\r\n\r\nexport class RegisterComponent extends React.Component<any, any>{\r\n\r\n private static readonly GetSfCustomerFieldsViaPOST_URL = \"SfCustomer/GetSfCustomerFields\";\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n value: null,\r\n isLoggedIn: false,\r\n renderValues: false,\r\n sfCustomerAndFields: {\r\n sfCustomer: {},\r\n sfCustomerFields: {}\r\n },\r\n };\r\n this.getRegisterContent();\r\n }\r\n\r\n private _config: SfConfigModel = new SfConfigModel();\r\n private sfCustomerAndFields: SfCustomerAndFieldsModel = {\r\n sfCustomer: {} as any,\r\n validationErrorList: [],\r\n sfCustomerFields: null,\r\n sfCustomerFormType: CustomerFormType.REGISTRATION,\r\n validations: {}\r\n } as any;\r\n private _serviceModel: ServiceModel = new ServiceModel();\r\n private _fieldsDataLoaded: boolean = false;\r\n private _fieldsData_IsLoading: boolean = false;\r\n\r\n handleInputChange(event) {\r\n var name = event.target.name;\r\n var value = event.target.value;\r\n this.sfCustomerAndFields.sfCustomer[name] = value;\r\n if (this.sfCustomerAndFields.sfCustomerFields[name].IS_REQUIRED\r\n && (value == null || value == \"\")) {\r\n if (this.sfCustomerAndFields.sfCustomerFields[name].ErrorMessages == null) {\r\n this.sfCustomerAndFields.sfCustomerFields[name].ErrorMessages = [];\r\n }\r\n this.sfCustomerAndFields.sfCustomerFields[name].ErrorMessages =\r\n this.errorMessageToString({ required: true } as any);\r\n this.updateSfCustomerFieldsState();\r\n } else if (this.removeInvalidToken(name)) this.updateSfCustomerFieldsState();\r\n }\r\n\r\n handleInputChangeObject(event, type) {\r\n var name = event.target.name;\r\n var value = event.target.value;\r\n if (this.sfCustomerAndFields.sfCustomer[name] == null ||\r\n typeof this.sfCustomerAndFields.sfCustomer[name] !== \"object\") {\r\n this.sfCustomerAndFields.sfCustomer[name] = {};\r\n }\r\n if (value === \"\") value = null;\r\n this.sfCustomerAndFields.sfCustomer[name][type] = value;\r\n this.sfCustomerAndFields.sfCustomer[name][\"day\"] = '1';\r\n this.sfCustomerAndFields.sfCustomer[name][\"year\"] = '1900';\r\n\r\n this.setState({ [\"year\"]: event.target.value });\r\n }\r\n\r\n submitRegistration_CLICK = this.submitRegistration.bind(this);\r\n submitRegistration() {\r\n this.register();\r\n }\r\n check_KEYPRESS(evt: any) {\r\n if (evt.code == 13 || evt.keyCode == 13) {\r\n this.submitRegistration_CLICK();\r\n }\r\n }\r\n private captchaError: boolean = false;\r\n\r\n private register() {\r\n var self = this;\r\n if ((window as any).captchaEnabled) {\r\n (this.sfCustomerAndFields.sfCustomer as any).CaptchaResponse = (window as any).grecaptcha.getResponse();\r\n if ((this.sfCustomerAndFields.sfCustomer as any).CaptchaResponse == \"\") {\r\n this.captchaError = true;\r\n this.forceUpdate();\r\n return Promise.resolve(false);\r\n }\r\n }\r\n if (this.validateAndApply()) {\r\n return fetch(document.getElementsByTagName(\"base\")[0].href + \"Login/RegisterCustomer\", {\r\n method: \"POST\",\r\n body: JSON.stringify(this.sfCustomerAndFields.sfCustomer),\r\n headers: { \"Content-Type\": \"application/json\" }\r\n }).then(function (response) {\r\n return response.json();\r\n }).then(function (json: ResponseModel<any>) {\r\n if (json != null && json.ResponseCode == ResponseCode.CaptchaError ) {\r\n self.captchaError = true;\r\n return;\r\n } else {\r\n self.captchaError = false;\r\n }\r\n if (json.ResponseCode != ResponseCode.SessionAlreadyRegistered &&\r\n json.ResponseObject.validationErrorList.length > 0) {\r\n self.applyValidation(json.ResponseObject.validationErrorList);\r\n self.updateSfCustomerFieldsState();\r\n return false;\r\n }\r\n else {\r\n (window as any).$ClientMiddleware.CheckLoginMiddleware();\r\n }\r\n return json.ResponseObject.sfCustomer;\r\n });\r\n } else return Promise.resolve(false);\r\n }\r\n\r\n private validateAndApply() {\r\n var setState: boolean = false;\r\n for (var field in this.sfCustomerAndFields.sfCustomerFields) {\r\n setState = this.removeInvalidToken(field) || setState;\r\n }\r\n var clientValidation = LoginValidationService.validate(this.sfCustomerAndFields, false);\r\n if (clientValidation && clientValidation.length > 0) {\r\n this.applyValidation(clientValidation);\r\n this.updateSfCustomerFieldsState();\r\n return false;\r\n }\r\n if (setState) this.updateSfCustomerFieldsState();\r\n return true;\r\n }\r\n\r\n private removeInvalidToken(field: string) {\r\n var errs: any = {};\r\n var setState = this.sfCustomerAndFields.sfCustomerFields[field].ErrorMessages != null &&\r\n this.sfCustomerAndFields.sfCustomerFields[field].ErrorMessages.length > 0;\r\n for (var i in ValidationMessages) {\r\n errs[i] = false;\r\n }\r\n this.sfCustomerAndFields.sfCustomerFields[field].Errors = errs;\r\n this.sfCustomerAndFields.sfCustomerFields[field].ErrorMessages = [];\r\n return setState;\r\n }\r\n\r\n private updateSfCustomerFieldsState() {\r\n this.setState({\r\n sfCustomerAndFields: {\r\n sfCustomerFields: this.sfCustomerAndFields.sfCustomerFields\r\n }\r\n });\r\n }\r\n\r\n //TODO: this is temporary!\r\n private errorMessageToString(validations: ValidationModel): (string|JSX.Element)[] {\r\n var messages: (string|JSX.Element)[] = [];\r\n if (validations.required) messages.push((window as any).$StringResource__ValidationMessages_Required);\r\n if (validations.invalid) messages.push((window as any).$StringResource__ValidationMessages_InvalidInput);\r\n if (validations.alreadyRegistered) messages.push(\r\n <span>\r\n {(window as any).$StringResource__EmailAlreadyExists}\r\n \r\n <button className=\"button button--tiny button--green\" onClick={e => this.props.cancel()}>{(window as any).stringResourcesSignIn.LogIn}</button>\r\n \r\n <button className=\"button button--tiny button--gray\" onClick={e => this.props.forgotPassword()}>{(window as any).stringResourcesSignIn.ForgotPasswordHeading}</button>\r\n </span>\r\n );\r\n if (validations.postalMismatch) messages.push((window as any).$StringResource__ValidationMessages_Required);\r\n if (validations.selectState) messages.push((window as any).$StringResource__ValidationMessages_Required);\r\n if (validations.passwordTooShort) messages.push((window as any).$StringResource__ValidationMessages_PasswordMustBe2Chars);\r\n if (validations.passwordTooLong) messages.push((window as any).$StringResource__ValidationMessages_PasswordCanBeNoLongerThan);\r\n if (validations.not18YearsOld) messages.push((window as any).$StringResource__ValidationMessages_MustBeAtLeast18);\r\n if (validations.illegalCharacter) messages.push((window as any).$StringResource__ValidationMessages_PasswordCantContainSpaces);\r\n if (validations.passwordMismatch) messages.push((window as any).$StringResource__ValidationMessages_PasswordsDontMatch);\r\n if (validations.noPostalCode) messages.push((window as any).$StringResource__ValidationMessages_FirstNameTooShort);\r\n if (validations.firstNameTooShort) messages.push((window as any).$StringResource__ValidationMessages_FirstNameTooShort);\r\n if (validations.lastNameTooShort) messages.push((window as any).$StringResource__ValidationMessages_LastNameTooShort);\r\n return messages;\r\n }\r\n\r\n private applyValidation(validation: FieldValidatorModel[]) {\r\n var i: number, sfCustomerFieldID: number;\r\n let validator: { [key: string]: { [key: string]: boolean } } = {};\r\n for (i = 0; i < validation.length; i += 1) {\r\n var field = this.sfCustomerAndFields.sfCustomerFields[validation[i].ObjectToApplyOn];\r\n if (validator[validation[i].ObjectToApplyOn] == null) {\r\n validator[validation[i].ObjectToApplyOn] = {};\r\n }\r\n validator[validation[i].ObjectToApplyOn][validation[i].ValidationMessage] = true;\r\n (field.Errors as any)[validation[i].ValidationMessage] = true;\r\n //TODO: This line is temporary and should be removed\r\n field.ErrorMessages = this.errorMessageToString(field.Errors);\r\n }\r\n this.sfCustomerAndFields.validations = validator;\r\n }\r\n\r\n /* This is a little misleading, as SHOW_ON_LOGIN is always false */\r\n customerNgIf(sfCustomerField: SfCustomerFieldModel, sfCustomerForm: SfCustomerAndFieldsModel) {\r\n return sfCustomerField != null &&\r\n (sfCustomerForm.sfCustomerFormType === CustomerFormType.REGISTRATION && sfCustomerField.SHOW_ON_REGISTRATION ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.EDIT_PROFILE && sfCustomerField.SHOW_ON_EDIT_PROFILE ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.GUEST && sfCustomerField.SHOW_FOR_GUEST ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.LOGIN &&\r\n (sfCustomerField.SF_CUSTOMER_FIELD_VALUE === \"PASSWORD_TO_BE_SENT\" || sfCustomerField.SF_CUSTOMER_FIELD_VALUE === \"EMAIL\") ||\r\n sfCustomerForm.sfCustomerFormType === CustomerFormType.EMAIL_ONLY && sfCustomerField.DATA_SOURCE_NAME === \"emailtextbox\"\r\n );\r\n }\r\n\r\n render() {\r\n return this.getMainContent();\r\n }\r\n\r\n getMainContent() {\r\n return <div>\r\n {(this.state.sfCustomerAndFields !== undefined &&\r\n this.getRegistrationForm(this.state.sfCustomerAndFields.sfCustomerFields)\r\n )}\r\n </div>\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n getRegistrationForm(sfCustomerFields: any) {\r\n var formContent;\r\n if (sfCustomerFields !== undefined) {\r\n formContent =\r\n <form name=\"registerForm\" className=\"register-form\" >\r\n {this.getFormElementsFromObjects(sfCustomerFields)}\r\n {this.getFormButtons()}\r\n </form>\r\n } else {\r\n return <></>;\r\n }\r\n return formContent;\r\n }\r\n getFormButtons(){\r\n var buttons = [];\r\n buttons.push(this.getCaptcha());\r\n buttons.push(\r\n <button key={20} className=\"sign-in__button button button--green button--expand\" \r\n onClick={evt => this.submitRegistration_CLICK()}\r\n type=\"button\">{(window as any).stringResourcesSignIn.Register}</button>); \r\n buttons.push(\r\n <button key={21} \r\n className=\"button button--grey button--expand\" \r\n onClick={() => this.props.cancel()}\r\n type=\"button\">{(window as any).stringResourcesSignIn.Cancel}</button>);\r\n return buttons;\r\n }\r\n\r\n getFormElementsFromObjects(sfCustomerFields: any) {\r\n var formElements = [];\r\n var keyIterator = 0;\r\n var self = this;\r\n for (var propName in sfCustomerFields) {\r\n var sfCustomerField = sfCustomerFields[propName] as SfCustomerFieldModel;\r\n formElements.push(\r\n <div key={keyIterator++}>\r\n <label>{sfCustomerField.SF_CUSTOMER_FIELD_TRANSLATION} \r\n {sfCustomerField.IS_REQUIRED ? <span className=\"required-marker\">*</span> : \"\"}\r\n </label>\r\n {self.getInputFieldBasedOnDataSourceType(sfCustomerField, keyIterator, propName)}\r\n {self.getErrors(sfCustomerField)}\r\n </div>\r\n )\r\n }\r\n return formElements;\r\n }\r\n\r\n getErrors(sfCustomerField: SfCustomerFieldModel) {\r\n var els = [];\r\n for (var error in sfCustomerField.ErrorMessages) {\r\n els.push(this.getSingleError(sfCustomerField.ErrorMessages[error]))\r\n }\r\n return els;\r\n }\r\n\r\n getSingleError(error: string | JSX.Element) {\r\n return <div className=\"sfCustomer-error\"> {error} </div>\r\n }\r\n\r\n getInputFieldBasedOnDataSourceType(sfCustomerField: SfCustomerFieldModel, indexId: number, propName: string) {\r\n if (sfCustomerField.DATA_SOURCE_NAME === 'emailtextbox') {\r\n return (\r\n <input name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} type=\"email\" id={'sfcustomerfield_' + indexId} className={'sfcustomer-input'}>\r\n\r\n </input>)\r\n } else if (sfCustomerField.DATA_SOURCE_NAME === 'textbox' || sfCustomerField.DATA_SOURCE_NAME === 'firstname' || sfCustomerField.DATA_SOURCE_NAME === 'lastname') {\r\n return (\r\n <input name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} type=\"text\" id={'sfcustomerfield_' + indexId} className={'sfcustomer-input'}>\r\n\r\n </input>)\r\n }\r\n else if (sfCustomerField.DATA_SOURCE_NAME === 'passwordbox' || sfCustomerField.DATA_SOURCE_NAME === 'confirmpasswordbox') {\r\n return (\r\n <input name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} type=\"password\" id={'sfcustomerfield_' + indexId} className={'sfcustomer-input'}>\r\n\r\n </input>)\r\n }\r\n else if (sfCustomerField.DATA_SOURCE_NAME === 'titleddl') {\r\n return (\r\n <select name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} className={'sfcustomer-input'}>\r\n <option value=\"\">{(window as any).stringResourcesSignIn.SelectATitle}</option>\r\n {this.getListOptionContent(sfCustomerField.DATA_SOURCE_OBJECT)}\r\n </select>)\r\n }\r\n else if (sfCustomerField.DATA_SOURCE_NAME === 'birthdatepicker') {\r\n return (\r\n <div id={'sfcustomerfield_' + indexId} className=\"bday-row\">\r\n <div style={{ display: 'none' }} className=\"bday-select\" key={indexId + 100}>\r\n <div className=\"select-input\">\r\n <select name={propName} className={'sfcustomer-input'} onChange={event => this.handleInputChangeObject(event, \"day\")}>\r\n <option value=\"\">{(window as any).stringResourcesSignIn.Day}</option>\r\n {this.getRangeOptionContent(sfCustomerField.DATA_SOURCE_OBJECT.dayRange.startDate,\r\n sfCustomerField.DATA_SOURCE_OBJECT.dayRange.endDate)}\r\n\r\n </select>\r\n\r\n <span className=\"select-icon\"><i className=\"fa fa-caret-up\"></i><i className=\"fa fa-caret-down\"></i></span>\r\n </div>\r\n </div>\r\n <div className=\"bday-select\" key={indexId + 101}>\r\n <div className=\"select-input\">\r\n <select name={propName} className={'sfcustomer-input'} onChange={event => this.handleInputChangeObject(event, \"month\")}>\r\n <option value=\"\">{(window as any).stringResourcesSignIn.Month}</option>\r\n {this.getListOptionContent(sfCustomerField.DATA_SOURCE_OBJECT.monthList, true)}\r\n\r\n </select>\r\n\r\n <span className=\"select-icon\"><i className=\"fa fa-caret-up\"></i><i className=\"fa fa-caret-down\"></i></span>\r\n </div>\r\n </div>\r\n <div style={{ display: 'none' }} className=\"bday-select\" key={indexId + 102} >\r\n <div className=\"select-input\">\r\n <select name={propName} className={'sfcustomer-input'} onChange={event => this.handleInputChangeObject(event, \"year\")} >\r\n <option value=\"\">{(window as any).stringResourcesSignIn.Year}</option>\r\n {this.getRangeOptionContent(sfCustomerField.DATA_SOURCE_OBJECT.yearRange.startDate,\r\n sfCustomerField.DATA_SOURCE_OBJECT.yearRange.endDate)}\r\n\r\n </select>\r\n\r\n <span className=\"select-icon\"><i className=\"fa fa-caret-up\"></i><i className=\"fa fa-caret-down\"></i></span>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n }\r\n else if (sfCustomerField.DATA_SOURCE_NAME === 'gendercheckbox') {\r\n return (\r\n <div className=\"regester-gender display-flex\">\r\n <div className=\"select-gender\">\r\n <input id=\"radio-register-male\" type=\"radio\" value=\"M\" name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} />\r\n <label className=\"display-flex\" htmlFor=\"radio-register-male\">\r\n <span className=\"radio-button flex-vertical-align-self\"></span>\r\n <span className=\"flex-vertical-align-self\">{(window as any).stringResourcesSignIn.Male}</span>\r\n </label>\r\n </div>\r\n <div className=\"select-gender\">\r\n <input id=\"radio-register-female\" type=\"radio\" value=\"F\" name={propName} onChange={evt => this.handleInputChange(evt)} onKeyUp={evt => this.check_KEYPRESS(evt)} />\r\n <label className=\"display-flex\" htmlFor=\"radio-register-female\">\r\n <span className=\"radio-button flex-vertical-align-self\"></span>\r\n <span className=\"flex-vertical-align-self\">{(window as any).stringResourcesSignIn.Female}</span>\r\n </label>\r\n </div>\r\n </div>\r\n );\r\n }\r\n return <></>;\r\n }\r\n\r\n getRangeOptionContent(from:number, to:number){\r\n var optionsArray = [];\r\n for(var i=from; i<=to; i++){\r\n optionsArray.push(<option value={i}>{i}</option>)\r\n }\r\n return optionsArray;\r\n }\r\n\r\n getListOptionContent(list: any, useKey?: boolean) {\r\n var optionsArray = [];\r\n for (var value in list) {\r\n if (useKey) {\r\n optionsArray.push(<option value={value}>{list[value]}</option>);\r\n } else {\r\n optionsArray.push(<option value={list[value]}>{list[value]}</option>)\r\n }\r\n }\r\n return optionsArray;\r\n }\r\n\r\n getRegisterContent() {\r\n if (this.sfCustomerAndFields.sfCustomerFields == null && !this._fieldsData_IsLoading && !this._fieldsDataLoaded) {\r\n this._fieldsData_IsLoading = true;\r\n this._serviceModel.postDataPromise(undefined, this._config.GetBaseUrl()\r\n + RegisterComponent.GetSfCustomerFieldsViaPOST_URL)\r\n .then(response => {\r\n this._fieldsData_IsLoading = false;\r\n if (response !== undefined && response.status === 200) {\r\n response.json()\r\n .then((result) => {\r\n if (result !== undefined && result.ResponseObject !== undefined)\r\n this.sfCustomerAndFields.sfCustomerFields = result.ResponseObject;\r\n //var objectKeys = Object.keys(result.ResponseObject);\r\n this.setState({\r\n sfCustomerAndFields: {\r\n sfCustomerFields: result.ResponseObject\r\n }\r\n });\r\n this._fieldsDataLoaded = true;\r\n });\r\n }\r\n }).catch((error) => {\r\n this._fieldsData_IsLoading = false;\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n loadCaptcha() {\r\n let siteKey: string;\r\n if (!(window as any).captchaEnabled) return;\r\n if (window.location.href.indexOf(\"biovea.website\") > -1) {\r\n siteKey = \"6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\";\r\n } else {\r\n siteKey = \"6LdxN1EcAAAAAPhz-fztJ1CCMucCDFzsJblrkUyl\";\r\n }\r\n var registerCaptcha = document.getElementById(\"register_captcha\");\r\n if (registerCaptcha == null && registerCaptcha.children.length > 0) return;\r\n try {\r\n (window as any).grecaptcha.render('register_captcha', {\r\n 'sitekey': siteKey,\r\n 'callback': (response) => {\r\n this.captchaError = false;\r\n this.forceUpdate();\r\n }\r\n });\r\n } catch (e) { }\r\n if (this.captchaCssHackIntervalId == null) {\r\n this.captchaCssHackIntervalId = setInterval(() => this.captchaCssHack(), 1000);\r\n }\r\n }\r\n\r\n captchaCssHackIntervalId: number | null;\r\n captchaCssHack() {\r\n let x = document.querySelectorAll(\".g-recaptcha-bubble-arrow ~ *, .g-recaptcha-bubble-arrow\");\r\n //if (x.length < 3) {\r\n // return;\r\n //}\r\n for (let y of (x as any)) { y.style.position = \"fixed\"; y.style.bottom = \"0\"; y.style.right = \"0\"; }\r\n //setTimeout(this.captchaCssHack, 1000);\r\n\r\n }\r\n\r\n getCaptcha() {\r\n setTimeout(() => {\r\n if ((window as any).captchaEnabled) {\r\n this.loadCaptcha();\r\n }\r\n }, 1000);\r\n return <>\r\n <div id=\"register_captcha\"></div>\r\n {\r\n this.captchaError && (window as any).captchaEnabled &&\r\n <div className=\"sfCustomer-error\"> <br />Captcha {(window as any).stringResourcesSignIn.Required} </div>\r\n }\r\n </>\r\n }\r\n}","module.exports = React;","module.exports = ReactDOM;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { LoginMainComponent } from \"./components/LoginMainComponent\";\r\n\r\ndeclare global {\r\n interface Window { renderLoginReact: any; }\r\n}\r\n\r\nwindow.renderLoginReact = function (div, props) {\r\n let component = React.createElement(LoginMainComponent, props);\r\n return ReactDOM.render(component, div);\r\n}"],"names":["CustomerFormType","validateDataSource","dataSourceName","dataSoureceObject","objectToValidate","sfCustomer","objectToApplyOn","LoginValidationService","BIRTHDATE_PICKER","this","validateBirthDate","PASSWORD_BOX","validatePassword","CONFIRM_PASSWORD_BOX","validateConfirmPassword","password","passwordErrorList","length","MIN_PASSWORD_LENGTH","push","ValidationMessage","ValidationMessages","passwordTooShort","ObjectToApplyOn","MAX_PASSWORD_LENGTH","passwordTooLong","i","ILLEGAL_PASSWORD_CHARACTER_LIST","indexOf","illegalCharacter","confirmPassword","customer","PASSWORD_TO_BE_SENT","passwordMismatch","validateGender","gender","VALID_GENDER_VALUES","birthdate","day","month","year","invalid","validateDDL","value","list","validateTitleDDL","title","titleList","customerNgIf","sfCustomerField","sfCustomerForm","sfCustomerFormType","REGISTRATION","SHOW_ON_REGISTRATION","EDIT_PROFILE","SHOW_ON_EDIT_PROFILE","GUEST","SHOW_FOR_GUEST","LOGIN","SF_CUSTOMER_FIELD_VALUE","validate","sfCustomerAndFields","skipDataSources","validationErrorList","sfCustomerFields","IS_REQUIRED","concat","DATA_SOURCE_NAME","DATA_SOURCE_OBJECT","exception","TITLE_DDL","SignInModel","EMAIL","SignInProperty","PASSWORD","KeepMeSignedIn","loginError","name","isRequired","suppliedValue","HasError","NAME","IsRequired","ForgotPassModel","responseMessage","undefined","requestSubmitted","required","alreadyRegistered","postalMismatch","selectState","not18YearsOld","noPostalCode","update","suppliedContext","context","Observer","ResponseCode","_baseURL","_storeFrontId","_isRestrictedSite","GetBaseUrl","window","GetBaseUrlFromDocumentMiddleware","get_StoreFrontId","$sfConfigModel","STORE_FRONT_ID","document","getElementById","get_IsRestrictedSite","IsRestrictedSite","SfConfigModel","postDataPromise","data","url","fetch","method","mode","cache","credentials","headers","body","JSON","stringify","then","response","catch","error","console","postJSONDataPromise","json","result","ServiceModel","props","captchaError","_signInModel","_forgotPassModel","state","isLoggedIn","renderValues","stateObserver","signInModel","forgotPassModel","submitLogin_CLICK","bind","handleInputChange","updateInputValue","revealForgotPassword","updateForgotPassInputValue","submitForgotPassword_CLICK","revealRegistration_CLICK","cancel","close","observer","id","Math","trunc","random","LoggedIn","$SfCustomerSubject","addObserver","componentDidMount","initObserverAndSubscribeToSfCustomerSubject","forgotPasswordCheck","componentWillUnmount","removeObserver","check_KEYUP","evt","code","keyCode","hasValidationErrors","Object","keys","forEach","key","signInProp","setState","cresponse","captchaEnabled","grecaptcha","getResponse","sendModel","Username","Password","CaptchaResponse","loginPostDataPromise","LoginMainComponent","LoginURL","reset","revealLogin","$ClientMiddleware","CheckLoginMiddleware","signInError","revealRegistration","revealForgotPass","log","email","ForgotPasswordURL","status","stringResourcesSignIn","PasswordSent","event","target","type","checked","localObserver","receiveNotification_SfCustomer_LoginReact","setTimeout","refObserver","self","CustomerID","render","getSignInContent","greeting","ForgotPasswordHeading","Register","SignIn","className","hasCloseButton","onClick","getSignInForm","getOKButtonContent","forgotPassRedirect","getForgotPasswordFieldContent","loginFields","Email","onChange","RequiredField","Submit","Cancel","contenForm","RegisterComponent","forgotPassword","getLoginFieldContent","getForgotPasswordButonContent","getSignInCreateAccountField","src","alt","$StringResource__ValidationMessages_txtPasswordDontMatchUser","onKeyUp","getCaptcha","htmlFor","KeepMe","LogIn","loadCaptcha","siteKey","location","href","logCaptcha","children","forceUpdate","e","Required","getForgotPasswordSubmitButton","ForgotYourPasswordQuestion","Or","CreateAnAccount","getElementsByTagName","React","Component","_config","validations","_serviceModel","_fieldsDataLoaded","_fieldsData_IsLoading","submitRegistration_CLICK","submitRegistration","getRegisterContent","removeInvalidToken","updateSfCustomerFieldsState","ErrorMessages","errorMessageToString","handleInputChangeObject","register","check_KEYPRESS","Promise","resolve","validateAndApply","CaptchaError","SessionAlreadyRegistered","ResponseObject","applyValidation","field","clientValidation","errs","Errors","messages","$StringResource__ValidationMessages_Required","$StringResource__ValidationMessages_InvalidInput","$StringResource__EmailAlreadyExists","$StringResource__ValidationMessages_PasswordMustBe2Chars","$StringResource__ValidationMessages_PasswordCanBeNoLongerThan","$StringResource__ValidationMessages_MustBeAtLeast18","$StringResource__ValidationMessages_PasswordCantContainSpaces","$StringResource__ValidationMessages_PasswordsDontMatch","$StringResource__ValidationMessages_FirstNameTooShort","firstNameTooShort","lastNameTooShort","$StringResource__ValidationMessages_LastNameTooShort","validation","validator","EMAIL_ONLY","getMainContent","getRegistrationForm","getFormElementsFromObjects","getFormButtons","buttons","formElements","keyIterator","propName","SF_CUSTOMER_FIELD_TRANSLATION","getInputFieldBasedOnDataSourceType","getErrors","els","getSingleError","indexId","SelectATitle","getListOptionContent","style","display","Day","getRangeOptionContent","dayRange","startDate","endDate","Month","monthList","Year","yearRange","Male","Female","from","to","optionsArray","useKey","GetSfCustomerFieldsViaPOST_URL","registerCaptcha","captchaCssHackIntervalId","setInterval","captchaCssHack","querySelectorAll","y","position","bottom","right","module","exports","ReactDOM","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","call","renderLoginReact","div","component","createElement"],"sourceRoot":""}