antd
Version:
An enterprise-class UI design language and React-based implementation
163 lines (129 loc) • 5.61 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _tooltip = require('../tooltip');
var _tooltip2 = _interopRequireDefault(_tooltip);
var _icon = require('../icon');
var _icon2 = _interopRequireDefault(_icon);
var _button = require('../button');
var _button2 = _interopRequireDefault(_button);
var _splitObject3 = require('../_util/splitObject');
var _splitObject4 = _interopRequireDefault(_splitObject3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var Popconfirm = function (_React$Component) {
(0, _inherits3["default"])(Popconfirm, _React$Component);
function Popconfirm(props) {
(0, _classCallCheck3["default"])(this, Popconfirm);
var _this = (0, _possibleConstructorReturn3["default"])(this, _React$Component.call(this, props));
_this.confirm = function () {
_this.setVisible(false);
var onConfirm = _this.props.onConfirm;
if (onConfirm) {
onConfirm.call(_this);
}
};
_this.cancel = function () {
_this.setVisible(false);
var onCancel = _this.props.onCancel;
if (onCancel) {
onCancel.call(_this);
}
};
_this.onVisibleChange = function (visible) {
_this.setVisible(visible);
};
_this.state = {
visible: false
};
return _this;
}
Popconfirm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
if ('visible' in nextProps) {
this.setState({ visible: nextProps.visible });
}
};
Popconfirm.prototype.setVisible = function setVisible(visible) {
if (!('visible' in this.props)) {
this.setState({ visible: visible });
}
var onVisibleChange = this.props.onVisibleChange;
if (onVisibleChange) {
onVisibleChange(visible);
}
};
Popconfirm.prototype.render = function render() {
var _splitObject = (0, _splitObject4["default"])(this.props, ['prefixCls', 'title', 'placement']),
_splitObject2 = (0, _slicedToArray3["default"])(_splitObject, 2),
_splitObject2$ = _splitObject2[0],
prefixCls = _splitObject2$.prefixCls,
title = _splitObject2$.title,
placement = _splitObject2$.placement,
restProps = _splitObject2[1];
var _props = this.props,
okText = _props.okText,
cancelText = _props.cancelText;
if (this.context.antLocale && this.context.antLocale.Popconfirm) {
okText = okText || this.context.antLocale.Popconfirm.okText;
cancelText = cancelText || this.context.antLocale.Popconfirm.cancelText;
}
var overlay = _react2["default"].createElement(
'div',
null,
_react2["default"].createElement(
'div',
{ className: prefixCls + '-inner-content' },
_react2["default"].createElement(
'div',
{ className: prefixCls + '-message' },
_react2["default"].createElement(_icon2["default"], { type: 'exclamation-circle' }),
_react2["default"].createElement(
'div',
{ className: prefixCls + '-message-title' },
title
)
),
_react2["default"].createElement(
'div',
{ className: prefixCls + '-buttons' },
_react2["default"].createElement(
_button2["default"],
{ onClick: this.cancel, type: 'ghost', size: 'small' },
cancelText || '取消'
),
_react2["default"].createElement(
_button2["default"],
{ onClick: this.confirm, type: 'primary', size: 'small' },
okText || '确定'
)
)
)
);
return _react2["default"].createElement(_tooltip2["default"], (0, _extends3["default"])({}, restProps, { prefixCls: prefixCls, placement: placement, onVisibleChange: this.onVisibleChange, visible: this.state.visible, overlay: overlay }));
};
return Popconfirm;
}(_react2["default"].Component);
exports["default"] = Popconfirm;
Popconfirm.defaultProps = {
prefixCls: 'ant-popover',
transitionName: 'zoom-big',
placement: 'top',
trigger: 'click'
};
Popconfirm.contextTypes = {
antLocale: _react2["default"].PropTypes.object
};
module.exports = exports['default'];
;