zent
Version:
一套前端设计语言和基于React的实现
71 lines (59 loc) • 2.51 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('zent-utils/classnames');
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
exports['default'] = function (Control) {
return function (_ref) {
var _ref$required = _ref.required,
required = _ref$required === undefined ? false : _ref$required,
_ref$helpDesc = _ref.helpDesc,
helpDesc = _ref$helpDesc === undefined ? '' : _ref$helpDesc,
_ref$label = _ref.label,
label = _ref$label === undefined ? '' : _ref$label,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className,
props = _objectWithoutProperties(_ref, ['required', 'helpDesc', 'label', 'className']);
var showError = props.isTouched && props.error;
var groupClassName = (0, _classnames2['default'])(_defineProperty({
'zent-form__control-group': true,
'has-error': showError
}, className, true));
return _react2['default'].createElement(
'div',
{ className: groupClassName },
_react2['default'].createElement(
'label',
{ className: 'zent-form__control-label' },
required ? _react2['default'].createElement(
'em',
{ className: 'zent-form__required' },
'*'
) : null,
label
),
_react2['default'].createElement(
'div',
{ className: 'zent-form__controls' },
_react2['default'].createElement(Control, props),
showError && _react2['default'].createElement(
'p',
{ className: 'zent-form__error-desc' },
props.error
),
helpDesc && _react2['default'].createElement(
'p',
{ className: 'zent-form__help-desc' },
helpDesc
)
)
);
};
};
module.exports = exports['default'];