{"version":3,"sources":["app/components/LoaderControl/LoaderControl.jsx","app/components/Login/Login.jsx","app/containers/LoginContainer/index.js","app/pages/loginpage/index.js"],"names":["withTranslation","_ref","t","_ref$size","size","React","createElement","className","classNames","Loader","type","color","height","width","Login","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","login","Promise","resolve","reject","loginPromise","handleOnSubmit","event","_this$props","history","actionAuthentication","initStart","setEmptyInfoMessage","getInitialData","getDialogs","_this$state$credentia","state","credentials","username","password","rememberMe","preventDefault","logout","setState","inProcess","then","InitService","instance","init","location","MenuService","removeMenu","TYPE_MENU","header","pathname","from","newPath","RoleManager","isAuthorized","ROLES_MANAGER_TYPE","menu","getFirstAuthorizedLink","check","InfoMessageService","checkAction","message","push","catch","error","isEmailRequired","isNotValidEmail","isPasswordRequired","bind","_assertThisInitialized","_createClass","key","value","this","isUnmount","isAuthenticated","i18n","changeLanguage","environment","defaultLanguage","_this2","_this$props2","name","onSubmit","placeholder","onChange","e","_objectSpread","currentTarget","href","Waiter","WAITER_TYPES","button","useClass","spanText","handleOnClick","LoaderControl","Component","withRouter","connect","authentication","dispatch","data","createAction","AUTHENTICATION","INIT_START","actionSetEmptyInfoMessage","GET_INITIAL_DATA","GET_DIALOGS_SUPPORT","useTranslation","id","rtl","isRTL"],"mappings":"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","file":"static/js/14.6d8d05b9.chunk.js","sourcesContent":["import React from \"react\";\nimport Loader from \"react-loader-spinner\";\nimport { withTranslation } from \"react-i18next\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nconst LoaderControl = ({ t, size = 100 }) => (\n <div className={classNames(\"loaderControl\")}>\n <div className={classNames(\"title\")}>{t(\"basic.LOADING_LABEL\")}</div>\n <Loader type=\"Bars\" color=\"#007aff\" height={size} width={size} />\n </div>\n)\n\nexport default withTranslation()(LoaderControl);","import React from \"react\";\nimport environment from \"environment\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport i18n from \"../../../i18n\";\n\nimport MenuService from \"../../../services/menu\";\nimport InfoMessageService from \"../../../services/infoMessage\";\nimport RoleManager from \"../../../services/roleManage\";\nimport InitService from \"../../../services/initService\";\nimport { ROLES_MANAGER_TYPE, TYPE_MENU, WAITER_TYPES } from \"../../../utils/enums\";\nimport { logout } from \"../../../utils/auth-util\";\n\nimport Waiter from \"../Waiter/Waiter\";\nimport LoaderControl from \"../LoaderControl\";\n\nclass Login extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isEmailRequired: false,\n isNotValidEmail: false,\n isPasswordRequired: false,\n credentials: {\n username: \"\",\n password: \"\",\n rememberMe: false\n },\n inProcess: false\n };\n\n this.handleOnSubmit = this.handleOnSubmit.bind(this);\n }\n\n componentWillUnmount() {\n this.isUnmount = true;\n }\n\n componentDidMount() {\n if(!this.props.isAuthenticated){\n i18n.changeLanguage(environment.defaultLanguage);\n }\n\n if(this.state.inProcess) {\n this.setState({ inProcess: false });\n }\n }\n\n login = () => new Promise((resolve, reject) => (this.loginPromise = { resolve, reject }));\n\n handleOnSubmit = event => {\n const { history, actionAuthentication, initStart, setEmptyInfoMessage, getInitialData, getDialogs } = this.props;\n const { username, password, rememberMe } = this.state.credentials;\n\n if(event && event.preventDefault) {\n event.preventDefault();\n }\n\n logout();\n this.setState({ inProcess: true }, ()=> {\n actionAuthentication({ username, password, rememberMe })\n .then(() => {\n InitService.instance.init();\n\n initStart().then(() => {\n const { state } = this.props.location;\n getInitialData();\n MenuService.instance.removeMenu(TYPE_MENU.header);\n const pathname = (state && state.from && state.from.pathname) || \"/\";\n const newPath = RoleManager.instance.isAuthorized(ROLES_MANAGER_TYPE.menu, pathname)\n ? pathname\n : RoleManager.instance.getFirstAuthorizedLink();\n const check = InfoMessageService.instance.checkAction(newPath);\n if(check) {\n setEmptyInfoMessage({ message: check.message });\n history.push(check.pathname);\n } else {\n history.push(newPath);\n }\n this.loginPromise.resolve();\n }, ()=> {\n this.loginPromise.reject();\n this.setState({ inProcess: false });\n }).then(() => {\n getDialogs()\n });\n })\n .catch(error => {\n this.loginPromise.reject(error);\n this.setState({ inProcess: false });\n });\n });\n };\n\n render() {\n const { inProcess } = this.state;\n const { t, isAuthenticated } = this.props;\n\n return (\n <div className={classNames(\"login-wrapper\", { inProcess: inProcess || isAuthenticated })}>\n {!inProcess && !isAuthenticated && (\n <form name=\"loginForm\" className=\"form-signin\" onSubmit={this.handleOnSubmit}>\n <div className=\"logo-title\">\n <label className=\"form-signin-heading\">{t(\"login.LOGIN_LABEL\")}</label>\n </div>\n <input type=\"text\" name=\"username\" placeholder=\"Username\" value={this.state.credentials.username}\n className=\"form-control\"\n onChange={e => this.setState({ credentials: { ...this.state.credentials, username: e.currentTarget.value } })}\n />\n {this.state.isEmailRequired && (<p className=\"help-inline\">Field email is required.</p>)}\n {this.state.isNotValidEmail && (<p className=\"help-inline\">Enter a valid email.</p>)}\n <input type=\"password\" name=\"password\" placeholder=\"Password\" value={this.state.credentials.password}\n className=\"form-control\"\n onChange={e => this.setState({ credentials: { ...this.state.credentials, password: e.currentTarget.value } })}\n />\n {this.state.isPasswordRequired && (<p className=\"help-block\">Field password is required.</p>)}\n <div className=\"forgot-password\">\n <a href=\"/login\">Forgot your password?</a>\n </div>\n <div className=\"btn-block\">\n <div className=\"remember\">\n <label className=\"checkContainer\">\n <input type=\"checkbox\" value={this.state.credentials.rememberMe}\n onChange={() => this.setState({ credentials: {\n ...this.state.credentials,\n rememberMe: !this.state.credentials.rememberMe\n }})}\n />\n <span className=\"checkmark\" />\n </label>\n <span className=\"remember-me\">{t(\"login.REMEMBER_ME_LABEL\")}</span>\n </div>\n <Waiter type={WAITER_TYPES.button} useClass=\"btn-login\" spanText={t(\"login.LOGIN_BUTTON_LABEL\")}\n handleOnClick={this.login}\n />\n </div>\n </form>\n )}\n {(inProcess || isAuthenticated) && (<LoaderControl />)}\n </div>\n );\n }\n}\n\nexport default Login;\n","import { connect } from \"react-redux\";\nimport { withTranslation } from \"react-i18next\";\nimport { withRouter } from \"react-router\";\n\nimport { createAction } from \"../../../utils/sagaHelper\";\n\nimport { AUTHENTICATION } from \"../../../store/reducers/authentication/authentication-actions\";\nimport { INIT_START } from \"../../../store/reducers/init/init-actions\";\nimport { actionSetEmptyInfoMessage } from \"../../../store/reducers/emptyInfo/emptyInfo-actions\";\nimport { GET_INITIAL_DATA } from \"../../../store/reducers/common-actions\";\n\nimport Login from \"../../components/Login/Login\";\nimport { GET_DIALOGS_SUPPORT } from '../../../store/reducers/supportChat/supprtChat-actions.js';\n\nconst mapStateToProps = state => {\n return {\n isAuthenticated: state.authentication.isAuthenticated\n };\n};\n\nconst mapDispatchToProps = dispatch => {\n return {\n actionAuthentication: data => dispatch(createAction(AUTHENTICATION, data)),\n initStart: data => dispatch(createAction(INIT_START, data)),\n setEmptyInfoMessage: data=> dispatch(actionSetEmptyInfoMessage(data)),\n getInitialData: ()=> dispatch(createAction(GET_INITIAL_DATA, {})),\n getDialogs: () => dispatch(createAction(GET_DIALOGS_SUPPORT, {}))\n };\n};\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withTranslation()(Login)));\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport \"./index.scss\";\n\nimport { isRTL } from \"../../../services/userModel\";\n\nimport Login from \"../../containers/LoginContainer\";\nimport {useTranslation} from \"react-i18next\";\n\nexport default () => {\n const {t} = useTranslation();\n\n return (\n <section id=\"login\" className={classNames({ rtl: isRTL() })}>\n <section id=\"login-header\" />\n <section id=\"login-content\">\n <Login />\n </section>\n <section className=\"login-footer\">\n {t(\"copyright.LABEL\")}\n </section>\n </section>\n )\n};"],"sourceRoot":""}