ming-demo3
Version:
mdf metaui web
185 lines (154 loc) • 6.15 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 _classnames = _interopRequireDefault(require("classnames"));
var DropdownButtonGroupControl = function (_Component) {
(0, _inherits2["default"])(DropdownButtonGroupControl, _Component);
function DropdownButtonGroupControl(props) {
var _this;
(0, _classCallCheck2["default"])(this, DropdownButtonGroupControl);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(DropdownButtonGroupControl).call(this, props));
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "setVisible", function (e, key) {
console.log('setVisible', e, key);
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (key) {
var model = _this.props.model;
if (model) {
model.getParent().get(key).fireEvent('click');
}
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isDisabledSub", function (cItemName) {
return _this.state.stateDisabledArr[cItemName];
});
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loopDropDownCard", function () {
var controls = _this.props.controls;
var wrap = [];
var isDropdown = Array.isArray(controls);
if (isDropdown) {
var _loop = function _loop(i) {
var subwrap = [];
var _loop2 = function _loop2(j) {
subwrap.push(_react["default"].createElement("dd", null, _react["default"].createElement("label", {
className: (0, _classnames["default"])({
'disabled': _this.isDisabledSub(controls[i].controls[j].cItemName)
}),
onClick: function onClick() {
return _this.onClick(controls[i].controls[j].cItemName);
}
}, controls[i].controls[j].cShowCaption)));
};
for (var j = 0; j < controls[i].controls.length; j++) {
_loop2(j);
}
wrap.push(_react["default"].createElement("dl", null, _react["default"].createElement("dt", null, controls[i].cShowCaption), subwrap));
};
for (var i = 0; i < controls.length; i++) {
_loop(i);
}
}
return wrap;
});
_this.state = {
disabled: props.disabled,
data: props.controls,
stateDisabledArr: new Array()
};
return _this;
}
(0, _createClass2["default"])(DropdownButtonGroupControl, [{
key: "componentDidMount",
value: function componentDidMount() {
if (this.props.model) {
this.props.model.addListener(this);
this.recursive(this.state.data, function (key) {
var model = this.props.model.getParent().get(key);
if (model) {
model.addListener(this);
}
});
}
}
}, {
key: "componentDidUpdate",
value: function componentDidUpdate() {}
}, {
key: "componentWillUnmount",
value: function componentWillUnmount() {
if (this.props.model) {
this.props.model.removeListener(this);
this.recursive(this.state.data, function (key) {
var model = this.props.model.getParent().get(key);
if (model) {
model.removeListener(this);
}
});
}
}
}, {
key: "setDisabled",
value: function setDisabled(e, key) {
console.log('setDisabled', e, key);
var model = this.props.model.getParent().get(key);
var _stateDisabledArr = this.state.stateDisabledArr;
if (model) {
if (e) {
model.removeListener(this);
_stateDisabledArr[key] = true;
} else {
model.addListener(this);
_stateDisabledArr[key] = false;
}
this.setState({
stateDisabledArr: _stateDisabledArr
});
}
}
}, {
key: "recursive",
value: function recursive(data, callback) {
data.forEach(function (item) {
callback.call(this, item.cItemName, item);
if (item.controls) this.recursive(item.controls, callback);
}, this);
}
}, {
key: "render",
value: function render() {
var value = this.props.value;
var menu = _react["default"].createElement("div", {
className: "dropdown-button-group-container"
}, _react["default"].createElement("div", {
className: "dropdown-button-group-item"
}, this.loopDropDownCard()));
return _react["default"].createElement(_baseui.Popover, {
placement: "bottomRight",
content: menu,
trigger: "click"
}, _react["default"].createElement(_baseui.Button, {
className: "no-border-radius m-l-10"
}, value, " ", _react["default"].createElement(_baseui.Icon, {
type: "down",
style: {
"fontSize": "12px"
}
})));
}
}]);
return DropdownButtonGroupControl;
}(_react.Component);
var _default = DropdownButtonGroupControl;
exports["default"] = _default;
//# sourceMappingURL=dropdownbuttongroup.js.map
;