ming-demo3
Version:
mdf metaui web
110 lines (88 loc) • 2.93 kB
JavaScript
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 _inherits2 = _interopRequireDefault(require("babel-runtime/helpers/inherits"));
var _react = _interopRequireDefault(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _baseui = require("@mdf/baseui");
var ActionButton = function (_React$Component) {
(0, _inherits2["default"])(ActionButton, _React$Component);
function ActionButton(props) {
(0, _classCallCheck2["default"])(this, ActionButton);
var _this = (0, _possibleConstructorReturn2["default"])(this, (ActionButton.__proto__ || Object.getPrototypeOf(ActionButton)).call(this, props));
_this.onClick = function () {
var _this$props = _this.props,
actionFn = _this$props.actionFn,
closeModal = _this$props.closeModal;
if (actionFn) {
var ret = void 0;
if (actionFn.length) {
ret = actionFn(closeModal);
} else {
ret = actionFn();
if (!ret) {
closeModal();
}
}
if (ret && ret.then) {
_this.setState({
loading: true
});
ret.then(function () {
closeModal.apply(undefined, arguments);
}, function () {
_this.setState({
loading: false
});
});
}
} else {
closeModal();
}
};
_this.state = {
loading: false
};
return _this;
}
(0, _createClass2["default"])(ActionButton, [{
key: 'componentDidMount',
value: function componentDidMount() {
if (this.props.autoFocus) {
var $this = _reactDom["default"].findDOMNode(this);
this.timeoutId = setTimeout(function () {
return $this.focus();
});
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
clearTimeout(this.timeoutId);
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
type = _props.type,
children = _props.children;
var loading = this.state.loading;
return _react["default"].createElement(_baseui.Button, {
type: type,
size: 'large',
onClick: this.onClick,
loading: loading
}, children);
}
}]);
return ActionButton;
}(_react["default"].Component);
var _default = ActionButton;
exports["default"] = _default;
//# sourceMappingURL=ActionButton.js.map
;