UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

178 lines (152 loc) 5.33 kB
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _extends from "@babel/runtime/helpers/extends"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _createSuper from "@babel/runtime/helpers/createSuper"; var _excluded = ["placement"]; import React, { Component } from 'react'; import Tooltip from '../tooltip'; import Icon from '../icon'; import Button from '../button'; import LocaleReceiver from '../locale-provider/LocaleReceiver'; import defaultLocale from '../locale-provider/default'; import { Size } from '../_util/enum'; import ConfigContext from '../config-provider/ConfigContext'; var Popconfirm = /*#__PURE__*/function (_Component) { _inherits(Popconfirm, _Component); var _super = _createSuper(Popconfirm); function Popconfirm(props) { var _this; _classCallCheck(this, Popconfirm); _this = _super.call(this, props); _this.onConfirm = function (e) { _this.setVisible(false); var onConfirm = _this.props.onConfirm; if (onConfirm) { onConfirm.call(_assertThisInitialized(_this), e); } }; _this.onCancel = function (e) { _this.setVisible(false); var onCancel = _this.props.onCancel; if (onCancel) { onCancel.call(_assertThisInitialized(_this), e); } }; _this.onVisibleChange = function (visible) { _this.setVisible(visible); }; _this.saveTooltip = function (node) { _this.tooltip = node; }; _this.renderOverlayWithLocale = function (popconfirmLocale) { var _this$props = _this.props, title = _this$props.title, cancelText = _this$props.cancelText, okText = _this$props.okText, okType = _this$props.okType, iconType = _this$props.iconType, okButtonProps = _this$props.okButtonProps, cancelButtonProps = _this$props.cancelButtonProps; var prefixCls = _this.getPrefixCls(); return /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-inner-content") }, /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-message") }, /*#__PURE__*/React.createElement(Icon, { type: iconType }), /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-message-title") }, typeof title === 'function' ? title() : title)), /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-buttons") }, /*#__PURE__*/React.createElement(Button, _extends({}, okButtonProps, { onClick: _this.onCancel, size: Size.small }), cancelText || popconfirmLocale.cancelText), /*#__PURE__*/React.createElement(Button, _extends({}, cancelButtonProps, { onClick: _this.onConfirm, type: okType, size: Size.small }), okText || popconfirmLocale.okText))); }; _this.renderLocale = function () { return /*#__PURE__*/React.createElement(LocaleReceiver, { componentName: "Popconfirm", defaultLocale: defaultLocale.Popconfirm }, _this.renderOverlayWithLocale); }; _this.state = { visible: props.visible }; return _this; } _createClass(Popconfirm, [{ key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if ('visible' in nextProps) { this.setState({ visible: nextProps.visible }); } } }, { key: "getPopupDomNode", value: function getPopupDomNode() { return this.tooltip.getPopupDomNode(); } }, { key: "setVisible", value: function setVisible(visible) { var props = this.props; if (!('visible' in props)) { this.setState({ visible: visible }); } var onVisibleChange = props.onVisibleChange; if (onVisibleChange) { onVisibleChange(visible); } } }, { key: "getPrefixCls", value: function getPrefixCls() { var prefixCls = this.props.prefixCls; var getPrefixCls = this.context.getPrefixCls; return getPrefixCls('popover', prefixCls); } }, { key: "render", value: function render() { var _this$props2 = this.props, placement = _this$props2.placement, restProps = _objectWithoutProperties(_this$props2, _excluded); var visible = this.state.visible; return /*#__PURE__*/React.createElement(Tooltip, _extends({}, restProps, { prefixCls: this.getPrefixCls(), placement: placement, onVisibleChange: this.onVisibleChange, visible: visible, overlay: this.renderLocale, ref: this.saveTooltip })); } }], [{ key: "contextType", get: function get() { return ConfigContext; } }]); return Popconfirm; }(Component); export { Popconfirm as default }; Popconfirm.displayName = 'Popconfirm'; Popconfirm.defaultProps = { transitionName: 'zoom-big', placement: 'top', trigger: 'click', okType: 'primary', iconType: 'warning' }; //# sourceMappingURL=index.js.map