tplus-pos
Version:
pos module
144 lines (111 loc) • 4.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
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 _reactDom = require('react-dom');
var _outy = require('outy');
var _outy2 = _interopRequireDefault(_outy);
var _popover = require('../components/popover');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Popover = function (_PureComponent) {
(0, _inherits3.default)(Popover, _PureComponent);
function Popover() {
var _ref;
var _temp, _this, _ret;
(0, _classCallCheck3.default)(this, Popover);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Popover.__proto__ || (0, _getPrototypeOf2.default)(Popover)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
isOpen: false
}, _this._setOutsideTap = function () {
var elements = [_this.target];
if (_this.popper) {
elements.push(_this.popper);
}
if (_this.outsideTap) {
_this.outsideTap.remove();
}
_this.outsideTap = (0, _outy2.default)(elements, ['click', 'touchstart'], _this._handleOutsideTap);
}, _this._handleOutsideTap = function () {
_this.setState({ isOpen: false });
}, _this.handleClick = function () {
_this.setState(function (prevState) {
return {
isOpen: !prevState.isOpen
};
});
}, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
}
(0, _createClass3.default)(Popover, [{
key: 'componentDidMount',
value: function componentDidMount() {
this._setOutsideTap();
}
}, {
key: 'componentDidUpdate',
value: function componentDidUpdate(lastProps, lastState) {
var _this2 = this;
if (lastState.isOpen !== this.state.isOpen) {
setTimeout(function () {
return _this2._setOutsideTap();
});
}
}
}, {
key: 'componentWillUnmount',
value: function componentWillUnmount() {
this.outsideTap.remove();
}
}, {
key: 'render',
value: function render() {
var _this3 = this;
var content = this.props.content;
return _react2.default.createElement(
'div',
null,
_react2.default.createElement(
_popover.Manager,
null,
_react2.default.createElement(
_popover.Target,
{
innerRef: function innerRef(c) {
return _this3.target = (0, _reactDom.findDOMNode)(c);
},
className: 'valuetext',
onClick: this.handleClick
},
'\u5546\u54C1\u660E\u7EC6'
),
this.state.isOpen && _react2.default.createElement(
_popover.Popper,
{
className: 'popper'
// component={CustomPopper}
, innerRef: function innerRef(c) {
_this3.popper = (0, _reactDom.findDOMNode)(c);
} },
content
)
)
);
}
}]);
return Popover;
}(_react.PureComponent);
exports.default = Popover;
//# sourceMappingURL=popover.js.map