UNPKG

ming-demo3

Version:
177 lines (149 loc) 6.03 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); 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 _debounce2 = _interopRequireDefault(require("lodash/debounce")); var _react = _interopRequireDefault(require("react")); var _baseui = require("@mdf/baseui"); var _SvgIcon = _interopRequireDefault(require("@mdf/metaui-web/lib/components/common/SvgIcon")); var _classnames = _interopRequireDefault(require("classnames")); var _extend = require("@mdf/cube/lib/extend"); var ButtonControl = function (_React$Component) { (0, _inherits2["default"])(ButtonControl, _React$Component); function ButtonControl(props) { var _this; (0, _classCallCheck2["default"])(this, ButtonControl); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ButtonControl).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function () { if (_this.state.onClick) { _this.state.onClick((0, _assertThisInitialized2["default"])(_this)); } else { if (_this.props.model) _this.props.model.fireEvent('click'); } }); var cStyle = props.cStyle, cParameter = props.cParameter; var config = null; if (cStyle || cParameter) { try { config = JSON.parse(cStyle || cParameter); } catch (e) { config = {}; } } _this.state = Object.assign({ disabled: _this.props.disabled, visible: true, value: _this.props.value, type: _this.props.type, size: 'default', icon: _this.props.icon, shape: _this.props.shape, className: _this.props.className, icontype: _this.props.iconType, onClick: _this.props.onClick }, config); return _this; } (0, _createClass2["default"])(ButtonControl, [{ key: "componentDidMount", value: function componentDidMount() { if (this && this.props && this.props.model) { this.props.model.addListener(this); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this && this.props && this.props.model) { this.props.model.removeListener(this); } } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this && this.props && this.props.model) { this.props.model.addListener(this); } } }, { key: "setListenerState", value: function setListenerState(params) { this.setState(params); if (this.props.onVisibleChange) { var visible = params.visible; if (visible == null) visible = true; this.props.onVisibleChange(visible); } } }, { key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) {} }, { key: "setVisible", value: function setVisible(visible) { this.setState({ visible: visible }); if (this.props.onVisibleChange) this.props.onVisibleChange(visible); } }, { key: "render", value: function render() { if (!this.state.visible) return null; var style = this.state.visible ? {} : { display: "none" }; if (this.props.model) { var icon = this.props.iStyle === 1 ? null : this.props.icon; var text = this.props.iStyle === 2 ? null : this.state.value; var iconCom = icon ? _react["default"].createElement(_SvgIcon["default"], { className: "icon-" + icon, type: icon + (this.state.disabled ? "-disabled" : "") }) : null; if (this.state.icontype === 'iconfont') iconCom = icon ? _react["default"].createElement(_baseui.Icon, { type: icon }) : null; if (this.state.popoverKey) { var ComName = _extend.extendComp.popover[this.state.popoverKey]; if (!ComName) return null; return _react["default"].createElement(ComName, { model: this.props.model }, _react["default"].createElement(_baseui.Button, { className: "no-border-radius" }, iconCom, text)); } var onClick = this.props.delay ? (0, _debounce2["default"])(this.onClick, 300) : this.onClick; return _react["default"].createElement(_baseui.Button, { style: style, disabled: this.state.disabled, type: this.state.type, shape: this.state.shape, size: this.state.size, className: (0, _classnames["default"])(this.state.className, this.state.classname, icon && 'icon-normal-width'), onClick: onClick, id: this.props.id }, iconCom, text); } else { var _onClick = this.props.delay && this.props.onClick ? (0, _debounce2["default"])(this.props.onClick, 300) : this.props.onClick; return _react["default"].createElement(_baseui.Button, (0, _extends2["default"])({}, this.props, { disabled: this.state.disabled, onClick: _onClick })); } } }]); return ButtonControl; }(_react["default"].Component); exports["default"] = ButtonControl; //# sourceMappingURL=button.js.map