UNPKG

ming-demo3

Version:
226 lines (194 loc) 7.22 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _baseui = require("@mdf/baseui"); var _label = _interopRequireDefault(require("./label")); var _text = _interopRequireDefault(require("./text")); var TextArea = _baseui.Input.TextArea; var TagArea = function (_Component) { (0, _inherits2["default"])(TagArea, _Component); function TagArea(props) { var _this; (0, _classCallCheck2["default"])(this, TagArea); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TagArea).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleInputChange", function (e) { var value = e && e.target ? e.target.value : e; _this.setState({ value: value }); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleInputBlur", function (e) { var value = e && e.target ? e.target.value : e; if (_this.props.model) { _this.modelSetValue(value); _this.props.model.execute('blur'); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPressEnter", function (e) { var value = e && e.target ? e.target.value : e; if (_this.props.model) { _this.modelSetValue(value); _this.props.model.execute('enter'); } }); var cStyle = props.cStyle; var config = null; if (cStyle) { try { config = JSON.parse(cStyle); } catch (e) { config = {}; } } _this.state = Object.assign({ bIsNull: props.bIsNull, visible: !props.bHidden, readOnly: props.readOnly, placeholder: props.placeholder || '', err: props.err || '', msg: props.msg || '' }, config); return _this; } (0, _createClass2["default"])(TagArea, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.model) this.props.model.addListener(this); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.props.model) this.props.model.removeListener(this); } }, { key: "modelSetValue", value: function modelSetValue(value) { if (!value) { this.props.model.setCheckMsg(); return; } var reg = /^[0-9A-Za-z\,]+$/; if (reg.test(value)) { this.props.model.setCheckMsg(); } else { this.props.model.setCheckMsg('输入不合法,请检查'); return; } value = value.split(','); var textField = this.state.textField; var newValue = [], hashValue = {}; value.forEach(function (item) { if (hashValue[item]) return; hashValue[item] = true; var obj = {}; obj[textField] = item; newValue.push(obj); }); this.props.model.setValue(newValue, true); } }, { key: "setValue", value: function setValue(value) { this.setState({ value: cb.utils.isArray(value) && value.join(',') }); } }, { key: "validate", value: function validate(val) { this.setState({ err: 'has-' + val.type, msg: val.message }); } }, { key: "baseControl", value: function baseControl() { var _this$state = this.state, readOnly = _this$state.readOnly, value = _this$state.value, placeholder = _this$state.placeholder, disabled = _this$state.disabled, before = _this$state.before, after = _this$state.after, bottom = _this$state.bottom; if (readOnly) return (0, _text["default"])(value); var props = { placeholder: placeholder, disabled: disabled, value: value, onBlur: this.handleInputBlur, onChange: this.handleInputChange }; var com = _react["default"].createElement(TextArea, props); if (!after && !bottom && !before) return com; return _react["default"].createElement("div", { className: "input-bottom" }, _react["default"].createElement("div", null, before && _react["default"].createElement("span", { className: "input-before" }, before), com, after && _react["default"].createElement("span", { className: "input-after" }, after)), bottom && _react["default"].createElement("div", { className: "input-bottom-text" }, bottom)); } }, { key: "relatedControl", value: function relatedControl() { var control = this.baseControl(); var relatedControl = this.props.relatedControl; if (!relatedControl) return control; return _react["default"].createElement("div", { className: "has-related" }, _react["default"].createElement("div", { className: "viewCell" }, control), relatedControl); } }, { key: "getControl", value: function getControl() { var cShowCaption = this.props.cShowCaption; var title = !this.state.readOnly && this.state.bIsNull === false && cShowCaption ? _react["default"].createElement("label", null, _react["default"].createElement(Icon, { type: "star" }), cShowCaption) : _react["default"].createElement("label", null, cShowCaption); var control = cShowCaption ? _react["default"].createElement(_label["default"], { control: this.relatedControl(), title: title }) : this.relatedControl(); return control; } }, { key: "render", value: function render() { var control = this.getControl(); var style = this.state.visible ? {} : { display: "none" }; var errClass = "basic-tagarea has-feedback ".concat(this.state.classname || '', " ") + this.state.err; return _react["default"].createElement("div", { style: style, className: errClass, onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave }, control, _react["default"].createElement("div", { className: "ant-form-explain" }, this.state.msg)); } }]); return TagArea; }(_react.Component); exports["default"] = TagArea; //# sourceMappingURL=tagarea.js.map