{"version":3,"sources":["pages/Password/index.js","pages/Password/PasswordContent.js","components/Password/index.js","components/Password/decorators.js","components/Password/Password.js","components/Password/form.js","pages/Password/permission.js"],"names":["page","PasswordContent","showOldPassword","showNewPassword","showConfirmPassword","values","props","addMessage","api","completeWorkflow","redirect","url","method","data","oldPassword","newPassword","autoUpdateWorkflows","window","dataLayer","push","event","action","text","type","MESSAGE_TYPE","SUCCESS","entMobile","dispatch","ENT_MOBILE_ACTION","BIOMETRIC_SUBMIT_SUCCESS","payload","password","finishUrl","WORKFLOW","CHANGE_PASSWORD","message","BIOMETRIC_SUBMIT_ERROR","error","state","setState","this","className","Password","onSubmit","submit","showOldPasswordClick","showNewPasswordClick","showConfirmPasswordClick","Component","propTypes","PropTypes","func","isRequired","defaultProps","compose","requirePermission","permissionConfig","withApi","withMessages","withRouter","withWorkflow","withFormik","registrationKey","useEffect","document","getElementsByName","f","classList","add","Module","Head","Body","Formik","initialValues","getInitialValues","validationSchema","getValidationSchema","handleSubmit","isSubmitting","isValid","ScrollToFirstError","TextField","name","label","maxLength","note","ShowHideLink","onClick","show","fieldName","fieldDescription","autoFocus","PasswordField","Button","disabled","string","bool","undefined","confirm","componentDidMount","Yup","object","required","getPasswordSchema","notOneOf","ref","oneOf","selector","createSelector","selectUserRole","USER_ROLE","QUICK_LOGIN_AUTHENTICATED","quickLogin"],"mappings":"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","file":"js/76.3ad8877f.js","sourcesContent":["import { page } from '~/hocs';\n\nimport PasswordContent from './PasswordContent';\n\nexport default page()(PasswordContent);\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { compose } from 'redux';\n\nimport { ENT_MOBILE_ACTION, MESSAGE_TYPE, WORKFLOW } from '~/constants';\nimport { entMobile } from '~/common';\nimport { requirePermission, withApi, withMessages, withRouter, withWorkflow } from '~/hocs';\nimport { Password } from '~/components/Password';\n\nimport permissionConfig from './permission';\n\nclass PasswordContent extends Component {\n state = {\n showOldPassword: false,\n showNewPassword: false,\n showConfirmPassword: false,\n };\n\n submit = async values => {\n const { addMessage, api, completeWorkflow, redirect } = this.props;\n\n try {\n await api({\n url: '/Banking/api/user/password',\n method: 'POST',\n data: {\n oldPassword: values.oldPassword,\n newPassword: values.newPassword,\n },\n autoUpdateWorkflows: false,\n });\n\n window.dataLayer.push({\n event: 'Custom Event',\n action: 'Password Changed',\n });\n\n addMessage({ text: 'Your Password has been changed.', type: MESSAGE_TYPE.SUCCESS });\n entMobile.dispatch({\n type: ENT_MOBILE_ACTION.BIOMETRIC_SUBMIT_SUCCESS,\n payload: { password: values.newPassword },\n });\n\n const finishUrl = completeWorkflow(WORKFLOW.CHANGE_PASSWORD);\n redirect(finishUrl || '/Banking/app/profile');\n } catch (e) {\n addMessage({ text: e.message });\n entMobile.dispatch({\n type: ENT_MOBILE_ACTION.BIOMETRIC_SUBMIT_ERROR,\n payload: { error: e.message },\n });\n }\n };\n\n showOldPasswordClick = () => {\n const { showOldPassword } = this.state;\n this.setState({ showOldPassword: !showOldPassword });\n };\n\n showNewPasswordClick = () => {\n const { showNewPassword } = this.state;\n this.setState({ showNewPassword: !showNewPassword });\n };\n\n showConfirmPasswordClick = () => {\n const { showConfirmPassword } = this.state;\n this.setState({ showConfirmPassword: !showConfirmPassword });\n }\n\n render() {\n const { showOldPassword, showNewPassword, showConfirmPassword } = this.state;\n return (\n
\n \n
\n );\n }\n}\nPasswordContent.propTypes = {\n // withApi\n api: PropTypes.func.isRequired,\n // withMessages\n addMessage: PropTypes.func.isRequired,\n // withRouter\n redirect: PropTypes.func.isRequired,\n // withWorkflow\n completeWorkflow: PropTypes.func.isRequired,\n};\n\nPasswordContent.defaultProps = {};\n\nexport default compose(\n requirePermission(permissionConfig),\n withApi(),\n withMessages(),\n withRouter(),\n withWorkflow()\n)(PasswordContent);\n","import decorator from './decorators';\nimport Component from './Password';\n\nexport const Password = decorator(Component);\n","import { withFormik } from '~/hocs/withFormik';\n\nexport default withFormik();\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Formik } from 'formik';\nimport { Button, ScrollToFirstError, TextField } from '@ent/fields';\nimport { Module } from '@ent/component';\n\nimport { getInitialValues, getValidationSchema } from './form';\n\nimport { ShowHideLink, PasswordField } from '~/common';\n\nimport './styles.scss';\n\nconst Password = ({\n onSubmit,\n registrationKey,\n showOldPassword,\n showOldPasswordClick,\n showNewPassword,\n showNewPasswordClick,\n showConfirmPassword,\n showConfirmPasswordClick,\n}) => {\n useEffect(() => {\n document.getElementsByName('oldPassword').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n document.getElementsByName('newPassword').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n document.getElementsByName('confirm').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n }, []);\n\n return (\n \n \n

Change Password

\n
\n \n \n {({ handleSubmit, isSubmitting, isValid }) => (\n
\n \n \n )}\n autoFocus />\n \n )} />\n \n )} />\n
\n \n Update\n \n
\n \n )}\n \n
\n
\n);\n};\n\nPassword.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n registrationKey: PropTypes.string,\n showOldPassword: PropTypes.bool.isRequired,\n showOldPasswordClick: PropTypes.func.isRequired,\n showNewPassword: PropTypes.bool.isRequired,\n showNewPasswordClick: PropTypes.func.isRequired,\n showConfirmPassword: PropTypes.bool.isRequired,\n showConfirmPasswordClick: PropTypes.func.isRequired,\n};\n\nPassword.defaultProps = { registrationKey: undefined };\n\nexport default Password;\n","import * as Yup from 'yup';\nimport { getPasswordSchema } from '@ent/fields';\n\nexport const getInitialValues = initialValues => ({\n oldPassword: '',\n newPassword: '',\n confirm: '',\n ...initialValues,\n\n componentDidMount() {\n document.getElementsByName('oldPassword').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n document.getElementsByName('newPassword').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n document.getElementsByName('confirm').forEach(f => f.classList.add('sm_cobrowsing_masked_field'));\n },\n});\n\n// prettier-ignore\nexport const getValidationSchema = registrationKey => Yup.object({\n oldPassword: Yup.string().required('Required'),\n newPassword: getPasswordSchema(registrationKey)\n .notOneOf([Yup.ref('oldPassword')], 'Unchanged'),\n confirm: Yup.string()\n .required('Required')\n .oneOf([Yup.ref('newPassword')], 'Mismatch'),\n});\n","import { createSelector } from 'reselect';\n\nimport { USER_ROLE } from '~/constants';\nimport { selectUserRole } from '~/store/user';\n\nexport default {\n selector: createSelector(selectUserRole(USER_ROLE.QUICK_LOGIN_AUTHENTICATED), quickLogin => !quickLogin),\n url: '/Banking/app/profile',\n message: 'Inadequate permission.',\n};\n"],"sourceRoot":""}