UNPKG

antd

Version:

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

140 lines (130 loc) 5.14 kB
import _extends from 'babel-runtime/helpers/extends'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; var __rest = this && this.__rest || function (s, e) { var t = {}; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; }if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; }return t; }; import React from 'react'; import Tooltip from '../tooltip'; import Icon from '../icon'; import Button from '../button'; import injectLocale from '../locale-provider/injectLocale'; var Popconfirm = function (_React$Component) { _inherits(Popconfirm, _React$Component); function Popconfirm(props) { _classCallCheck(this, Popconfirm); var _this = _possibleConstructorReturn(this, (Popconfirm.__proto__ || Object.getPrototypeOf(Popconfirm)).call(this, props)); _this.onConfirm = function (e) { _this.setVisible(false); var onConfirm = _this.props.onConfirm; if (onConfirm) { onConfirm.call(_this, e); } }; _this.onCancel = function (e) { _this.setVisible(false); var onCancel = _this.props.onCancel; if (onCancel) { onCancel.call(_this, e); } }; _this.onVisibleChange = function (visible) { _this.setVisible(visible); }; _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.refs.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: 'render', value: function render() { var _a = this.props, prefixCls = _a.prefixCls, title = _a.title, placement = _a.placement, okText = _a.okText, okType = _a.okType, cancelText = _a.cancelText, restProps = __rest(_a, ["prefixCls", "title", "placement", "okText", "okType", "cancelText"]); var popconfirmLocale = this.getLocale(); var overlay = React.createElement( 'div', null, React.createElement( 'div', { className: prefixCls + '-inner-content' }, React.createElement( 'div', { className: prefixCls + '-message' }, React.createElement(Icon, { type: 'exclamation-circle' }), React.createElement( 'div', { className: prefixCls + '-message-title' }, title ) ), React.createElement( 'div', { className: prefixCls + '-buttons' }, React.createElement( Button, { onClick: this.onCancel, size: 'small' }, cancelText || popconfirmLocale.cancelText ), React.createElement( Button, { onClick: this.onConfirm, type: okType, size: 'small' }, okText || popconfirmLocale.okText ) ) ) ); return React.createElement(Tooltip, _extends({}, restProps, { prefixCls: prefixCls, placement: placement, onVisibleChange: this.onVisibleChange, visible: this.state.visible, overlay: overlay, ref: 'tooltip' })); } }]); return Popconfirm; }(React.Component); Popconfirm.defaultProps = { prefixCls: 'ant-popover', transitionName: 'zoom-big', placement: 'top', trigger: 'click', okType: 'primary' }; var injectPopconfirmLocale = injectLocale('Popconfirm', { cancelText: '取消', okText: '确定' }); export default injectPopconfirmLocale(Popconfirm);