UNPKG

ming-demo3

Version:
229 lines (198 loc) 6.79 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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireWildcard(require("react")); var _baseui = require("@mdf/baseui"); var _label = _interopRequireDefault(require("./label")); var _text = _interopRequireDefault(require("./text")); var Option = _baseui.Select.Option; var ListRefer = function (_Component) { (0, _inherits2["default"])(ListRefer, _Component); function ListRefer(props) { var _this; (0, _classCallCheck2["default"])(this, ListRefer); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ListRefer).call(this, props)); _this.state = { bIsNull: props.bIsNull }; return _this; } (0, _createClass2["default"])(ListRefer, [{ key: "getModel", value: function getModel() { return this.props.model || this.model; } }, { key: "componentDidMount", value: function componentDidMount() { if (this.props.model) this.props.model.addListener(this); if (this.props.focus) this.refs.input.refs.input.focus(); } }, { key: "handleClick", value: function handleClick() { if (this.hasClicked) return; this.hasClicked = true; this.onClick(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { var model = this.getModel(); if (model) model.removeListener(this); } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (this.props.model) return; if (nextProps.value != this.state.value) this.setState({ value: nextProps.value }); } }, { key: "open", value: function open(e) { this.referViewModel = e.vm; this.gridModel = e.vm.get('table'); this.gridModel.addListener(this); if (typeof this.props.afterOkClick === 'function') this.referViewModel.on('afterOkClick', this.props.afterOkClick); } }, { key: "setValue", value: function setValue(value) { this.setState({ value: value }); } }, { key: "onClick", value: function onClick() { var model = this.getModel(); if (!model && this.props.cRefType) { this.model = new cb.models.ReferModel({ cRefType: this.props.cRefType, multiple: this.props.multiple, isList: this.props.isList ? true : false, value: this.props.value }); this.model.addListener(this); } model = this.getModel(); if (model && model.browse) model.browse(true); } }, { key: "handleJointQuery", value: function handleJointQuery() { var model = this.getModel(); if (!model && this.props.cRefType) { this.model = new cb.models.ReferModel({ cRefType: this.props.cRefType, multiple: this.props.multiple, isList: this.props.isList ? true : false, value: this.props.value }); this.model.addListener(this); } model = this.getModel(); if (model) model.fireEvent('jointQuery'); } }, { key: "onChange", value: function onChange(value) { var referValue; if (value == null) { referValue = value; } else { this.gridModel.select([value]); referValue = this.gridModel.getSelectedRows(); } this.referViewModel.execute('afterOkClick', referValue); } }, { key: "setDataSource", value: function setDataSource(dataSource) { this.setState({ dataSource: dataSource }); } }, { key: "baseControl", value: function baseControl() { var _this2 = this; var baseControl = null; if (this.state.readOnly) { baseControl = (0, _text["default"])(this.state.value); } else { var dataSource = this.state.dataSource || []; var titleField = this.state.textField || 'name'; var keyField = this.state.keyField || 'code'; var value = dataSource.findIndex(function (item) { return item[titleField] === _this2.state.value; }); if (value === -1) { value = this.state.value; } else { value = value.toString(); } var loop = function loop(data) { return data.map(function (item, index) { return _react["default"].createElement(Option, { value: index.toString() }, item[titleField]); }); }; var optionNodes = loop(dataSource); baseControl = _react["default"].createElement(_baseui.Select, { onFocus: function onFocus() { return _this2.handleClick(); }, value: value, allowClear: true, onChange: function onChange(value) { return _this2.onChange(value); } }, optionNodes); } return baseControl; } }, { key: "getControl", value: function getControl() { var _this3 = this; var _this$props = this.props, bJointQuery = _this$props.bJointQuery, cShowCaption = _this$props.cShowCaption; var title = bJointQuery ? _react["default"].createElement("a", { onClick: function onClick(e) { return _this3.handleJointQuery(e); } }, cShowCaption) : cShowCaption; title = !this.state.readOnly && this.state.bIsNull === false && cShowCaption ? _react["default"].createElement("label", null, _react["default"].createElement(_baseui.Icon, { type: "star" }), title) : _react["default"].createElement("label", null, title); var control = cShowCaption ? _react["default"].createElement(_label["default"], { control: this.baseControl(), title: title }) : this.baseControl(); return control; } }, { key: "render", value: function render() { var control = this.getControl(); return control; } }]); return ListRefer; }(_react.Component); exports["default"] = ListRefer; //# sourceMappingURL=listrefer2.js.map