ming-demo3
Version:
mdf metaui web
181 lines (157 loc) • 5.69 kB
JavaScript
"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 CheckGroup = _baseui.Checkbox.Group;
var CheckboxGroup = function (_Component) {
(0, _inherits2["default"])(CheckboxGroup, _Component);
function CheckboxGroup(props) {
var _this;
(0, _classCallCheck2["default"])(this, CheckboxGroup);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CheckboxGroup).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (checkedValues) {
if (!_this.props.model) return;
var _this$state = _this.state,
refCode = _this$state.refCode,
dataSource = _this$state.dataSource;
if (refCode) {
_this.gridModel.select(checkedValues);
_this.referViewModel.execute('afterOkClick', _this.gridModel.getSelectedRows());
} else {
var values = [];
checkedValues.forEach(function (index) {
values.push(dataSource[index]);
});
_this.props.model.setValue(values, true);
}
});
_this.state = {
refCode: props.cRefType ? true : false,
visible: !props.bHidden,
bIsNull: props.bIsNull,
readOnly: false,
disabled: false
};
return _this;
}
(0, _createClass2["default"])(CheckboxGroup, [{
key: "componentDidMount",
value: function componentDidMount() {
if (this.props.model) this.props.model.addListener(this);
this.onClick();
}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
if (this.props.model) this.props.model.removeListener(this);
}
}, {
key: "setListenerState",
value: function setListenerState(params) {
var value = params.value;
delete params.valueField;
delete params.textField;
delete params.value;
this.setState(params);
this.setValue(value);
}
}, {
key: "onClick",
value: function onClick() {
var model = this.props.model;
if (model && model.browse) model.browse();
}
}, {
key: "open",
value: function open(e) {
this.referViewModel = e.vm;
this.gridModel = e.vm.get('table');
this.gridModel.addListener(this);
}
}, {
key: "setValue",
value: function setValue(value) {
this.setState({
value: value
});
}
}, {
key: "setDataSource",
value: function setDataSource(dataSource) {
this.setState({
dataSource: dataSource
});
}
}, {
key: "baseControl",
value: function baseControl() {
var _this2 = this;
var dataSource = this.state.dataSource || [];
var titleField = this.state.titleField || 'name';
var options = [];
var value = [];
var readOnly = this.state.readOnly;
var labels = [];
dataSource.forEach(function (item, index) {
var title = item[titleField];
var key = index.toString();
options.push({
label: title,
value: key,
disabled: _this2.state.disabled || item.disabled
});
if (!_this2.state.value || _this2.state.value.indexOf(title) === -1) return;
value.push(key);
labels.push(title);
});
if (readOnly) return (0, _text["default"])(labels.join('; '));
return _react["default"].createElement(CheckGroup, {
value: value,
options: options,
disabled: this.state.disabled,
onChange: this.handleChange
});
}
}, {
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'
};
return _react["default"].createElement("div", {
style: style
}, control);
}
}]);
return CheckboxGroup;
}(_react.Component);
exports["default"] = CheckboxGroup;
//# sourceMappingURL=checkboxgroup.js.map