react-misc-toolbox
Version:
- [ ] diagramexample | optimize creating from blank slate
117 lines (103 loc) • 3.51 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _recompose = require('recompose');
var _SinglePageModal = require('./SinglePageModal');
var _SinglePageModal2 = _interopRequireDefault(_SinglePageModal);
var _Button = require('./Button');
var _Button2 = _interopRequireDefault(_Button);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PasswordRecoveryModal = function PasswordRecoveryModal(_ref) {
var labels = _ref.labels,
handleSendPasswordResetEmail = _ref.handleSendPasswordResetEmail,
setEmail = _ref.setEmail,
email = _ref.email;
var recoverPassword = function recoverPassword() {
try {
handleSendPasswordResetEmail();
console.log('Password reset email sent to ' + email + '.');
} catch (e) {
console.log(e);
}
};
return _react2.default.createElement(_SinglePageModal2.default, {
modalDialogContainerClassNameAppend: 'passwordrecoverymodal__container',
renderTrigger: function renderTrigger(_ref2) {
var getTriggerProps = _ref2.getTriggerProps;
return _react2.default.createElement(
'div',
getTriggerProps(),
labels.trigger
);
},
renderHeader: function renderHeader(_ref3) {
var getHeaderProps = _ref3.getHeaderProps;
return _react2.default.createElement(
'div',
getHeaderProps(),
_react2.default.createElement(
'span',
null,
labels.header
)
);
},
renderBody: function renderBody(_ref4) {
var getBodyProps = _ref4.getBodyProps;
return _react2.default.createElement(
'div',
getBodyProps(),
_react2.default.createElement(
'form',
{ className: 'passwordrecoveryform', onSubmit: recoverPassword },
_react2.default.createElement(
'div',
{ className: 'form__socket' },
_react2.default.createElement('input', {
type: 'text',
required: true,
'data-testid': 'passwordrecoveryform-email',
value: email,
onChange: function onChange(e) {
return setEmail(e.target.value);
}
}),
_react2.default.createElement(
'label',
null,
labels.email
),
_react2.default.createElement('span', { className: 'bar' })
),
_react2.default.createElement(
_Button2.default,
{ onClick: recoverPassword, type: 'confirm' },
labels.submit
),
_react2.default.createElement('input', {
type: 'submit',
style: { visibility: 'hidden', height: '0', position: 'fixed', left: '-9999' }
})
)
);
}
});
};
PasswordRecoveryModal.propTypes = {};
PasswordRecoveryModal.defaultProps = {
handleSendPasswordResetEmail: function handleSendPasswordResetEmail() {
return console.log('handleSendPasswordResetEmail');
},
triggerClassNameOverride: '',
labels: {
trigger: 'recover your password',
header: 'recover your password',
email: 'enter your email',
submit: 'submit'
}
};
var enhance = (0, _recompose.compose)((0, _recompose.withState)('email', 'setEmail', ''), _recompose.pure);
exports.default = enhance(PasswordRecoveryModal);