tx-form-login
Version:
128 lines (105 loc) • 4.1 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
require('bootstrap/dist/css/bootstrap.min.css');
var _reactstrap = require('reactstrap');
require('./styles.css');
var _inputComponent = require('./component/input-component');
var _inputComponent2 = _interopRequireDefault(_inputComponent);
var _passwordComponent = require('./component/password-component');
var _passwordComponent2 = _interopRequireDefault(_passwordComponent);
var _buttonComponent = require('./component/button-component');
var _buttonComponent2 = _interopRequireDefault(_buttonComponent);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PasswordLevel = function PasswordLevel(score) {
console.log(score);
if (score === false) return null;
var config = { color: false, value: false };
switch (score) {
case 4:
config.color = "success";
config.value = "100";
break;
case 3:
config.color = "success";
config.value = "80";
break;
case 2:
config.color = "warning";
config.value = "60";
break;
case 1:
config.color = "danger";
config.value = "40";
break;
default:
config.color = "danger";
config.value = "20";
break;
}
return _react2.default.createElement(_reactstrap.Progress, { className: 'tx-login-password-strength-bar', color: config.color, value: config.value });
};
/* components */
var ShowHideCaption = function ShowHideCaption(show) {
if (!show) return "SHOW";
return "HIDE";
};
var Component = function Component(props) {
return _react2.default.createElement(
_reactstrap.Container,
null,
_react2.default.createElement(
_reactstrap.Row,
null,
_react2.default.createElement(
_reactstrap.Col,
null,
_react2.default.createElement(
_reactstrap.Form,
{ onSubmit: props.action },
_react2.default.createElement(
_reactstrap.FormGroup,
null,
_react2.default.createElement(
_reactstrap.Label,
{ 'for': props.config.name.username },
props.config.label.username
),
_react2.default.createElement(_inputComponent2.default, { id: props.config.name.username, name: props.config.name.username, className: props.option.css_input.username, type: props.config.types.username, placeholder: props.option.placeholder.username })
),
_react2.default.createElement(
_reactstrap.FormGroup,
null,
_react2.default.createElement(
_reactstrap.Label,
{ 'for': props.config.name.password },
props.config.label.password
),
_react2.default.createElement(
_reactstrap.InputGroup,
null,
_react2.default.createElement(_passwordComponent2.default, { passHandle: props.passHandle, id: props.config.name.password, name: props.config.name.password, className: props.option.css_input.password, type: props.pshConfig.type, placeholder: props.option.placeholder.password }),
_react2.default.createElement(
_reactstrap.InputGroupAddon,
{ addonType: 'append', onClick: props.pshHandle, className: 'tx-login-password-show-hide-password' },
ShowHideCaption(props.pshConfig.show)
)
)
),
_react2.default.createElement(
_reactstrap.FormGroup,
null,
PasswordLevel(props.pScore)
),
_react2.default.createElement(_buttonComponent2.default, { color: props.option.css_button.button_color, className: props.option.css_button.button, type: props.config.types.button, caption: props.config.label.button })
)
)
)
);
};
exports.default = Component;