react-form-ui-y
Version:
131 lines (116 loc) • 4.47 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.formTypeDom = exports.verifyFn = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactSvgY = require('react-svg-y');
var _reactSvgY2 = _interopRequireDefault(_reactSvgY);
var _publicField = require('../publicField');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//checkbox 获取值
var getValue = function getValue(_this) {
var formDataValue = _this.props.formData[_this.props.dataType || "default"];
var inputData = formDataValue && formDataValue[_this.props.inputName];
return inputData && inputData.text ? inputData.text : [];
};
//checkbox 校验
//生产
var verifyFn = function verifyFn(_this) {
var required = _this.props.required || false,
initFocusState = _this.state.initFocusState,
value = getValue(_this);
var errorText = _this.props.errorText || "该值不能为空!";
var errorState = false;
var subVerifyRes = _this.props.subVerifyRes && _this.props.subVerifyRes[_this.props.dataType || "default"];
//如果是必填
if (required) {
if (subVerifyRes == "fail" || initFocusState == 1) {
if (!value.length) errorState = true;
} else {
errorState = false;
}
}
return { errorState: errorState, errorText: errorText };
};
/**
* checkbox value dom
*/
var formValueDom = function formValueDom(_this, styles, value, _theme) {
var UpSvgType = _this.props.upSvgType || "CheckboxUp";
var OnSvgType = _this.props.onSvgType || "CheckboxOn";
return _react2.default.createElement(
'div',
{ style: styles.checkboxBox },
_this.props.dataSource.map(function (item, index) {
return _react2.default.createElement(
'div',
{ key: index,
style: _this.props.disabled ? styles.checkboxItemDis : styles.checkboxItem,
onClick: _this.props.disabled ? null : _this.handleCheck.bind(undefined, item) },
value.indexOf(item.text) != -1 ? _react2.default.createElement(
'div',
{ style: styles.checkboxSvg },
_react2.default.createElement(_reactSvgY2.default, { type: OnSvgType, width: '1rem', height: '1rem',
fill: _this.props.disabled ? _theme.checkbox.svgFillDis : _theme.checkbox.svgFill })
) : _react2.default.createElement(
'div',
{ style: styles.checkboxSvg },
_react2.default.createElement(_reactSvgY2.default, { type: UpSvgType, width: '1rem', height: '1rem',
fill: _this.props.disabled ? _theme.checkbox.svgFillDis : _theme.checkbox.svgFill })
),
_react2.default.createElement(
'div',
{ style: styles.checkboxText },
item.text
)
);
})
);
};
/**
* formType 是 default 类型
* @param verifyFlag 校验返回值
*/
var defaultDom = function defaultDom(_this, styles, verifyFlag, _theme) {
if (!_this.props.inputName) {
return _react2.default.createElement(
'div',
null,
'inputName\u4E3A\u5FC5\u8981\u53C2\u6570'
);
}
return _react2.default.createElement(
'div',
{ style: styles.formBox },
(0, _publicField.formContDefault)(_this, styles, verifyFlag, getValue(_this), formValueDom, _theme),
(0, _publicField.defaultError)(verifyFlag, styles)
);
};
/**
* formType 是 box 类型
* @param verifyFlag 校验返回值
*/
var boxDom = function boxDom(_this, styles, verifyFlag, _theme) {
if (!_this.props.inputName) {
return _react2.default.createElement(
'div',
null,
'inputName\u4E3A\u5FC5\u8981\u53C2\u6570'
);
}
return _react2.default.createElement(
'div',
{ style: styles.formBox },
(0, _publicField.formContBox)(_this, styles, verifyFlag, getValue(_this), formValueDom, _theme),
(0, _publicField.boxError)(verifyFlag, styles)
);
};
var formTypeDom = {
defaultDom: defaultDom,
boxDom: boxDom
};
exports.verifyFn = verifyFn;
exports.formTypeDom = formTypeDom;
//# sourceMappingURL=subpage.js.map