UNPKG

3.24 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _stringify = require('babel-runtime/core-js/json/stringify');
8
9var _stringify2 = _interopRequireDefault(_stringify);
10
11var _extends2 = require('babel-runtime/helpers/extends');
12
13var _extends3 = _interopRequireDefault(_extends2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _formik = require('formik');
20
21var _recompose = require('recompose');
22
23var _Form = require('./Form');
24
25var _Form2 = _interopRequireDefault(_Form);
26
27var _yup = require('yup');
28
29var Yup = _interopRequireWildcard(_yup);
30
31function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
32
33function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
35var SignInWithEmailAndPasswordForm = function SignInWithEmailAndPasswordForm(props) {
36 var labels = props.labels;
37
38 return _react2.default.createElement(
39 _Form2.default,
40 (0, _extends3.default)({}, props),
41 function (_ref) {
42 var renderTextInputSocket = _ref.renderTextInputSocket,
43 renderSubmitButton = _ref.renderSubmitButton;
44 return _react2.default.createElement(
45 _react.Fragment,
46 null,
47 renderTextInputSocket({ label: labels.email, type: 'email' }),
48 renderTextInputSocket({ label: labels.password, type: 'password' }),
49 renderSubmitButton({ label: labels.submit })
50 );
51 }
52 );
53};
54
55var enhance = (0, _recompose.compose)((0, _recompose.defaultProps)({
56 handleSignInWithEmailAndPassword: function handleSignInWithEmailAndPassword() {
57 return console.log('handleSignInWithEmailAndPassword');
58 },
59 labels: {
60 email: 'Email',
61 password: 'Password',
62 submit: 'Submit',
63 emailInvalid: 'emailInvalid',
64 emailRequired: 'emailRequired',
65 passwordRequired: 'passwordRequired',
66 passwordMinLength: 'passwordMinLength'
67 }
68}), (0, _recompose.withProps)({
69 email: '',
70 password: ''
71}), (0, _formik.withFormik)({
72 mapPropsToValues: function mapPropsToValues(_ref2) {
73 var email = _ref2.email,
74 password = _ref2.password;
75 return {
76 email: email,
77 password: password
78 };
79 },
80 validationSchema: function validationSchema(_ref3) {
81 var labels = _ref3.labels;
82
83 return Yup.object().shape({
84 email: Yup.string().email(labels.emailInvalid).required(labels.emailRequired),
85 password: Yup.string().required(labels.passwordRequired).min(2, labels.passwordMinLength)
86 });
87 },
88 handleSubmit: function handleSubmit(values, _ref4) {
89 var handleSignInWithEmailAndPassword = _ref4.props.handleSignInWithEmailAndPassword,
90 setSubmitting = _ref4.setSubmitting,
91 setFieldError = _ref4.setFieldError;
92
93 try {
94 console.log('Submit', (0, _stringify2.default)(values, null, 2));
95 handleSignInWithEmailAndPassword(values);
96 } catch (e) {
97 console.error(e);
98 setFieldError('firebase', e.message);
99 }
100 setSubmitting(false);
101 }
102}));
103
104exports.default = enhance(SignInWithEmailAndPasswordForm);
\No newline at end of file