UNPKG

shineout

Version:

Shein 前端组件库

138 lines (109 loc) 4.68 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _Panel = _interopRequireDefault(require("./Panel")); var _Button = _interopRequireDefault(require("../Button")); var _Alert = _interopRequireDefault(require("../Alert")); var _component = require("../component"); var _styles = require("./styles"); var _locale = require("../locale"); var DefaultProps = { type: 'confirmwarning', icon: true, okType: 'danger' }; var Confirm = /*#__PURE__*/ function (_Component) { (0, _inheritsLoose2.default)(Confirm, _Component); function Confirm(props) { var _this; _this = _Component.call(this, props) || this; (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleCancel", void 0); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleOk", void 0); _this.state = { ok: false, cancel: false }; _this.handleCancel = _this.handleClick.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), 'cancel'); _this.handleOk = _this.handleClick.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), 'ok'); return _this; } var _proto = Confirm.prototype; _proto.handleClick = function handleClick(type, close) { var _this2 = this; var _this$props = this.props, onOk = _this$props.onOk, onCancel = _this$props.onCancel; var fn = type === 'ok' ? onOk : onCancel; var callback; if (fn) callback = fn(); if (callback && typeof callback.then === 'function') { var _this$setState; this.setState((_this$setState = {}, _this$setState[type] = true, _this$setState), function () { ; callback.then(function () { var _this2$setState; close(); _this2.setState((_this2$setState = {}, _this2$setState[type] = false, _this2$setState)); }); }); } else { close(); } }; _proto.render = function render() { var _this3 = this; var _this$props2 = this.props, children = _this$props2.children, _this$props2$type = _this$props2.type, type = _this$props2$type === void 0 ? DefaultProps.type : _this$props2$type, text = _this$props2.text, onOk = _this$props2.onOk, okType = _this$props2.okType, onCancel = _this$props2.onCancel, icon = _this$props2.icon, other = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, ["children", "type", "text", "onOk", "okType", "onCancel", "icon"]); var _this$state = this.state, ok = _this$state.ok, cancel = _this$state.cancel; return _react.default.createElement(_Panel.default, (0, _extends2.default)({}, other, { trigger: "click" }), function (close) { return _react.default.createElement("div", { className: (0, _styles.popoverClass)('confirm') }, _react.default.createElement("div", { className: (0, _styles.popoverClass)('mention') }, _react.default.createElement(_Alert.default, { type: type, icon: icon, className: (0, _styles.popoverClass)('alert') }, children)), _react.default.createElement("div", { className: (0, _styles.popoverClass)('footer') }, _react.default.createElement(_Button.default, { loading: cancel, size: "small", onClick: function onClick() { return _this3.handleCancel(close); } }, (0, _locale.getLocale)('cancel', text)), _react.default.createElement(_Button.default, { loading: ok, size: "small", type: okType, onClick: function onClick() { return _this3.handleOk(close); } }, (0, _locale.getLocale)('ok', text)))); }); }; return Confirm; }(_component.Component); exports.default = Confirm; (0, _defineProperty2.default)(Confirm, "defaultProps", DefaultProps);