UNPKG

12.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/auth/LoginComp.js"],"names":["errorStyle","color","LoginError","div","validate","isReset","userName","password","newPassword","newConfirmPassword","userNameError","undefined","passwordError","newPasswordError","newConfirmPasswordError","passwordLength","trim","length","passwordNum","match","passwordUpper","passwordLower","isValid","val","_","value","LoginComp","state","props","setFieldValue","name","setState","clearLoginError","loginClicked","e","preventDefault","doLogin","reset","msg","console","log","keyDown","keyCode","style","className","loading","initialErrorMsg","loginError","errorMsg","message","Component"],"mappings":"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","file":"LoginComp.js","sourcesContent":["import React from 'react'\nimport { Form, Button, Input } from 'semantic-ui-react'\nimport R from 'ramda'\nimport styled from 'styled-components'\n\nconst errorStyle = {\n color: 'brown',\n}\n\nconst LoginError = styled.div`\n color: brown;\n font-weight: bold;\n margin-bottom: 0.5em;\n`\n\nconst validate = ({ userName, password, newPassword, newConfirmPassword }, isReset) => ({\n userNameError: R.isNil(userName) || R.isEmpty(userName) ? 'User name must be entered' : undefined,\n passwordError: R.isNil(password) || R.isEmpty(password) ? 'Password must be entered' : undefined,\n newPasswordError: !isReset\n ? undefined\n : R.isNil(newPassword) || R.isEmpty(newPassword)\n ? 'New Password must be entered'\n : newPassword !== newConfirmPassword\n ? 'New Password does not confirm password'\n : undefined,\n newConfirmPasswordError: !isReset\n ? undefined\n : R.isNil(newConfirmPassword) || R.isEmpty(newConfirmPassword)\n ? 'Password Confirm must be entered'\n : newPassword !== newConfirmPassword\n ? 'Password confirm does not match password'\n : undefined,\n passwordLength: isReset && newPassword != null && newPassword.trim().length < 6,\n passwordNum: isReset && newPassword != null && !newPassword.match(/\\s*[0-9]+\\s*/),\n passwordUpper: isReset && newPassword != null && !newPassword.match(/\\s*[A-Z]+\\s*/),\n passwordLower: isReset && newPassword != null && !newPassword.match(/\\s*[a-z]+\\s*/),\n})\n\nconst isValid = R.compose(R.all(val => !val), R.map(([_, value]) => value), R.toPairs)\n\nclass LoginComp extends React.Component {\n state = { userName: this.props.userName }\n setFieldValue = (_, { name, value }) => {\n this.setState(state => ({\n [name]: value,\n userNameError: name === 'userName' ? null : state.userNameError,\n passwordError: name === 'password' ? null : state.passwordError,\n newPasswordError: name === 'newPassword' ? null : state.newPasswordError,\n newConfirmPasswordError: name === 'newConfirmPassword' ? null : state.newConfirmPasswordError,\n passwordLength:\n name === 'newPassword' && state.isReset && value != null && value.trim().length < 6,\n passwordNum:\n name === 'newPassword' && state.isReset && value != null && !value.match(/\\s*[0-9]+\\s*/),\n passwordUpper:\n name === 'newPassword' && state.isReset && value != null && !value.match(/\\s*[A-Z]+\\s*/),\n passwordLower:\n name === 'newPassword' && state.isReset && value != null && !value.match(/\\s*[a-z]+\\s*/),\n }))\n if (this.props.clearLoginError) {\n this.props.clearLoginError()\n }\n }\n\n loginClicked = e => {\n e.preventDefault()\n const { doLogin, reset } = this.props\n // const { userName, password } = this.state || {}\n const msg = validate(this.state, reset)\n console.log(msg)\n if (isValid(msg)) {\n doLogin && doLogin(this.state)\n } else {\n this.setState(msg)\n }\n }\n\n keyDown = e => {\n if (e.keyCode === 13) {\n this.loginClicked(e)\n }\n }\n\n render() {\n const {\n password,\n userName,\n userNameError,\n passwordError,\n newPassword,\n newConfirmPassword,\n newPasswordError,\n newConfirmPasswordError,\n passwordLength,\n passwordNum,\n passwordUpper,\n passwordLower,\n } = this.state\n const { style, className, loading, initialErrorMsg, loginError, reset } = this.props\n return (\n <Form style={style} className={className}>\n <Form.Field>\n <label>User Name</label>\n <Input\n value={userName || ''}\n onChange={this.setFieldValue}\n name=\"userName\"\n placeholder=\"User Name\"\n disabled={reset}\n error={!R.isNil(userNameError)}\n />\n {userNameError && <label style={errorStyle}>{userNameError}</label>}\n </Form.Field>\n <Form.Field>\n <label>Password</label>\n <Input\n value={password || ''}\n onChange={this.setFieldValue}\n name=\"password\"\n type=\"password\"\n placeholder=\"Password\"\n error={!R.isNil(passwordError)}\n onKeyDown={this.keyDown}\n />\n {passwordError && <label style={errorStyle}>{passwordError}</label>}\n </Form.Field>\n {reset && (\n <Form.Field>\n <label>New Password</label>\n <Input\n value={newPassword || ''}\n onChange={this.setFieldValue}\n name=\"newPassword\"\n type=\"password\"\n placeholder=\"New Password\"\n error={!R.isNil(newPasswordError)}\n onKeyDown={this.keyDown}\n />\n {newPasswordError && <label style={errorStyle}>{newPasswordError}</label>}\n </Form.Field>\n )}\n {reset && (\n <Form.Field>\n <label>Confirm New Password</label>\n <Input\n value={newConfirmPassword || ''}\n onChange={this.setFieldValue}\n name=\"newConfirmPassword\"\n type=\"password\"\n placeholder=\"Confirm New Password\"\n error={!R.isNil(newConfirmPasswordError)}\n onKeyDown={this.keyDown}\n />\n {newConfirmPasswordError && <label style={errorStyle}>{newConfirmPasswordError}</label>}\n </Form.Field>\n )}\n {loginError && (loginError.errorMsg || loginError.message) ? (\n <LoginError>{loginError.errorMsg || loginError.message}</LoginError>\n ) : (\n initialErrorMsg && <LoginError>{initialErrorMsg}</LoginError>\n )}\n {reset && (\n <LoginError>Your Pasword is expired. Please update password to continue.</LoginError>\n )}\n {passwordNum && <LoginError>New password must contain at least 1 number</LoginError>}\n {passwordLength && (\n <LoginError>New password must be at least 6 letters or digits</LoginError>\n )}\n {passwordUpper && (\n <LoginError>New password must contain at least 1 upper case letter</LoginError>\n )}\n {passwordLower && (\n <LoginError>New password must contain at least 1 lower case letter</LoginError>\n )}\n <Button\n loading={loading}\n onClick={this.loginClicked}\n fluid\n primary\n data-testid=\"loginButton\"\n >\n {reset ? 'Update Password' : 'Login'}\n </Button>\n </Form>\n )\n }\n}\n\nexport default LoginComp\n"]}
\No newline at end of file