ming-demo3
Version:
mdf metaui web
210 lines (177 loc) • 6.83 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 CheckboxEnum = function (_Component) {
(0, _inherits2["default"])(CheckboxEnum, _Component);
function CheckboxEnum(props) {
var _this;
(0, _classCallCheck2["default"])(this, CheckboxEnum);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CheckboxEnum).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCheckAllChange", function (e) {
if (_this.props.model) _this.props.model.select(e.target.checked ? _this.plainOptions : []);
_this.setState({
indeterminate: false,
checkAll: e.target.checked
});
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (checkedValues) {
if (_this.props.model) _this.props.model.select(checkedValues);
_this.setState({
indeterminate: !!checkedValues.length && checkedValues.length < _this.plainOptions.length,
checkAll: checkedValues.length === _this.plainOptions.length
});
});
var cStyle = props.cStyle;
var config = null;
if (cStyle) {
try {
config = JSON.parse(cStyle);
} catch (e) {
config = {};
}
}
_this.state = Object.assign({
bIsNull: props.bIsNull,
indeterminate: false,
checkAll: false,
visible: true
}, config);
return _this;
}
(0, _createClass2["default"])(CheckboxEnum, [{
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: "setListenerState",
value: function setListenerState(params) {
var _this2 = this;
var valueField = params.valueField,
textField = params.textField,
value = params.value,
dataSource = params.dataSource;
this.valueField = valueField;
this.textField = textField;
this.plainOptions = [];
if (dataSource && dataSource.length) {
dataSource.forEach(function (item) {
_this2.plainOptions.push(item[valueField]);
});
}
delete params.valueField;
delete params.textField;
delete params.value;
this.setState(params);
this.setValue(value);
}
}, {
key: "setValue",
value: function setValue(value) {
var _this3 = this;
var keys = [];
if (cb.utils.isArray(value)) {
value.forEach(function (item) {
if (!item) return;
keys.push(item[_this3.valueField]);
});
} else {
if (value && !cb.utils.isEmpty(value[this.valueField])) keys.push(value[this.valueField]);
}
this.setState({
value: keys
});
}
}, {
key: "baseControl",
value: function baseControl() {
var _this4 = this;
var _this$state = this.state,
dataSource = _this$state.dataSource,
value = _this$state.value,
readOnly = _this$state.readOnly,
disabled = _this$state.disabled,
indeterminate = _this$state.indeterminate,
checkAll = _this$state.checkAll,
after = _this$state.after,
bottom = _this$state.bottom;
var options = [];
var labels = [];
dataSource && dataSource.forEach(function (item, index) {
var label = item[_this4.textField];
var itemValue = item[_this4.valueField];
options.push({
label: label,
value: itemValue,
disabled: item.disabled
});
if (value && value.indexOf(itemValue) > -1) labels.push(label);
});
if (readOnly) return (0, _text["default"])(labels.join('; '));
var com = _react["default"].createElement("div", null, _react["default"].createElement("div", {
style: {
"float": 'left'
}
}, _react["default"].createElement(CheckGroup, {
value: value,
options: options,
disabled: disabled,
onChange: this.handleChange
})));
if (!after && !bottom) return com;
return _react["default"].createElement("div", {
className: "checkboxenum-placeholder"
}, _react["default"].createElement("div", null, com, after && _react["default"].createElement("span", null, after)), bottom && _react["default"].createElement("div", {
className: "checkboxenum-bottom"
}, bottom));
}
}, {
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(_baseui.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 CheckboxEnum;
}(_react.Component);
exports["default"] = CheckboxEnum;
//# sourceMappingURL=checkboxenum.js.map