ming-demo3
Version:
mdf metaui web
162 lines (135 loc) • 5.71 kB
JavaScript
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 CheckableTag = _baseui.Tag.CheckableTag;
var TagRefer = function (_Component) {
(0, _inherits2["default"])(TagRefer, _Component);
function TagRefer(props) {
var _this;
(0, _classCallCheck2["default"])(this, TagRefer);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TagRefer).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function () {
var model = _this.props.model;
if (model && model.browse) model.browse(true);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "open", function (e) {
_this.referViewModel = e.vm;
_this.gridModel = e.vm.get('table');
_this.gridModel.addListener((0, _assertThisInitialized2["default"])(_this));
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setDataSource", function (dataSource) {
_this.setState({
dataSource: dataSource
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setValue", function (value) {
_this.setState({
value: value
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (value) {
var textField = _this.state.textField;
var index = _this.state.dataSource.findIndex(function (item) {
return item[textField] === value;
});
var referValue;
if (value == null) {
referValue = value;
} else {
_this.gridModel.select([index]);
referValue = _this.gridModel.getSelectedRows();
}
_this.referViewModel.execute('afterOkClick', referValue);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "baseControl", function () {
var _this$state = _this.state,
dataSource = _this$state.dataSource,
valueField = _this$state.valueField,
textField = _this$state.textField;
if (!dataSource || !dataSource.length) return null;
var CheckableTagList = [];
dataSource.forEach(function (item) {
var value = item[valueField],
text = item[textField];
var checked = text === _this.state.value;
CheckableTagList.push(_react["default"].createElement(CheckableTag, {
key: value,
checked: checked,
onChange: function onChange() {
return _this.onChange(text);
}
}, text));
});
return _react["default"].createElement("div", {
className: "tag-group"
}, CheckableTagList);
});
_this.state = {
bIsNull: props.bIsNull,
visible: !props.bHidden
};
_this.onClick();
return _this;
}
(0, _createClass2["default"])(TagRefer, [{
key: "componentDidMount",
value: function componentDidMount() {
if (this.props.model) this.props.model.addListener(this);
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {
if (this.props.model) this.props.model.addListener(this);
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
if (this.props.model) this.props.model.removeListener(this);
}
}, {
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.baseControl(),
title: title
}) : this.baseControl();
return control;
}
}, {
key: "render",
value: function render() {
var control = this.getControl();
var style = this.state.visible ? {} : {
display: "none"
};
var errClass = "basic-tag-refer has-feedback ".concat(this.state.classname || '', " ") + this.state.err;
return _react["default"].createElement("div", {
style: style,
className: errClass
}, control, _react["default"].createElement("div", {
className: "ant-form-explain"
}, this.state.msg));
}
}]);
return TagRefer;
}(_react.Component);
exports["default"] = TagRefer;
//# sourceMappingURL=tagrefer.js.map
;