{"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()}>&times;</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                &nbsp;\r\n                <button className=\"button button--tiny button--green\" onClick={e => this.props.cancel()}>{(window as any).stringResourcesSignIn.LogIn}</button>\r\n                &nbsp;\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}&nbsp;\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":""}