1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _regenerator = require('babel-runtime/regenerator');
|
8 |
|
9 | var _regenerator2 = _interopRequireDefault(_regenerator);
|
10 |
|
11 | var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
12 |
|
13 | var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
14 |
|
15 | var _react = require('react');
|
16 |
|
17 | var _react2 = _interopRequireDefault(_react);
|
18 |
|
19 | var _recompose = require('recompose');
|
20 |
|
21 | var _Button = require('./Button');
|
22 |
|
23 | var _Button2 = _interopRequireDefault(_Button);
|
24 |
|
25 | var _ErrorMessage = require('./ErrorMessage');
|
26 |
|
27 | var _ErrorMessage2 = _interopRequireDefault(_ErrorMessage);
|
28 |
|
29 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
30 |
|
31 | var SignInForm = function SignInForm(_ref) {
|
32 | var callback = _ref.callback,
|
33 | email = _ref.email,
|
34 | _ref$labels = _ref.labels,
|
35 | labels = _ref$labels === undefined ? {
|
36 | email: 'Email',
|
37 | password: 'Password',
|
38 | submit: 'Submit'
|
39 | } : _ref$labels,
|
40 | handleEmail = _ref.handleEmail,
|
41 | password = _ref.password,
|
42 | handlePassword = _ref.handlePassword,
|
43 | hasError = _ref.hasError,
|
44 | handleHasError = _ref.handleHasError,
|
45 | error = _ref.error,
|
46 | handleError = _ref.handleError,
|
47 | handleSignInWithEmailAndPassword = _ref.handleSignInWithEmailAndPassword;
|
48 |
|
49 | var handleSubmit = function () {
|
50 | var _ref2 = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee(e) {
|
51 | return _regenerator2.default.wrap(function _callee$(_context) {
|
52 | while (1) {
|
53 | switch (_context.prev = _context.next) {
|
54 | case 0:
|
55 | console.log('submit');
|
56 | e.preventDefault();
|
57 | _context.prev = 2;
|
58 | _context.next = 5;
|
59 | return handleSignInWithEmailAndPassword(email, password);
|
60 |
|
61 | case 5:
|
62 | _context.next = 7;
|
63 | return callback();
|
64 |
|
65 | case 7:
|
66 | _context.next = 9;
|
67 | return handleHasError(false);
|
68 |
|
69 | case 9:
|
70 | _context.next = 16;
|
71 | break;
|
72 |
|
73 | case 11:
|
74 | _context.prev = 11;
|
75 | _context.t0 = _context['catch'](2);
|
76 |
|
77 | handleError(_context.t0);
|
78 | handleHasError(true);
|
79 | console.error(_context.t0);
|
80 |
|
81 | case 16:
|
82 | case 'end':
|
83 | return _context.stop();
|
84 | }
|
85 | }
|
86 | }, _callee, undefined, [[2, 11]]);
|
87 | }));
|
88 |
|
89 | return function handleSubmit(_x) {
|
90 | return _ref2.apply(this, arguments);
|
91 | };
|
92 | }();
|
93 | var onChangeEmail = function onChangeEmail(_ref3) {
|
94 | var value = _ref3.target.value;
|
95 |
|
96 | handleEmail(value);
|
97 | };
|
98 | var onChangePassword = function onChangePassword(_ref4) {
|
99 | var value = _ref4.target.value;
|
100 |
|
101 | handlePassword(value);
|
102 | };
|
103 |
|
104 | return _react2.default.createElement(
|
105 | _react2.default.Fragment,
|
106 | null,
|
107 | _react2.default.createElement(
|
108 | 'form',
|
109 | { className: 'signinform', onSubmit: handleSubmit },
|
110 | _react2.default.createElement(
|
111 | 'div',
|
112 | { className: 'form__socket' },
|
113 | _react2.default.createElement('input', {
|
114 | 'data-testid': 'signinform-email',
|
115 | type: 'text',
|
116 | value: email,
|
117 | onChange: onChangeEmail,
|
118 | required: true
|
119 | }),
|
120 | _react2.default.createElement(
|
121 | 'label',
|
122 | null,
|
123 | labels.email
|
124 | ),
|
125 | _react2.default.createElement('span', { className: 'bar' })
|
126 | ),
|
127 | _react2.default.createElement(
|
128 | 'div',
|
129 | { className: 'form__socket' },
|
130 | _react2.default.createElement('input', {
|
131 | type: 'text',
|
132 | 'data-testid': 'signinform-password',
|
133 | value: password,
|
134 | onChange: onChangePassword,
|
135 | required: true
|
136 | }),
|
137 | _react2.default.createElement(
|
138 | 'label',
|
139 | null,
|
140 | labels.password
|
141 | ),
|
142 | _react2.default.createElement('span', { className: 'bar' })
|
143 | ),
|
144 | hasError && _react2.default.createElement(_ErrorMessage2.default, { code: error.code }),
|
145 | _react2.default.createElement(
|
146 | _Button2.default,
|
147 | {
|
148 | type: 'signin',
|
149 | dataTestId: 'signinform-submitbutton',
|
150 | onClick: function onClick(e) {
|
151 | console.log('clicked submit');
|
152 | handleSubmit(e);
|
153 | }
|
154 | },
|
155 | labels.submit
|
156 | ),
|
157 | ' ',
|
158 | _react2.default.createElement('input', {
|
159 | type: 'submit',
|
160 | style: { visibility: 'hidden', height: '0', position: 'fixed', left: '-9999' }
|
161 | })
|
162 | )
|
163 | );
|
164 | };
|
165 |
|
166 | SignInForm.propTypes = {
|
167 |
|
168 | };
|
169 |
|
170 | var enhance = (0, _recompose.compose)((0, _recompose.withState)('email', 'handleEmail', ''), (0, _recompose.withState)('password', 'handlePassword', ''), (0, _recompose.withState)('hasError', 'handleHasError', false), (0, _recompose.withState)('error', 'handleError', ''));
|
171 |
|
172 | exports.default = enhance(SignInForm); |
\ | No newline at end of file |