UNPKG

backpack-ui

Version:
199 lines (156 loc) 6.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of"); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn"); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); var _inherits2 = require("babel-runtime/helpers/inherits"); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _reactValidateForm = require("react-validate-form"); var _reactValidateForm2 = _interopRequireDefault(_reactValidateForm); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _colors = require("../../styles/colors"); var _colors2 = _interopRequireDefault(_colors); var _validations = require("../../utils/validations"); var _input = require("../form/input"); var _input2 = _interopRequireDefault(_input); var _button = require("../button"); var _button2 = _interopRequireDefault(_button); var _errorMessages = require("../form/errorMessages"); var _errorMessages2 = _interopRequireDefault(_errorMessages); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var styles = { container: { textAlign: "center" }, inputContainer: { marginBottom: "23px" }, input: { borderBottom: "1px solid " + _colors2.default.borderPrimary } }; var LegacyForm = function (_React$Component) { (0, _inherits3.default)(LegacyForm, _React$Component); (0, _createClass3.default)(LegacyForm, null, [{ key: "setIdentifierType", value: function setIdentifierType(val) { return _validations.emailValidation.test(val) ? "email" : "username"; } }]); function LegacyForm(props) { (0, _classCallCheck3.default)(this, LegacyForm); var _this = (0, _possibleConstructorReturn3.default)(this, (LegacyForm.__proto__ || (0, _getPrototypeOf2.default)(LegacyForm)).call(this, props)); _this.state = { identifierValue: "", identifierType: "username", passwordValue: "", showErrors: false, valid: false }; _this.handleChange = _this.handleChange.bind(_this); return _this; } (0, _createClass3.default)(LegacyForm, [{ key: "handleChange", value: function handleChange(e, type) { var _setState; this.setState((_setState = {}, (0, _defineProperty3.default)(_setState, type + "Value", e.target.value), (0, _defineProperty3.default)(_setState, "identifierType", type === "identifier" ? LegacyForm.setIdentifierType(e.target.value) : this.state.identifierType), _setState)); } }, { key: "render", value: function render() { var _this2 = this; var qaHook = this.props.qaHook; return _react2.default.createElement( "div", { style: styles.container }, _react2.default.createElement( _reactValidateForm2.default, null, function (_ref) { var validate = _ref.validate, errorMessages = _ref.errorMessages; return _react2.default.createElement( "form", { "data-testid": qaHook ? "legacy-login-form" : null, action: _this2.props.authLink, ref: function ref(node) { _this2.form = node; }, method: "post" }, _react2.default.createElement( "div", { style: styles.inputContainer }, _react2.default.createElement("input", { type: "hidden", name: "user_identifier_type", value: _this2.state.identifierType }), _react2.default.createElement(_input2.default, { autoFocus: true, theme: "float", type: "text", name: "user_identifier", required: true, qaHook: qaHook, customStyles: styles.input, error: errorMessages.user_identifier && errorMessages.user_identifier.length > 0, placeholder: "Email or username", onChange: function onChange(e) { _this2.handleChange(e, "identifier"); }, onBlur: validate, value: _this2.state.identifierValue }), _react2.default.createElement(_input2.default, { theme: "float", type: "password", name: "password", placeholder: "Password", required: true, qaHook: qaHook, customStyles: styles.input, error: errorMessages.password && errorMessages.password.length > 0, onChange: function onChange(e) { _this2.handleChange(e, "password"); }, onBlur: validate, value: _this2.state.passwordValue }), errorMessages.user_identifier && errorMessages.user_identifier.length > 0 && _react2.default.createElement(_errorMessages2.default, { qaHook: qaHook, messages: ["Username/Email is required"] }), errorMessages.password && errorMessages.password.length > 0 && _react2.default.createElement(_errorMessages2.default, { qaHook: qaHook, messages: errorMessages.password }) ), _react2.default.createElement( _button2.default, { rounded: true, qaHook: qaHook }, "Submit" ) ); } ) ); } }]); return LegacyForm; }(_react2.default.Component); LegacyForm.propTypes = { authLink: _propTypes2.default.string.isRequired, qaHook: _propTypes2.default.bool }; LegacyForm.defaultProps = { qaHook: false }; exports.default = LegacyForm;